复制 - 必须为表中的标识列指定显式值

时间:2010-11-21 04:10:45

标签: sql sql-server database-administration

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

我在SERIALNUMBERSCHEME表中插入了具有documentID作为标识列的公司表中的触发器

同步时我的误差低于

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

数据已正确插入订阅者,但未在发布商

复制

任何解决方案/建议?

1 个答案:

答案 0 :(得分:8)

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

请参阅Controlling Constraints, Identities, and Triggers with NOT FOR REPLICATION