SQL Serverトランザクションバックアップとログ


12

中規模のビジネスクリティカルなSQL Server 2008データベースを継承し、バックアップ計画に頭を悩ませようとしています。(私はDBAではなく開発者です。)

現在のシステムのセットアップ方法には、2つのバックアップシステムがあります。

  1. 毎週の完全バックアップ(.bak)および1時間ごとのトランザクションログ(.trn)バックアップ。これらのバックアップは数セット保持され、定期的にオフサイトで出荷されます。
  2. .ldf復旧モデルがに設定されたSQL Serverログ()Full。このファイルはメイン.mdfファイルとは別のドライブにありますが、それ以外の場合はバックアップされません。

緊急リストアの場合(または、バックアップを開発マシンにリストアする場合)、私の手順は.bakファイルを使用してから.trnファイルを適用することです。この手順を比較的簡単にするスクリプトがあります。

私の質問:

  1. .ldfファイルからデータベースを復元することは可能ですか?それは何のためですか?
  2. これらのトランザクションログの両方を保持することは不必要に冗長ですか?
  3. .ldfファイルをバックアップすることは重要ですか?

回答:


16

いいえ、ldfファイルからデータベースを復元することはできません。LDFファイルは、MDFファイルとともに復元されます。

いいえ、2つの異なる目的があるため、冗長ではありません。

完全バックアップとトランザクションログバックアップを取得することが重要です。LDFファイルのコピーのみを持っていても、データベースの復元には役立ちません。

LDFファイルの用途については、ldfはトランザクションログです。データベースへの変更を記録する循環バッファーと考えてください。行を更新すると、変更はすぐにldfに書き込まれます。将来のある時点(通常5分未満)で、変更されたデータがmdfファイルに書き込まれます。

サーバーがクラッシュした場合、または電源障害が発生した場合、SQLの起動時にldfを読み取り、それらの変更を再適用(REDO)します。

また、コミットされていないトランザクションがあり、サーバーがクラッシュした場合、データベースの一貫性を保つために、そのトランザクションによって行われたすべての変更を元に戻す必要があります。LDFファイルにもそのタスクがあります。(UNDO)

LDFファイルは循環型であることを上で述べました。トランザクションログバックアップ(.trn)を取得すると、ldfファイルの一部がコピーされます。trnファイルが安全に作成された後、sqlはldfファイルのその部分を再利用できます。一連のtrnバックアップは、データベースに加えられたすべての変更を一緒に記録するチェーンを作成します。もちろん、トランザクションログのバックアップを取らなかった場合、ldfファイルは大きくなり、大きくなります。

災害シナリオでは、完全バックアップを復元すると、完全バックアップが終了した時点のデータベースのコピーが取得されます。その後、trnファイルを順番に復元し、最後のtrnバックアップまでを含む任意の時点にデータベースを最新の状態にできます。

重要な詳細をいくつか説明しますが、要点は、ldfがデータベースへの最近の変更を記録する作業ファイルであることです。trnファイルは、SQLがLDFのスペースを再利用できるようにするために安全に保管するという前提で作成されたLDFの一部のコピーであり、災害が発生した場合は別の場所に保管します。


2
+1非常に良い答え。私が追加する唯一のことは、DBAが「データベース」と言うとき、.mdf(データファイル)と.ldf(ログファイル)ファイルを組み合わせたものを意味するということです。2つのファイルが一緒になって1つのユニットになります。一部のデータベースでは、複数の.mdfsや.ndfs(セカンダリデータファイル)も表示される場合があります。これらのファイルも一緒に結合されて、データベースと呼ばれる単一のユニットになります。それらのいずれかを失うと、災害モードになり、是正措置を講じる必要があります。
ケネスフィッシャー

+1安全な「バックアップ」。これらのファイルは非常に機密性が高いため、可能な場合は常に実際のMS SQL Serverバックアップファイルを作成する必要があります。
アリラゼギ

おかげで、これは非常に役立ちます。通常のSQL Serverバックアッププランで十分であり、.mdfファイルまたは.ldfファイルを直接改ざんする必要はないようです。
ハンク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.