使用简单的插入语句,我试图使用具有自身定义的Identity属性的PK键将数据显式地插入表中。但是,当我运行下面的语句时,我收到了奇怪的错误消息
SET IDENTITY_INSERT MyDB.dbo.MyTable ON
Msg 8107,第16级,状态1,第163行表'MyDB.dbo。AnotherTable'的IDENTITY_INSERT已经打开。无法对表'MyDB.dbo。MyTable'。
执行SET操作。
为什么当为MyDB.dbo.AnotherTable
指定了Identity_Insert
时,为什么对MyDB.dbo.MyTable
抱怨?
某些其他表也给出类似的错误。
问题是我与服务器的SQL Server 2016连接。断开连接并重新连接后,一切正常!
在任何时候,会话中只有一个表的IDENTITY_INSERT属性可以设置为ON。
如果需要在多个表中插入明确的IDENTITY值,请确保在移至下一个表之前将上一个表的IDENTITY值设置为OFF。