解决上载插入失败的合并冲突

时间:2014-10-28 20:46:33

标签: sql-server sql-server-2005 merge-replication

我在订阅服务器上创建了一系列未复制到发布服务器的行。冲突查看器显示冲突类型5(Upload insert failed),并显示以下错误:

  

' {subscriber}'无法传播到{Publisher}'。这种失败可能是由违反约束引起的。合并过程无法同步行。

如果我点击"提交失败者"要解决它,我收到此错误:

  

插入失败。它与数据库' {数据库}',复制表' {表}',列' {列}'中的身份范围检查约束相冲突。如果通过复制自动管理标识列,请按如下所示更新范围:对于Publisher,执行sp_adjustpublisheridentityrange;对于订阅服务器,运行分发代理程序或合并代理程序。   该语句已终止。 (Microsoft SQL Server,错误:548)

我已经运行sp_adjustpublisheridentityrange并且已成功复制创建的所有新行,但这些行仍然无法复制。保留在订阅者上创建的行ID非常重要,因此我无法删除并重新插入行。我该如何解决这些冲突?

1 个答案:

答案 0 :(得分:0)

这个问题实际上并不是由表A的标识列引起的,它是一个外键列。表B中的行,表A FK中的行也没有复制。我还不知道为什么那些行没有复制。

我通过更新表B的每一行中的值来触发复制,这导致复制看到更改并复制它们。复制后,表A中的每一行都正确复制,一切都再次同步。

相关问题