Microsoft SQL Server 2008 R2 SP1 の修正プログラムは、1つのダウンロード可能なファイルとして配布されています。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 R2 SP1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
管理データウェアハウス (.MDW) データベースには、Microsoft SQL Server 2008 または Microsoft SQL Server 2008 R2 に大量のデータが含まれている snapshots.query_stats テーブルがあります。
-
次のデータコレクタージョブを実行して、.MDW データベースからのデータを消去します。
mdw_purge_data_ [<.mdw データベース名>]
このシナリオでは、データコレクタージョブがデータをクリアするのに長い時間がかかります。 注意事項
-
データコレクタージョブは core.sp_purge_data ストアドプロシージャを呼び出して、データをクリアします。
-
この2008問題の詳細については、次の Microsoft web サイトを参照してください。
原因
この問題が発生するのは、 snapshots.query_statsのテーブルに大量のデータが含まれている場合に、 mdw_purge_dataジョブでバッチ指向のクリア操作を実行するのに時間がかかるためです。
解決方法
Service pack の情報
SQL Server 2008SQL Server 2008 でこの問題を解決するには、次の手順を実行します。
-
最新の SQL Server 2008 service pack を入手します。詳細については、以下の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
968382 SQL Server 2008 の最新の Service Pack を入手する方法
-
既存の .MDW データベースの場合は、SQL Server 2008 用の最新の service pack をインストールした後に、[管理データウェアハウスの構成] ウィザードを実行して更新する必要があります。
SQL Server 2008 R2SQL Server 2008 R2 でこの問題を解決するには、次の手順を実行します。
-
SQL Server 2008 R2 の最新の service pack を入手します。詳細については、以下の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2527041 SQL Server 2008 R2 の最新の Service Pack を入手する方法
-
既存の .MDW データベースの場合、SQL Server 2008 R2 用の最新の service pack をインストールした後に、[管理データウェアハウスの構成] ウィザードを実行して更新する必要があります。
-
次のように sp_purge_orphaned_notable_query_text ストアドプロシージャを更新します。既存のプロシージャ
-- Deleting TOP N orphaned rows in query plan table by joining info from temp table variable-- This is done to speed up delete query. DELETE TOP (@delete_batch_size) snapshots.notable_query_plan FROM snapshots.notable_query_plan AS qp , #tmp_notable_query_plan AS tmpWHERE tmp.[sql_handle] = qp.[sql_handle]
更新された手順
-- Deleting TOP N orphaned rows in query text table by joining info from temp table-- This is done to speed up delete query. DELETE TOP (@delete_batch_size) snapshots.notable_query_text FROM snapshots.notable_query_text AS qt, #tmp_notable_query_text AS tmpWHERE tmp.[sql_handle] = qt.[sql_handle]
注: Sp_purge_orphaned_notable_query_text ストアドプロシージャのテキストを修正するには、SQL Server 2008 R2 Service Pack 1 を適用した後に delete ステートメントで snapshots.notable_query_plan テーブルが誤って参照されているため、これらの変更が必要になります。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
データコレクターのストアドプロシージャを更新するための完全なスクリプトは、次のブログでも参照できます。