現象
たとえば次のようなシナリオを考えてみます。
• 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 2014 SP1 の累積的な更新プログラム 13
SQL Server 2012 SP3 の累積的な更新プログラム 9
SQL Server の累積的な更新プログラムについて:
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
SQL Server 2016 の最新の累積的な更新プログラム
SQL Server 2014 の最新の累積的な更新プログラム
SQL Server 2012 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。