【问题标题】:Merge Replication Primary Key Violation合并复制主键冲突
【发布时间】:2015-06-24 21:49:17
【问题描述】:

我有一个发布者和一个订阅者,有时它们会同时插入同一行,当我运行 JOB 进行合并复制时,我有一个 PRIMARY KEY 违规

我有一个UK (Col1, Col2)、一个PK (uniqueidentifier),而MERGE REPLICATION 添加了一个ROWGUID。问题在于,当它们同时添加(但未相互连接)时,它们会生成相同的 UK,但 ROWGUID 不同。我需要使用英国而不是ROWGUID。我没有使用 IDENTITY 列。

【问题讨论】:

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


    【解决方案1】:

    这是设计使然。可能会发生冲突。

    我认为您应该重新设计您的数据库以避免遇到此类冲突。例如,如果您有身份列,则在订阅者上重新播种它们以获得不同的范围。或者可以使用 SubscriberID 将第三列添加到 UK。就是这个想法。

    【讨论】:

    • 我无法重新设计我的表格,也没有使用标识列。
    • 您需要重新设计表格以避免冲突。
    • 但我无法重新设计,我有 113 个表链接。我读到我无法通过文章解析器解决 PR​​IMARY KEY 违规问题。我需要的只是设置发布者/订阅者以根据日期时间获胜。在解析器中,我可以选择一个“自定义解析器”来解决我的问题......但它不会因为 PK 违规而起作用。
    猜你喜欢
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    相关资源
    最近更新 更多