SQL Server - monitor changes on linked server
Are you looking to synchronize the data locally?  Ideally, you would accomplish this through some form of replication from the source.

If you have a local copy of all tables, you can create a script or stored procedure to check for records deleted, inserted, or updated by comparing to your copy of the data.  This would have to be done on a table by table basis.  If there are hundreds of tables, then this approach is probably not feasible.  

It helps if there is a time stamp of some sort on the table row.  That will assist in determining when an update occurred.  Inserts and deletes are easier as you just find records that exist at the source but not in the destination and vice versa.

Schedule your script to run at defined intervals via SQL Agent.