同步两个本地和远程sql server数据库

时间:2014-11-13 08:20:55

标签: c# sql sql-server

当我的本地服务器连接到互联网然后两个数据库交换数据时,我希望以这种方式同步两台服务器。

我尝试过服务器数据库镜像但是我的要求差别不大

1)我希望主要和镜子同时出现

2)当本地服务器连接到互联网时,交换机会更新

3)本地用户连接到本地服务器,Web用户连接到远程服务器 什么是最好的方式?

由于

1 个答案:

答案 0 :(得分:1)

您需要做的是使用SQL Server Replication

这是一系列技术,允许您在SQL Server的几个不同实例中查询和修改数据,然后再同步它们。但它并不神奇。事实上它很难实施,因为有很多事情需要考虑:

  • 在多个独立服务器中生成唯一ID(以便它们之间不会发生冲突)
  • 控制一台服务器需要在另一台服务器上更新的内容,反之亦然
  • 解决冲突:例如,在上次同步后在两个不同服务器上更新的行

SQL Server Replication将帮助您管理所有这些问题,但您仍需要做一些工作才能正常工作。它提供了以下技术:

  • 行版本控制(以了解需要从另一台服务器同步的内容)
  • 为每个服务器保留PK范围(以避免服务器之间的PK冲突)
  • 使用GUIS for PKs(轻松解决以前的问题,但重载PK索引)
  • 使用publisher-suscriptor模式(以便一个服务器可以订阅其他服务器的更改)