有个问题请教各位大侠:
当在一个会话中使用SET IDENTITY_INSERT XXX ON 暂停一个表的自增列自增期间,另外一个会话中对该表insert记录时,会不会出错?就是说SET IDENTITY_INSERT XXX ON的作用范围是针对整个表还是仅仅在所在会话中有效?
谢谢!
当在一个会话中使用SET IDENTITY_INSERT XXX ON 暂停一个表的自增列自增期间,另外一个会话中对该表insert记录时,会不会出错?就是说SET IDENTITY_INSERT XXX ON的作用范围是针对整个表还是仅仅在所在会话中有效?
谢谢!
SET IDENTITY_INSERT XXX ON
SET IDENTITY_INSERT在其中有效
SET IDENTITY_INSERT XXX OFF
insert into ttt(id,name)
select 11,'aa'
/*
(所影响的行数为 1 行)
*/--开启另外一个进程执行insert
insert into ttt(id,name)
select 50,'aa'
/*
服务器: 消息 544,级别 16,状态 1,行 1
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'ttt' 中的标识列插入显式值。
*/drop table ttt--结论SET IDENTITY_INSERT ON/OFF对当前会话有效
因为要对一个正在使用的系统在后台进行一些数据恢复,恢复一个含自增列的表中一些被删除的数据,这样会不会影响系统的正常使用?