SQL Serverのバックアップ戦略の長所と短所、およびそれらの適切な使用シナリオ


10

SQL Serverデータベースをバックアップする方法は3つあります。

  1. 完全バックアップ
  2. 差分バックアップ
  3. ログ配送

各戦略の長所と短所は何ですか、またどのような状況でそれらを採用する必要がありますか?

回答:


14

ログ配布はバックアップシナリオではありません。準高可用性シナリオです。
バックアップには、完全、差分、およびトランザクションログのバックアップがあります。それらはすべて一緒に使用する必要があります。SLAにより、使用方法が決まります。最も一般的なシナリオは、真夜中のフルバックアップ、正午の差分バックアップ、30または15分ごとのトランザクションログバックアップです。

覚えておいてください。問題がないかどうかをテストするために復元するまで、有効なバックアップはありません。


5

間違いなく、バックアップ戦略などの概念はありません。これは、運用に戻るまでの時間を決定するための復元戦略です*。

すべての戦略では、差分バックアップまたはログバックアップ、あるいはその両方の後続の復元のベースとなる完全バックアップが必要です。

実際には、15分のログバックアップで6か月前の完全バックアップを作成できますが、最後の完全バックアップからのすべてのログバックアップを適用する必要があります。

ランダムな例として、1つのシナリオは、毎週フル、毎日差分、ログ15分とすることができます。

バックアップ間隔は、最悪の場合に失うデータ量を決定します。15分のログバックアップでは、1秒から14分59秒、平均7.5分のデータが失われます。これは受け入れられますか?

ログ配布は、手動フェイルオーバーによるウォームスタンバイです。バックアップではなく、高可用性オプションです。


3

あらゆる状況に適合する戦略はありません。しかし、あなたが利用できるものを理解することは重要です。完全バックアップは、データベースの完全バックアップからトランザクションログを除いたものとまったく同じです。差分バックアップは、最後の完全バックアップ以降のデータファイルの変更のバックアップです。トランザクションログバックアップは、最後のトランザクションログバックアップ以降にトランザクションログに保存されたすべてのトランザクションをバックアップします。トランザクションログバックアップを使用すると、特定の時点に復元できます。これが要件である場合は、回復モードを「完全」に設定する必要があり、回復状況で失われるデータの量に応じて、トランザクションログのバックアップを定期的に取る必要があります。

トランザクションログのバックアップを処理する場合、ログチェーンとは何かを理解することが重要です。私の言葉では、ログチェーンは、データベースを特定の時点に復元するために復元する必要がある一連のバックアップです。トランザクションログの復元を開始するには、最初にWITH NORECOVERYオプションを使用して完全バックアップを復元する必要があります。差分バックアップも実行する場合は、同じWITH NORECOVERYオプションを使用して復元したい時点より前の最新の差分バックアップを復元する必要があります。この時点で、最終バックアップを除くすべてのバックアップでWITH NORECOVERYオプションを使用して、トランザクションログバックアップを順次復元する必要があります。ポイントインタイムリストアの詳細については、このリンクを確認してください。 http://msdn.microsoft.com/en-us/library/ms175093.aspx

前述のように、ログ配布はバックアップ戦略ではありませんが、災害復旧状況が発生した場合に復元時間を大幅に短縮できます。注意すべき1つの問題は、レプリケーションが災害前のように機能するためには、レプリケーションパブリケーションをログ配布サーバーにスクリプト化して初期化する必要があるということです。より大きなパブリケーションでは、これにより本番レベルに戻すのにかかる時間が大幅に増加する可能性があります。

お役に立てれば、

マット


2

私はMladen Prajdicの2番目です。この記事は、データベースの回復モデルに応じて適切なバックアップ戦略を選択するのに役立ちます。


2

これらはSQL Serverのバックアップ戦略ではありません。完全バックアップと差分バックアップは、SQL Serverデータベースに対して実行できるバックアップのタイプですが、ログ配布は高可用性戦略です(ログバックアップをスケジュールされた時間にサーバーから別のサーバーに移動し、これら2つのデータベースを同期します。バックアップの制限)。

災害復旧に関する素晴らしい情報(バックアップと復元:-))。MSDNで見つけることができます:ここここ。つまり、障害が発生した場合にバックアップから回復できるデータの量を選択する必要があります。正しいバックアップ戦略のサンプルは、毎日の完全バックアップと毎時間のログバックアップ(これはニーズによって異なります)であるため、この場合は、完全バックアップとすべての毎日のログバックアップからデータベースを復元できます。

Simple_Talkにある DRに関するもう1つの優れたリファレンス。


1

もちろん、データベースを復元する必要があるだけでなく、データベースが含まれているサーバーとアプリケーションのコンテキストで回復があります。私はまだそれを使用していませんが、必要に応じて、Data Protection Managerはより包括的なジョブを実行しようとします。


-1

最善の方法は、3つのバックアップタイプをすべて使用することです。もちろん、トランザクションログバックアップの差分バックアップは無視できます。すべてはデータベース、成長の速さ、データベースの変更頻度などに依存します。バックアップ計画を選択する前に、どれだけの量のデータを失うかを検討してください。データベースを回復するためにどれだけの時間を費やす準備ができていますか?

たとえば、データベースが急速に増大する場合は、SQL Serverの次のバックアップ戦略を使用できます。フルバックアップ-1日1回、差分バックアップ-2時間ごと、トランザクションログバックアップ-20分ごと。この場合、障害が発生しても、19分以内の作業が失われます。別の例として、データベースの成長が遅い場合、1日に1回フルバックアップを実行し、6時間ごとに差分バックアップを実行し、1時間ごとにトランザクションログバックアップを実行できます。

もう1つのヒント-データベースが安全であることを確認するため、時々、テストサーバーでバックアップを復元してください。

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