Real time copying to another system is possible but it will potentially impact performance.
Since the data is in a sql server database, you can use standard sql mechanisms including triggers.
You could start up an ssis job from such a trigger, or write away lists of changed table/record ids using triggers then run a batch job every so often to pick the data up.
Another way would be to use log shipping, which is near real time rather than absolutely real time.
That's the way I'd consider first.
Every update to an entity goes through a pipeline.
You can register a piece of code to run and specify which entities to run it for.
I wrote a plug-in some time ago which was used to produce a changes audit trail for all entities.
You could use that approach to write all changes away to another database.