Create "Linked Server" to your target server,to send data from one to the other.
To create a linked server you need to use the system stored procedure
sp_addlinkedserver
(you can also do it through SQL Server Management Studio).
e.g:
EXEC sp_addlinkedserver @server=N'S1_instance1', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'S1\instance1';
You can view if your linked server has been created by querying sys.servers
select * from sys.servers
Now for the trigger updating only data which hasn't been handled before. There are many ways you can do this. If your source table has an 'update date' type column, you can do it based on that. Alternatively, if your table has an identity column and you want to copy data incrementally you can store in a table the 'last id' which is copied over each time, then on the next run of the trigger you can tell it to start from that id+1 that way rows are only transferred once.
it might have performance and reliability implications.
you can write query like this:
CREATE TRIGGER urTrigger ON Table AFTER INSERT, UPDATE AS
BEGIN
INSERT INTO Table values ()
INSERT INTO [AnotherSERVERNAME].[DATABASE NAME].dbo.[Table] values()
Hope you will have some direction now.
Thanks