現象
次のシナリオを考えてみましょう。
• TRY..を含むストアド プロシージャがあります。 Microsoft SQL Server の CATCH コンストラクト。
• ストアド プロシージャには WITH RESULT SETS 句が含まれており、sp_prepare または sp_execute メソッドによって実行されます。
• END TRY セクションを実行する前に、ストアド プロシージャが削除されます。 これにより、"ストアド プロシージャの <SP_Name> が見つかりませんでした" のような 2812 エラーが発生します。
このような状況では、SQL Serverがクラッシュし、最終的にサーバーのシャットダウンにつながる可能性があるアクセス違反 (AV) が生成されます。 さらに、SQL Server エラー ログ フォルダーにダンプ ファイルが生成されます。
解決方法
この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。
SQL Server 2016 RTM の累積的な更新プログラム 7
SQL Server 2016 SP1 の累積的な更新プログラム 3
SQL Server 2014 SP2 の累積的な更新プログラム 6
SQL Serverの各新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれていたすべてのセキュリティ修正プログラムが含まれています。 SQL Serverの最新の累積的な更新プログラムを確認してください。
SQL Server 2016 の最新の累積的な更新プログラム
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft がソフトウェア更新プログラムの説明に使用する 用語について説明します。