復元を行うときにログバックアップをテールしますか?


9

通常、運用サーバーから非運用サーバーへのDBの復元を実行するときは、WITH REPLACEオプションを使用します。

MSDNよれば、復元する前に実際にテールログをバックアップする必要があります。

データベースがオンラインであり、データベースで復元操作を実行する予定の場合は、まずログの末尾をバックアップします。オンラインデータベースのエラーを回避するには、BACKUP Transact-SQLステートメントの…WITH NORECOVERYオプションを使用する必要があります。

私がそれをしている方法のいくつかの危険または不利な点は何ですか?なぜ、最初にテールログをバックアップするのが有利なのですか?

私はSQL Server 2008R2を使用していますが、このクエリはほとんどの新しいバージョンのSQL Serverにも関連していると考えられるため、最初はそのようにタグ付けしていません。


6
これは、同じ場所に復元する場合(および追加のトランザクションログを適用する場合)を意味すると思います。データベースの単純なコピーだけを別の場所に復元する予定で、ログチェーンを維持する必要がない場合は、使用している方法を使用します。WITH COPY_ONLYバックアップにも使えそうです。
アーロンバートランド

回答:


4

ログの末尾をバックアップしないと、最後にデータベースをバックアップしてから発生したトランザクションが失われます。


1
はい、わかりました。しかし、それでも私はあなたの答えが私の思考のギャップを埋めたと思います。非本番DBはバックアップされないので、とにかく復元するとDB全体が失われるので、なぜ末尾ログを気にするのでしょうか。しかし、MSDNの考えでは、常に自分のDBをバックアップします。現時点でバックアップされていないのはテールログだけなので、バックアップを求められます。誰も気にしない一時的な非本番DBの私の特定のシナリオでは、テールログをバックアップする利点はありません。
ポール

2
完全に正しい。非本番環境にデータを持ち込みたいだけで、そこに何が入っているかをあまり気にしない場合は、まったく問題はありません。
JoseTeixeira 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.