Microsoft は、Microsoft SQL Server 2008 Service Pack 2 (SP2) の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 SP2 更新プログラムに含まれていたすべての修正プログラムとセキュリティ更新プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
SQL Server 2008、SQL Server 2012、または SQL Server 2014 のインスタンスでデータベースの AUTO_CLOSE オプションを有効にします。
-
データベースのオブジェクトの1つ以上のインデックスエントリが欠落しているインデックスの動的管理ビューに含まれています。
-
このデータベースに対して行われたすべての接続が閉じられます。 注: すべての接続が閉じている場合、データベースは自動的に閉じられることが期待されます。
-
同時に、バックグラウンドの消去操作のタスクが、欠落しているインデックスエントリの削除を試みます。 タスクを実行するスレッドは、データベースを閉じるスレッドとは異なります。
このシナリオでは、アクセス違反が発生します。 また、この問題を解決するには、SQL Server のインスタンスを再起動する必要があります。
原因
この問題は、バックグラウンドのクリア操作のタスクが見つからないために、欠落しているインデックスエントリを削除しようとすると、複数の通話が 無料 で行われるために発生します。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 SP1 の累積更新プログラム1 /en-us/help/3067839
SQL Server 2014 の累積更新プログラム8 /en-us/help/3067836
SQL Server 2012 SP2 の累積更新プログラム6 /en-us/help/3052468
SQL Server 2008 SP2 の累積更新プログラム7 /en-us/help/2617148
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
回避策
この問題を回避するには、データベースの AUTO_CLOSE オプションを無効にします。