I currently run a c# web app with one SQL server (2016) database. However due to latency with the world (our server are currently in China), we were wondering the path to follow in order to be able to have a server and a database outside mainland china but with data synchronization.

So far, it appears that we need database replication across multiples servers. I already saw that there is MASTER / SLAVE database replication, but this seems not the solution since we need data synchronization between the two server (user in china will use chinese server / database and user outside china will use american server / database and since we have real time application, a data created in the chinese server / database need to be available in the american server / database and same in the other way around).

I look a bit more and saw that there is a different kind of replication such as peer to peer transactional replication (https://docs.microsoft.com/en-us/sql/relational-databases/replication/transactional/peer-to-peer-transactional-replication?view=sql-server-2017) but I also starting to realize that it looks complicated to setup this kind of things (for instance, no IDENTITY column).

I was wondering if I go in the right direction or not. Thanks for your help.

  • I believe you are right... P2P Transactional Replication is the best solution. You'll need Primary Keys on all replicated tables. After some experience, managing and troubleshooting won't be too difficult. – Mark E Sep 6 '18 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.