【问题标题】:Replication - Explicit value must be specified for identity column in table复制 - 必须为表中的标识列指定显式值
【发布时间】:2011-05-13 07:00:12
【问题描述】:

我正在使用合并复制。身份范围管理是自动的

我在 COMPANIES 表上有一个触发器,该触发器在 SERIALNUMBERSCHEME 表中插入行,其中 documentID 作为标识列

同步时出现错误

“SERVER\MUMBAI.PROD_SUB”处的行插入无法传播到“SERVER\NEWYORK.PROD”。此失败可能是由违反约束引起的。当 IDENTITY_INSERT 设置为 ON 或复制用户插入 NOT FOR REPLICATION 标识列时,必须为表“SerialNumberScheme”中的标识列指定显式值。

数据在订阅者处正确插入,但在发布者处未复制

任何解决方案/建议?

【问题讨论】:

    标签: sql sql-server database-administration


    【解决方案1】:

    听起来您的触发器在复制代理应用更新时被触发。通常触发器应该只在发布者(或更准确地说,在插入原始数据的站点)运行。然后复制将复制触发器的效果。我认为您只需将触发器标记为NOT FOR REPLICATION

    Controlling Constraints, Identities, and Triggers with NOT FOR REPLICATION

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 2022-01-27
      • 2018-11-19
      • 1970-01-01
      • 2023-04-08
      相关资源
      最近更新 更多