SQL事务发布错误:当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR...

来源:互联网 发布:编程入门 知乎 编辑:程序博客网 时间:2024/06/02 07:02

当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR REPLICATION 标识列中插入内容时,

必须为表 'test' 中的标识列指定显式值  lxg:NOT FOR REPLICATION='不用于复制'

 

lxg:

快照复制:整体复制

事务复制:差异复制,更新时可能触发触发器,对于使用发触发器的表可能发生错误或数据误差(比如Order_Status=0,当更新为1时,Customer Point 会重复积分)

可更新的事务复制:相当于事务性合并。

 

跟触发器有关,可能复制时,系统将I自增字段设为On,当事务性复制更新数据时触发Insert,于是提示上述错误。

解决方法:sp_check_for_sync_trigger ,详见http://msdn.microsoft.com/zh-cn/library/ms178612.aspx

 

如果不是发布,就

1.set identity_insert test on--取消自增


2.insert into test(ID,username) values(1003,'test'

 

3.set identity_insert test off--恢复自增
insert into test values('1010222')


---------sqlserver2005默认情况下表identity_insert为off

---------sqlserver2008初次使用时默认情况下表identity_insert为on

 

原创粉丝点击