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

当 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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值