KB4568653 - 修复:当您将包含显式标识值的行插入到具有 IDENTITY 列的表中并且IDENTITY_INSERT在 SQL Server 中默认关闭时,插入 EXEC 不起作用

应用对象
SQL Server 2019 on Windows SQL Server 2019 on Linux SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Linux SQL Server 2017 on Windows

症状

假设您使用 INSERT EXEC 语句将包含显式标识值的行插入到具有 IDENTITY 列的表中IDENTITY_INSERT在Microsoft SQL Server中默认为关闭。 您注意到 INSERT EXEC 语句无法正常工作。 预期行为是语句失败并返回以下错误消息:

当 IDENTITY_INSERT 设置为 OFF 时,无法在表“<TableName>”中插入标识列的显式值

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

解决方法

此问题已在 SQL Server 的以下累积更新中修复:

关于 SQL Server 的累积更新:

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

参考资料

了解 Microsoft 用于描述软件更新的术语。