現象
Microsoft SQL Server 2014 でIDENTITY_INSERT を設定 して、temp テーブルを作成してテーブルにレコードを挿入できるストアドプロシージャがあるものとします。 プロシージャによって作成されたテーブルには id フィールドがあり、identity フィールドにはインデックスが付けられます。 2回目にプロシージャを実行すると、アクセス違反が発生します。 さらに、次のエラーが表示されます。
Msg 0、Level 11、State 0、Line 0A 重大なエラーが現在のコマンドで発生しました。 結果は破棄する必要があります。Msg 0、Level 20、State 0、Line 0A 重大なエラーが現在のコマンドで発生しました。 結果は破棄する必要があります。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 の累積更新プログラム2 /en-us/help/2967546
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
回避策
この問題を回避するには、[id] フィールドのインデックスを削除します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。