我的问题:我有很多分支,每个分支都有自己的数据库。但是,它们的数据库结构是相同的,只有每个分支中的数据不同。因为客户端需要知道彼此的数据,所以我在服务器中也有一个“主”或“中央”数据库,其作用是通过存储客户端数据库中发生的所有更改来帮助客户端数据库同步彼此的内容。 / p>
您可能会问“为什么在客户端直接连接到服务器的服务器中没有单个数据库,而不是拥有客户端数据库的重复副本?”。答案是,客户端计算机并不总是可用于服务器的连接。由于互联网连接有时可能会中断,我需要在本地存储更改,然后在连接可用时与服务器同步。之后,客户端连接到服务器以维护最新数据。
我需要一些解决方案来跟踪本地发生的所有变化。上述设计是否可行?有更好的\更容易的解决方案吗?如果合适,我该如何执行同步工作?
答案 0 :(得分:1)
您需要了解SQL Server Replication。这个主题非常广泛,您需要花几天时间阅读才能确定正确的解决方案。您必须确定复制策略(Transactional或Merge),拓扑以及vertical and horizontal partitioning等各种其他复制方面。它可能像总部的发布者数据库一样简单,每个分支都有合并订阅者。
不要试图重新发明轮子。在那座桥下有许多非常危险的龙。