適用先
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

現象

Microsoft SQL Server 2008 R2、SQL Server 2012、または SQL Server 2014 で DML トリガーを含むテーブルがあり、そのトリガーで、挿入/削除されたテーブルを他のテーブルと結合するとします。 このテーブルで DML ステートメントを実行すると、トリガーのコンパイル中にアクセス違反が発生し、次のエラーが表示されることがあります。

現在のコマンドで重大なエラーが発生しました。 結果は破棄する必要があります。

さらに、次のエラーが SQL Server のエラーログに記録されます。

<date><time> spid # * * * * <FilePath に送信されたスタックダンプ><><spid # SqlDumpExceptionHandler: プロセス # 生成された致命的な例外 c0000005>。 SQL Server がこのプロセスを終了しています。<日付><時> spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *><>spid # *<date><1<のスタックダンプを開始してください::><><2 date><Time><5 spid # *><6 date><><9><0 spid # *><日付><3><4><spid # *><7 DATE><8><>spid # * 例外アドレス = 00000000009E4F2A モジュール (sqlservr.exe +) します。 00000000002D4F2A)<日付><時刻>spid # * の例外コード = c0000005 EXCEPTION_ACCESS_VIOLATION< date><><spid # *><><><>SQL_query_code spid # * の日付<Date><Time> 510

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

回避策

この問題を回避するには、挿入/削除されたテーブルを他のテーブルと結合するクエリで直接使わないでください。その場合は、一時テーブルにキャッシュし、クエリで temp テーブルを使用します。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。