ここには少しバックアップ履歴があります。

ここには少しバックアップ履歴があります。

SQL Serverは、すべてのバックアップの履歴を追跡します。 このデータはMSDBデータベースに格納されます。 これはシステムデータベースであり、インストール中に特に指定がない限り、デフォルトでは、システムデータベースはCドライブに保存されます。

これは、いくつかの異なる方法で危険をもたらす:

Cドライブがいっぱいになり、MSDBの書き込みが失敗する可能性があります。 不注意なユーザーが(システムドライブ上にある)デスクトップに巨大なファイルをダウンロードするか、システムドライブ上の一時フォルダに多くのフ

MSDBがCドライブを埋めるように成長し、Windowsが失敗する可能性があります。 大量のデータベースのトランザクションログバックアップを非常に頻繁に実行していて、MSDBをパージしない場合、このデータベースは小さなCドライブを脅 Cドライブがいっぱいになると、Windowsはハードに失敗します。

システムドライブが遅いことがよくあります。 古いバージョンのSQL Serverでは、システムデータベースのインデックスが適切に作成されていませんでした。 これを低速のローカルドライブと組み合わせると、低速のMSDBアクセスのレシピが得られます。 あるケースでは、夜間のバックアップウィンドウの間に、MSDBの更新だけに2/3の時間が費やされました!

監視ツールはMSDBを非効率的に照会する可能性があります。 サードパーティ製のサーバー監視ツールがMSDBを常にチェックして、すべてのデータベースがバックアップされていることを確認しましたが、クエリでインデ これらのクエリは、サーバー上で最も遅いものになる可能性があります。

SQL Server sp_blitzスクリプトのこの部分は、60日より古いMSDBバックアップ履歴があるかどうかを確認します。 これだけでは問題ではありません–あなただけのパフォーマンスのスループットのレポートを行うためにそこにバックアップ履歴の長い期間を維持した

sp_blitzに戻るか、質問をする

過負荷のMSDBバックアップ履歴をクリーンアップする方法

60日より古いデータのMSDBバックアップ履歴を消去することを検討してく これはいくつかの異なる方法で行うことができます:

  • 履歴クリーンアップタスクを定期的に実行する保守計画を作成できます。
  • sp_delete_backuphistoryを定期的に実行する単純なSQL Serverエージェントジョブを作成できます(メンテナンスプランの機能を一致させる場合は、sp_purge_jobhistoryを実行することも

SSMSのMaintenance Planノードに展開し、右クリックして”New Maintenance Plan”を選択します…”

2015-04-10_14-20-46

ツールボックスウィンドウからMaintenance Cleanup Taskを選択します(SSMSのオブジェクトエクスプローラの下の左側にこのウィンドウが非表示になることがあります:

2015-04-10_14-21-26

完了するには、タスクをダブルクリックし、実行したいクリーンアップの種類と保持するデータの量を選択します。 エージェントのジョブ履歴とメンテナンス計画の履歴については、バックアップについてよりも気にせず、通常はバックアップ履歴をデータ保持ポリ

2015-04-10_14-22-03

いずれにしても、サーバーに大量の履歴がある場合、この手順は最初に実行するのに時間がかかります。 BrentがMSDBボトルネックの記事で指摘したように、削除を実行するためにシステムデータベースの外部キーを変更するなどの極端な手段に頼らなければな

コメントを残す

メールアドレスが公開されることはありません。