バックアップを実行するときのヘッダーのみの復元の使用は何ですか?


10

次のクエリでバックアップを監視すると:

SELECT      command, percent_complete,
            'elapsed' = total_elapsed_time / 60000.0,
            'remaining' = estimated_completion_time / 60000.0
FROM        sys.dm_exec_requests
WHERE       command like 'BACKUP%'
or command like 'RESTORE%'

バックアップの前に、SQL Serverがヘッダーを復元してからバックアップを実行することに気づきました。

何に使うのか、なんとか実行時間を短縮できるのかと思っていました。実際のバックアップよりも時間がかかるようです。

回答:


7

バックアップの前に、SQL Serverがヘッダーを復元してからバックアップを実行することに気づきました。

これは、SQLサーバーによって内部的に実行される復元手順の一部である可能性があります。

を使用して、復元フェーズを調べることができますDBCC TRACEON(3604, 3605, 3004);NON PRODサーバーでの教育目的にのみ使用してください。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

上記からわかるように、復元には基本的に3つの主要なフェーズがあります。データのコピー、元に戻す、やり直しのフェーズと、バックアップセットを開いてロードする他のサブフェーズです。

実際のバックアップよりも時間がかかるようです。

復元時間を改善するには、

  • ファイルの即時初期化を有効にします。
  • with REPLACEドロップして復元するのではなく、T-SQLを使用して既存のデータベースを復元します。
  • msdbを適切にメンテナンスしてください。
  • VLFを確認します。VLFが多いほど、復元時間が長くなります。

@AaronBertrandによる遅いバックアップまたは復元のベビーシッターを参照してください。


6

RESTORE HEADERONLY SQL Serverが実際のバックアップの前に特定のプロパティについてターゲットファイルをチェックできるようにします。

BACKUP DATABASE ...これは、問題の多いメンテナンスプランGUIを使用する代わりに、SQL ServerエージェントジョブでT-SQLを使用してバックアップを実行することで防ぐことができます。


3

RESTORE HEADERONLYバックアップに多数の仮想ログファイル(VLF)が含まれている場合は、時間がかかることがあります。ソースデータベースのログファイルを適切なサイズに縮小して再成長させると、復元の実行にかかる時間にある程度成功する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.