在线和本地SQL数据库同步

3
根据我的系统,我在局域网和在线数据库中维护了两个数据库。但是我想同步这两个数据库。我希望使用Microsoft Sync Framework来完成这些工作。http://msdn.microsoft.com/en-us/library/ee819079.aspx 我能否使用此方法同步本地和在线SQL数据库?或者有适合的方法可以做到这一点。谢谢。
1个回答

2
同步框架(Sync Framework)旨在为偶尔连接的系统设计,例如:只有每隔一天才能访问企业网络并更新其数据库的笔记本电脑,在没有企业网络访问权限时也需要正常工作。同步框架的配对通常是一个中央数据库(SQL Server)和设备上的本地内嵌 SQL Server Compact 或 SQL Express(例如笔记本电脑、手机、平板电脑等)。
如果数据库始终保持连接(例如两个服务器上的两个数据库,它们之间具有 24x7 的连通性,即使是通过互联网),则适当的技术是复制(replication)。可以使用合并(Merge)或事务性(Transactional)复制。理论上,复制在预期存在断开期间时也可以工作,但同步框架更加出色,并且最重要的是同步框架不像复制那样强烈依赖 DNS 名称(这对于偶尔连接的系统非常重要)。
同步数据库是一个模糊的术语,您必须考虑是否需要主从复制方案或主-主复制方案(后者非常难以实现),并且必须考虑要从数据库中复制哪些内容。您还需要考虑是否会稍后添加更多合作伙伴(需要“同步”的更多数据库)。现在,您需要对模式更改格外小心。

谢谢。我认为SQL复制是我的工作的最佳解决方案...是否可以使用在线和离线复制来完成? - TRS
1
这将在很大程度上取决于您对“在线和离线复制”的理解。虽然我可以猜测您的意思,但我更愿意您进行解释。这些术语并不是关于这些技术的标准术语,因此最好解释清楚。 - Remus Rusanu
我的一个数据库在虚拟专用服务器上,另一个数据库在本地机器上。我正在尝试同步这两个服务器。 - TRS
1
如果虚拟主机环境允许SQL复制,那么只要您的“本地”是固定名称(DNS名称不会更改),就不应该有问题。如果您的“本地”是移动的(即连接时更改DNS名称)或位于NAT后面,则Sync Framework是更好的选择。 VPN可以解决名称稳定性和NAT的两个问题。 - Remus Rusanu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接