MSSQL 2008在实时数据库上设置身份插入



我有一项工作需要每天更新表一次: -

SET IDENTITY INSERT ON

。但是,与此同时,其他用户正在使用此实时数据库和插入记录,必须使用SET IDENTITY INSERT OFF完成。

有什么办法可以运行该作业,同时仍允许用户插入记录?

没有问题。

设置身份插入的范围是session

因此,如果您使用了下一个代码:

SET IDENTITY_INSERT TableName ON
Insert statement ...

其他用户表示其他会话,因此,如果他们尝试插入身份,他们将获得下一个错误: -

无法在表'tablename'中插入身份列的明确值 当Identity_insert设置为关闭时。

来自msdn: -

任何时候, session 中只有一张表 属性设置为ON。如果表已经将此属性设置为ON, 并在另一个表上发布了语句上的sidentity_insert, SQL Server返回一个错误消息,该错误消息设置Identity_insert为 已经打开并报告该表的设置。

相关内容

最新更新