3

私はかなりアドホックなディザスタリカバリを支援しています。数週間前のデータベースバックアップを復元してから、トランザクションログバックアップからトランザクションを復元しました。

これは、SQL Server Management Studioを使用して行いました。データベースを右クリックし、完全バックアップを復元しますが、リカバリモードのままにし、もう一度右クリックして、トランザクションログを復元します。

現在、ログにギャップがないことを確認しようとしています。SQL Server Management Studioでエラーなしでログを復元できた場合、ログにギャップはなかった(たとえば、ログチェーンが完了している)と想定しても安全ですか?

言い換えれば、ギャップがあった場合、SQLでログを復元できますか?その場合、警告または停止するだろうと思います。

あなたが提供できるどんな助けにも感謝します...。

SQL 2005を使用していますが、ログチェーンに関するルールはすべてのバージョンで類似していると思います。

4

2 に答える 2

4

Microsoftのトランザクションログバックアップの操作に関するドキュメントによると、次のようになります。

ログバックアップが見つからないか破損している場合は、データベースの完全バックアップまたは差分バックアップを作成し、トランザクションログをバックアップして新しいログチェーンを開始することにより、新しいログチェーンを開始しますデータベースをそれらのバックアップ内のある時点に復元したい場合に備えて、欠落しているログバックアップの前にあるトランザクションログバックアップを保持することをお勧めします。バックアップの保護に役立つ方法については、バックアップと復元のセキュリティに関する考慮事項を参照してください。

およびトランザクションログバックアップの作成の状態:

トランザクションログが破損している場合、最新のログバックアップ以降に実行された作業が失われます。これは、ログファイルをフォールトトレラントストレージに配置することの重要性を浮き彫りにします。

私がこれを自由に読んだのは次のとおりです。失われたファイルを一種のファイルの損傷と見なし、Management Studioまたはその他のツールでエラーなしでログを復元できる場合は、最後のトランザクションログのバックアップまでログチェーンが完了していることを確認できます。再適用します。それがそのデータベースで利用可能な最後のトランザクションログバックアップであることを確認する必要がありますが、それは他に考慮すべきことです。

私の読書を信用できない場合(そしてこの点でドキュメントがあまり明確でない場合)、簡単なテストを行って確認することができます:適用するトランザクションログが10個あるとしましょう...意図的に7番目(またはランダム)を削除します、ただし最初でも最後でもない)トランザクションログを作成し、障害復旧方法を試してください。

「トランザクションログファイルのバックアップがありません」などのエラーが発生した場合は、私を信頼してください。

于 2010-11-10T23:52:15.973 に答える
2

あなたは正しいです。SQLは、トランザクションログのバックアップを適用できない場合は適用しません。エラーが発生した可能性があります。

于 2010-11-10T20:10:59.313 に答える