I am working on a system where we are pulling records from a replication server and need to know when changes have occurred.
We would like to not have to touch the original server and only read from it, including not being allowed to enable change tracking. Can this be done?
If need be, we will simply pull all Record IDs every night and compare the two but it's certainly not the ideal solution considering we have tens of million of records.
I have seen this question:
The answer to it seems to be suggesting that the way to do this is to enable change tracking on the original server that is then replicated, which in my case is not an option.
Best Answer
if you can consider not only SQL Server options take a look at GoldenGate. We have a project to deliver content (ongoing changes) + change tracking from Oracle to Greenplum database. GoldenGate supports SQL Server as well, so idea and even parameter files for the processes are the same. On a high-level it looks like:
EXTRACT and PUMP processes are quite simple. The most interesting here is REPLICAT config:
This works well for hundreds of millions operations per day (including LOBs).
Hope it helps to get an idea of the one of the potential solution.