首页 > 解决方案 > 如何在 SQL Server 级别启用 Identity_insert

问题描述

在文章https://support.microsoft.com/en-us/help/4568653/fix-insert-exec-doesn-t-work-when-you-insert-row-containing-explicit-i 中说:

当您将包含显式标识值的行插入具有 IDENTITY 列的表中并且 IDENTITY_INSERT 在 SQL Server 中默认为 OFF 时,INSERT EXEC 不起作用

这意味着 IDENTITY_INSERT 可以在 SQL Server 中默认设置为 OFF,并以相同的方式设置为 ON。有人知道如何实现这一目标吗?

标签: sql-serverdatabasedatabase-administration

解决方案


您必须为要插入的任何表启用它,如下所示:

SET IDENTITY_INSERT [dbo].[tablename] ON

完成身份插入后,您必须禁用它

SET IDENTITY_INSERT [dbo].[tablename] OFF

禁用后,您可以为另一个表启用它

有关文档,请参见此处


推荐阅读