与Server的脱机数据库同步

时间:2009-10-28 10:07:45

标签: .net synchronization microsoft-sync-framework

我们有一个客户端 - 服务器架构,当客户端远程连接到服务器时,它会脱机。服务器本质上是一个SQL Server 2008,几个表都有数千条记录。每个客户端应用程序(WPF)都需要存储服务器数据的副本以供脱机使用(在SQL Express中?)。理想情况下,当客户端应用程序启动时,它会命中服务器以获取那里的新更改并同步其数据库以获得与服务器相同的数据(没有太多的用户交互)。

我正在寻找100%面向代码的解决方案,可以将其部署到远程客户端,而无需耗时的设置过程或需要用户干预才能完成。我曾使用Microsoft Sync Framework v1及其ADO.NET Sync Services来处理一年前的类似情况。它变成了一个关于表重组的噩梦,为每个其他更改跟踪场景编写SPROC,并且批处理也很痛苦。 Microsoft最近发布了一个具有一些新功能的Sync Framework的更新版本。我还没来得及评估这些功能。

是否有其他工具/技术可以将脱机数据库与服务器同步?欢迎提供样品,文档和建议。

2 个答案:

答案 0 :(得分:1)

您是否研究过SQL Server复制?可以设置几种类型的复制拓扑。您的“离线”数据库可以在断开连接的环境中输入数据,然后在服务器可用时将更改与服务器同步。这可以通过SQL Server作业或通过.NET RMO类调用来完成。

答案 1 :(得分:0)

我回到同步框架,这次将它与SQL Server 2008一起使用。结果更好,我能够通过WCF公开同步功能。查看详细代码here in SO