SQL Server 数据库同步是指将数据和数据库对象从一个数据库复制和分发到另一个数据库,然后在数据库间进行同步,以维持一致性。这种技术可以在局域网和广域网、拨号连接、无线连接和Internet上将数据分发到不同位置以及分发给远程或移动用户。
在 SQL Server 2008 中,数据库同步提供了三种复制方式:
1. 快照复制
快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将生成完整的快照并将其发送到订阅服务器。此过程不需要连续地监控数据变化,数据变化会周期性地被一次性复制。
2. 事务性复制
事务性复制通常从发布数据库对象和数据的快照开始。修改发生时(几乎实时)便会将数据更改传递给订阅服务器。事务性复制通常用于服务器到服务器环境中,例如:
* 希望增量更改时传播到订阅服务器
* 应用程序需要较短的滞后时间
* 发布服务器有大量插入、更新和删除活动
* 发布或订阅服务器不是 SQL Server 数据库(如 Oracle)
3. 合并复制
合并复制与事务性复制相似,但它允许订阅服务器在离线时进行修改并在网络连接时同步。这种方式适用于客户端环境,例如:
* 多个订阅服务器可能会在不同时间更新相同数据
* 订阅服务器需要脱机更改数据并稍后同步
* 每个订阅服务器需要不同的数据分区
* 需要检测和解决冲突
合并复制的实施步骤包括在发布服务器上建立发布,在订阅服务器上创建订阅,并通过触发器跟踪数据更改。