如何正确解决合并复制错误冲突

Ade*_*ata 12 sql-server sql-server-2008-r2 merge-replication

我们有 SQL Server 2008 R2 合并复制设置。

最近我开始遇到一些表的冲突,当我检查冲突查看器时,我可以看到获胜者和失败者列的值是相同的!

我确信只有一位订阅者输入了这些数据。

我曾经sp_showrowreplicainfo获得有关冲突行的更多详细信息,我得到了 2 行:一个用于发布者,另一行用于订阅者,两行的“版本”均为 1。

我还实现了 Brandon 的方法:Auditing changes in Merge Replication,但它只显示正常插入!

你能告诉我如何开始解决这种冲突吗?

小智 1

我在Brandon Williams的 Database Administrators 上找到了您问题的可靠答案:

如何解决SQL Server合并复制冲突?

布兰登说:

您需要检查冲突查看器并观察冲突类型和冲突的行值。需要注意的是,冲突获胜者列将显示从基表中提取的获胜行值。如果您考虑一下,这些值是不稳定的并且可能会发生变化,因此您在“冲突获胜者”列中看到的值可能不是冲突发生时的值,请记住这一点。冲突失败者列将显示从 MSmerge_conflict_publication_article 表中提取的失败行值,这些值是静态的。

如果您无法根据冲突查看器确定冲突的根本原因,您可能需要实施审核方案。我在审核合并复制中的更改中提供了如何执行此操作的示例。

您遇到错误冲突的可能性很小,但审核应该揭示是否存在这种情况。