我要求客户端数据库更改应与服务器同步(集中)。所有客户端仅使用SQL Server Express,其中服务器是SQL Server 2008 R2。没有Microsoft Sync框架,我们有没有办法做到这一点?使用同步框架,所有数据从一开始就开始,这需要更长的时间。
答案 0 :(得分:1)
不知道可接受的延迟是什么,网络延迟/可靠性是什么,客户端是否已连接/断开,以及客户端所做的更改是否需要发送回服务器,假设您要发送增量更改,您有选项数据库和日志备份/还原,事务复制和合并复制。可能会有更多,但这些是更常见的解决方案,将同步两个服务器。
如果您正在寻找双向数据流,那么merge replication是合适的解决方案。
合并复制通常用于服务器到客户端环境。合并复制适用于以下任何情况:
- 多个订阅者可能会在不同时间更新相同的数据,并将这些更改传播到发布服务器和其他订阅服务器。
- 订阅者需要接收数据,脱机更改,以及稍后与发布者和其他订阅者同步更改。
- 每个订阅者都需要不同的数据分区。
- 可能会发生冲突,当发生冲突时,您需要具备检测和解决冲突的能力。
- 应用程序需要净数据更改而不是访问中间数据状态。例如,如果某行在订阅服务器与发布服务器同步之前更改了五次,则该行仅在发布服务器上更改一次以反映净数据更改(即第五个值)。