web-dev-qa-db-ja.com

SQL Server差分バックアップが必要ですか?

フルリカバリモデルのサーバー上に約10個のデータベースがあり、すべてSQLServerミラーリングを使用してミラーリングされています。

私の現在のバックアップ戦略は次のとおりです。

フルバックアップ午前1時

2時間ごとの差分バックアップ

15分ごとのトランザクションログバックアップ

私が抱えている問題は、いくつかのデータベースの差分バックアップが非常に遅いことです。差分バックアップには平均で約11分かかります。

この理由は、データベースが多数の行について別のシステムと定期的に同期されるため、バックアップに多数の違いが生じるためです。

反対に、私のトランザクションログのバックアップは明らかに非常に高速です。

これは、差分バックアップ時にサーバーが負荷に苦しんでいるために問題になり始めており、場合によってはクライアントマシンでタイムアウトが発生します。

差分バックアップを削除し、完全/トランザクションバックアップを使用することの欠点は何ですか?明らかに、差分バックアップがないと復元時間が長くなりますが、データベースをミラーリングしているので、それはまったく問題になるはずですか?

サーバーは現在SQLServer2005を実行しています。

乾杯

4
MrEdmundo

完全な障害が発生した場合にバックアップログとトランザクションログから復元するための余分な時間と手順に耐えられる限り、差異は冗長です。誰もすぐに気付かない問題が発生した場合に備えて、バックアップとログを十分に保持していることを確認してください。リモートサイトで4日間のバックアップとログを保持し、定期的にポイントインタイムの復元を実行して、回復できることを確認し、所要時間を確認するのが好きです。事前に準備し、最悪の事態に備えて、回復の方法を知っているのはあなただけではないことを確認してください。

3
SqlACID

いいえ。15分ごとに毎日完全バックアップとログバックアップを作成することは、有効なバックアップ戦略です。

考えられる欠点は次のとおりです。

  • 少なくとも次の完全バックアップまでログを保持する必要があるため、より多くのディスク領域を使用します(各タイプのバックアップサイズと保持率を知ることが役立つ場合)。
  • 管理スタジオまたはスクリプトを使用して自動化しない場合、これらすべてのログバックアップを復元する期間が長くなります。

私の考え:特にデータベースが小さく、データの多くが変更されているために完全に実行した方がよい場合は、2時間ごとの差分は私には少しやり過ぎのように思えます!

プロセスはデータベース内のすべてのページを読み取る必要があるため、完全バックアップと差分バックアップはパフォーマンスを低下させます。負荷がかかっているとき、またはユーザーがアクセスしている営業時間中に、dbでfullまたはdiffを実行する方法はありません。

1
Nick Kavadias

少し話題から外れていますが、ここで言われていることに関連しています:「..誤解したのは私でした。ログを数日保持することは、月曜日に開発者から電話がかかってきて、先週の木曜日にテーブルの行を取り戻すことはできますか。開発者が大好きです。」

質問:木曜日の夜の完全バックアップを使用して特定の時点の復元を実行することはできませんか、それとも何らかの理由で実行できませんか?

0
Jay Goodier