大きなDBのログ配布-ログはどうですか?


8

現在、大容量のDB(約1.5 TB)のログ配布を設定しており、ログファイルに対して何ができるか疑問に思っています。

現状では、次の手順を実行したいと思います。

  1. DBを完全復旧に変更する
  2. プライマリで完全バックアップ(5〜6時間)を取る
  3. フルバックアップをセカンダリに復元(NORECOVERYのまま)
  4. プライマリでDIFFバックアップを作成
  5. DIFFバックアップをセカンダリに復元(まだNORECOVERYのまま)
  6. 「データベースはすでに初期化されています」を使用してログ配布を初期化します

問題は、フルバックアップを実行しているときに、ログファイルがバックアップの完了よりも早くいっぱいになることです。

ログファイルがいっぱいにならないようにするには、どのようなオプションが必要ですか?DIFFリストアはその期間中に行われたトランザクションをすべてカバーするため、フルバックアップ中に通常どおりにログバックアップを実行できますか?これまでにこのサイズのDBでこれを行ったことがありますか?それを簡単にするためのヒント/トリック?

回答:


9

私があなたを正しく理解している場合、主な問題は、数時間のバックアップ中のログファイルです。冒頭の声明から、1.5 TBのデータベースは通常、シンプルなリカバリで実行されるため、ログバックアップを実行する必要がないことを理解しています。

免責事項:この規模でログ配布を行ったことはありません。

もちろん、ログファイルに割り当てる領域を増やすことができるかどうかを確認する必要があります。できれば素晴らしいです。

ただし、SIMPLE復旧モデルで既に実行している場合や、SIMPLE復旧モデルのリスクが数時間ある場合は、計画を少し変更するだけで、その価値は十分にあると思います。

  1. 単純な復旧モデルでDBを保持(または設定)します。
  2. プライマリで完全バックアップ(5〜6時間)を取る
  3. フルバックアップをセカンダリに復元(NORECOVERYのまま)
  4. 完全復旧モデルでのDBの設定
  5. プライマリでDIFFバックアップを作成
  6. DIFFバックアップをセカンダリに復元(まだNORECOVERYのまま)
  7. 「データベースはすでに初期化されています」を使用してログ配布を初期化します

明らかな利点は次のとおりです。

  1. 大規模なフルバックアップ中にバックアップするログファイルはありません。
  2. DIFFバックアップを開始する前にFULLに切り替えると、最初に必要なログが得られます。その最大の増加はおそらくDIFFバックアップ中です。

ログバックアップをいつ開始できるかについて:

https://technet.microsoft.com/en-US/library/ms190729(v=SQL.105).aspx

「新しいログチェーンは、データベース作成の最初の完全データベースバックアップから、または単純復旧モデルから完全または一括ログ復旧モデルに切り替えた後に開始されます。」

したがって、これは概説どおりに機能すると信じています。(同一ではありませんが、ログバックアップの新しいオリジンを確立するために、ログファイルが失われたときのギャップを補うために差分バックアップを使用しました。)

(もちろん私の免責事項を思い出してください。)


それはうまくいくように思えます。現在、完全バックアップを取っています。明日、結果を報告します。ヘルプRLFに感謝します。この問題について将来の読者のために追加するステップまたは2がある場合に備えて、すべてが完了したらすぐに回答としてマークします。
Kris Gruttemeyer、2015

待って、最初の完全バックアップがとられるまで、完全回復はアクティブになりませんか?最初の完全バックアップの後で完全回復に切り替えても、最初のバックアップの後まで完全回復はアクティブにならないため、効果がないのではないかと思います。
Kris Gruttemeyer 2015

@KrisGruttemeyer -更新ポスト
RLF

それをコピーして、私は明日報告します。この事はまだ後退しています。
Kris Gruttemeyer、2015

バックアップの圧縮がオンになっていることを確認してください...
Rob Farley、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.