【发布时间】:2016-03-17 04:19:15
【问题描述】:
我的数据库中有一个表A_tbl。我在A_tbl 上创建了一个触发器来捕获插入的记录。触发器正在我的队列表B_tbl 中插入记录。此表有一个 Identity 列,其属性“不用于复制”为 1。
-
A_tbl(ID、名称、值)以Id为主键 -
B_tbl(uniqueId, Id) 与uniqueId作为Identity列
执行此操作的触发代码:
Insert into B_tbl (Id)
select i.Id from inserted
现在我的表“B”被复制到另一个数据库服务器,现在当我插入表“A”时,它导致了这个错误:
当 IDENTITY_INSERT 设置为 ON 或复制用户插入 NOT FOR REPLICATION 标识列时,必须为表“B_tbl”中的标识列指定显式值。 (来源:MSSQLServer,错误号:545)
请帮我解决这个问题。
【问题讨论】:
-
您确定要在插入语句中指定列列表吗?我认为您需要为特定表设置身份插入并通过触发器插入唯一ID值
-
求您分享表结构、触发代码
标签: sql sql-server database ssms database-replication