如何在SQL Server 2012中复制庞大的数据表

时间:2018-03-21 05:58:43

标签: sql-server sql-server-2012 database-replication merge-replication

我在两台服务器上拥有相同的数据库,并且我正在使用大约35个表的合并复制,并且它运行正常。

但是每当我添加2-3个表,大约有100万条记录时,复制会在一段时间/几天后中断。

我可以在同一个数据库上进行2次复制吗?对这35个表说1个复制,为2-3个新表说另一个?

请通过合并方法建议bulk table data replication的解决方案。

1 个答案:

答案 0 :(得分:0)

你的问题的答案是肯定的。您可以拥有2个或更多合并发布,这些发布可以同步同一数据库中的不同表。但是,您滥用术语复制。

当你说:

  

我可以在同一个表数据库上进行2次复制吗?对这35个表说1个复制,为2-3个表说另一个。

你可能想说:

  

我可以在同一个表数据库上执行2个发布。对这35个表说1 发布,为2-3个表说另一个。

因此,您需要做的是在发布者上创建一个新的合并发布,并将这2-3个大表添加为文章。然后订阅您的订阅者DB到这个新出版物。

您可以通过SSMS UI创建此新发布,也可以从现有合并发布生成脚本,然后手动更改名称和文章列表,并通过SSMS运行脚本。

如果这2-3张表不依赖于其他35表,我认为应该没有问题。但是,如果这2-3个表以某种方式依赖于其他35个表,或者您希望对那些参考其他表的2-3个表有文章过滤器,则可能需要进行一些额外的调整。例如,您可以选择不复制Foreign Ket约束等。

此外,如果您发布同步这2-3张表时遇到的实际错误,将会很有帮助。根据我的经验,我可以说复制可能非常脆弱,您应该做好准备用于深入调查合并代理错误报告/日志。

HTH。