web-dev-qa-db-ja.com

ソースデータベースのログ末尾のバックアップが取得されますか?この警告が表示される理由

1番目のサーバー(SQL Server 2014を実行)からデータベースのバックアップを作成しました。

2番目のサーバー(SQL Server 2012を実行している)にバックアップを復元しようとすると、次の警告メッセージが表示されます。

警告メッセージ-ソースデータベースのログ末尾のバックアップが作成されます。 [オプション]ページで設定を表示します。

このメッセージを無視して復元しようとすると、失敗します。

何か案が ?私は何をすべきか ?

5
Pramod Raut

オプションをオフにして復元してみてください。

enter image description here

9
Ragesh

TailLog backupには、最後のログバックアップの後に生成されたトランザクションログが含まれています。これは、最新の時点に復元する場合に必要です。オンラインで、末尾のログにあるデータベースを復元しようとした場合バックアップされていない場合、SQL Serverは取得しているエラーをスローします

このエラーを回避するには、NoRecoveryを使用します。

しかし、上記のオプションを使用すると、データが永久に失われます。だから私は、
1.Tailログのバックアップも取得します
2。リカバリを使用してメインデータベースを復元します
3。次に、リカバリなしのテールログバックアップ

以下は、エラーが発生する理由に関する追加情報です(強調表示されている関連情報が該当します)。撮影元 Books Online

次のシナリオでは、ログ末尾のバックアップを取ることをお勧めします。

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

データベースがオフラインで起動に失敗し、データベースを復元する必要がある場合は、最初にログの末尾をバックアップします。現時点ではトランザクションは発生しないため、WITH NORECOVERYの使用はオプションです。

データベースが破損している場合は、BACKUPステートメントのWITH CONTINUE_AFTER_ERRORオプションを使用して、ログ末尾のバックアップを取ってください。

破損したデータベースでログの末尾をバックアップできるのは、ログファイルが破損しておらず、データベースが末尾ログバックアップをサポートする状態にあり、データベースに一括ログ変更が含まれていない場合のみです。ログ末尾のバックアップを作成できない場合、最新のログバックアップ後にコミットされたトランザクションは失われます。

6
TheGameiswar