我在HQ有一个数据库,在分支有另一个数据库。两个数据库都是相同的,所有模式都是相同的。它可能不止一个分支。
例如,分支有一个带有名为Sales的表的本地数据库,所有事务都将插入到表中。每天晚上,当商店关闭时,分支机构的所有销售信息将与HQ数据库同步。只会插入或更新不在HQ数据库中的记录。
如何在一个非常有效的方法中做到这一点,小而轻,在连接断开时重新连接,因为互联网带宽有限且不断下降。
如何使用最新产品和价格从总部同步到所有分支机构?
我应该写一个网络服务吗?
谢谢。
答案 0 :(得分:3)
我建议使用SQL Server复制。您不必编写任何代码。
http://msdn.microsoft.com/en-us/library/ms151198.aspx
复制是一组用于复制和分发数据的技术 和数据库对象从一个数据库到另一个数据库然后 在数据库之间同步以保持一致性。运用 复制,您可以将数据分发到不同的位置和 通过本地和广域网远程或移动用户拨号 连接,无线连接和互联网。
<强>更新强>
由于db已部署到客户端,因此无法进行复制,因为我将使用Sync Framework。
http://msdn.microsoft.com/en-us/sync/bb821992
Microsoft Sync Framework是一个全面的同步平台 为应用程序,服务和协作实现协作和离线 设备。开发人员可以构建同步生态系统 使用任何协议集成任何应用程序,任何商店的任何数据 通过任何网络。 Sync Framework提供了各种技术和工具 启用漫游,共享和离线数据。
答案 1 :(得分:0)
我来这里说“使用合并复制”,因为您所描述的内容或多或少是您实施它时的教科书示例。
答案 2 :(得分:0)
这两个位置是否位于同一本地网络中?你是否要求表格偶尔同步一次(例如每晚而不是实时)?
如果答案都是肯定的,那么您可以使用sql server的tablediff.exe命令行实用程序。它可以逐表,一次性比较两个表并自动生成sql,以便将dest同步到源。
它周围还有一个GUI包装器http://code.google.com/p/sqltablediff/,这使得工作变得更加容易。
答案 3 :(得分:0)
我过去使用 xSQL Software ,对结果非常满意。您可以在任一方向甚至两个方向上复制架构和/或数据。