Applies ToSQL Server 2008 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard

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 データベース名>]

このシナリオでは、データコレクタージョブがデータをクリアするのに長い時間がかかります。 注意事項

原因

この問題が発生するのは、 snapshots.query_statsのテーブルに大量のデータが含まれている場合に、 mdw_purge_dataジョブでバッチ指向のクリア操作を実行するのに時間がかかるためです。

解決方法

Service pack の情報

SQL Server 2008SQL Server 2008 でこの問題を解決するには、次の手順を実行します。

  1. 最新の SQL Server 2008 service pack を入手します。詳細については、以下の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

    968382 SQL Server 2008 の最新の Service Pack を入手する方法

  2. 既存の .MDW データベースの場合は、SQL Server 2008 用の最新の service pack をインストールした後に、[管理データウェアハウスの構成] ウィザードを実行して更新する必要があります。

SQL Server 2008 R2SQL Server 2008 R2 でこの問題を解決するには、次の手順を実行します。

  1. SQL Server 2008 R2 の最新の service pack を入手します。詳細については、以下の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

    2527041 SQL Server 2008 R2 の最新の Service Pack を入手する方法

  2. 既存の .MDW データベースの場合、SQL Server 2008 R2 用の最新の service pack をインストールした後に、[管理データウェアハウスの構成] ウィザードを実行して更新する必要があります。

  3. 次のように 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 テーブルが誤って参照されているため、これらの変更が必要になります。

状態

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

データコレクターのストアドプロシージャを更新するための完全なスクリプトは、次のブログでも参照できます。

http://blogs.msdn.com/b/sqlagent/archive/2011/04/12/data-collector-s-sp-purge-data-may-run-for-hours-if-there-are-many-orphaned-plans-to-purge.aspx

ヘルプを表示

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

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

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。