KB4568653 - 修正: IDENTITY 列を持つテーブルに明示的な ID 値を含む行を挿入し、IDENTITY_INSERTが既定でオフになっている場合、INSERT EXEC は機能しませんSQL Server

適用先
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 ステートメントを使用して、明示的な ID 値を含む行を、IDENTITY 列を持ち、IDENTITY_INSERTが Microsoft SQL Serverの既定でオフになっているテーブルに挿入することを想定しています。 INSERT EXEC ステートメントが正しく機能しないことがわかります。 予期される動作は、 ステートメントが失敗し、次のエラー メッセージを返します。

IDENTITY_INSERTが OFF に設定されている場合、テーブル '<TableName>' に ID 列の明示的な値を挿入できません

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

解決策

この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。

SQL Serverの累積的な更新プログラムについて:

SQL Serverの各新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれていたすべてのセキュリティ修正プログラムが含まれています。 SQL Serverの最新の累積的な更新プログラムを確認してください。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。