複数のデータベースを実行していて、中央のMDWとしても構成されているSQL Server 2008R2があります。
管理データウェアハウスが作成されると、いくつかのエージェントジョブが作成され、そのうちの1つはmdw_purge_data_[DB NAME]
であり、私が知る限り、保持期間を超えたデータを処理してパージします。このジョブは現在実行中であり、その期間は数時間から数日まで増加しています。これは当初RTMの問題でしたが、Service Pack 1で修正されたと思われます(SP2を実行しています)。このリンクに従って呼び出すストアドプロシージャの修正に従ってみました。
http://www.toddbaker.org/blog/2010/12/17/sql-2008-mdw-fixing-long-running-purges/
これは役に立たなかったようです。次に、MDWの2つのテーブルsql_handles
とsnapshots.query_stats
のsnapshots.notable_query_text
列に2つのインデックスを作成することを提案する別のブログ投稿を読みました。これらを作成しようとすると、タイムアウトになり、インデックスの作成に失敗します。これは、そこに情報が多すぎることを示唆しています。
サーバー全体のパフォーマンスに影響を与える可能性があると思うので、mdw_purge_data_ job
での統治について誰かが何かアドバイスを持っていますか。
それで最終的にこれを整理しました。 MDW内に孤立したインスタンスがありました。私はこれを削除しましたが、殺すのに少なくとも1日かかりました。タイムアウトが原因で、GUIを介してインデックスを作成しようとして失敗しました。アクティビティモニターを使用すると、サーバー上でまだ大きな待機が残っていることがわかりました。 MDWのすべてのデータ収集を停止し、パージジョブを含む関連するすべてのジョブを無効にしました。その後、このジョブはまだ実行中であったため、停止しました。 t-sqlを使用してインデックスを作成しました。ジョブを再実行すると、このサーバーのベースラインに戻りました。私はデータをパージするために1日以上から約15分に移行したので、全体としてはるかに幸せです。