web-dev-qa-db-ja.com

差分バックアップエラーを復元-ファイルをロールフォワードする準備ができていません

テストデータベースの差分バックアップを復元しようとしていますが、次のエラーが表示されます。

enter image description here

私がやったのは、_"tdb"_というテストデータベースを作成することです。新しいテーブルにデータを追加し、データベースの復旧モデルをSIMPLEに変更して、_FULL Backup_を作成しました。 。

その後、新しいテーブルにさらにデータを追加し、_differential backup_の作成を続けました。

データベースを復元するとき、最初に完全バックアップを復元し、SSMSからOverwrite existing database (WITH REPLACE)オプションを選択しました。これは正しく機能しました。

次に、差分バックアップファイルで同じことを実行しようとすると、上記のエラーが発生します。

Microsoftのドキュメントも確認し、そこで説明されているのと同じ手順を実行しましたが、何が間違っているのかわかりません。どんな助けでもありがたいです。

2
Radu Gheorghiu

NORECOVERYで完全に復元し、RECOVERYで差分を復元する必要があります。

差分は、それに伴う完全バックアップなしでは意味がありません。差分バックアップには、変更されたデータが完全に「含まれているため」含まれています。差分を復元するには、完全に復元する必要があります。

NORECOVERYを使用して完全に復元すると、将来の差分またはログの復元を適用できます。差分またはログの最後の復元では、データベースをオンラインにするためにwith RECOVERYオプションが必要です。

復元シナリオでRECOVERYオプションを使用すると、作業は完了し、復元はできなくなります。残念なのは、RECOVERYが復元のデフォルトであり、世界中の誰かが長い復元を実行するたびに1ドル持っていて、その事実を知るためだけにNORECOVERYを使用するのを忘れた場合です。彼らが差分やログを適用しようとしたとき、私はどこかのビーチにいて、このサイトにはいませんでした;)

8
Scott Hodgin