次のクエリを使用してデータベースを復元しようとしました。
ALTER DATABASE [DatabaseName] SET Single_User WITH Rollback Immediate GO
RESTORE DATABASE DatabaseName FROM DISK = 'C:\DBName-Full Database Backup'
ALTER DATABASE [DatabaseName] SET Multi_User GO
しかし、データベースを復元する代わりに、このエラーが発生しています:
メッセージ3159、レベル16、状態1、行2
データベース「DatabaseName」のログの末尾はバックアップされていません。失いたくない作業がログに含まれている場合は、
BACKUP LOG WITH NORECOVERY
を使用してログをバックアップします。RESTORE
ステートメントのWITH REPLACE
またはWITH STOPAT
節を使用して、ログの内容を上書きするだけです。メッセージ3013、レベル16、状態1、行2RESTORE DATABASE
が異常終了しています。
表示されるエラーメッセージは、既存のデータベースまたはログを気にしない場合に実行する必要があることを正確に示しています。
RESTORE DATABASE DAtabaseName FROM DISK = 'C:\DBName-Full Database Backup'
WITH REPLACE
SQL Server Management Studio([タスク]> [復元])では、WITH REPLACE
オプションは、左側の[オプション]ページを開き、[既存のデータベースを上書きする]にチェックマークを付けます。
Management Studio
を使用している場合、これは機能するはずです。
または、データベース復旧モデルをSimple
ではなくFull
に変更できます。
properties
-> option
を選択しますrecovery model
からsimple
その後、あなたが書いたものはエラーを生成することなく動作するはずです。
うまくいきました。
または、データベース復旧モデルを「フル」ではなく「シンプル」に変更できます。
データベースを右クリックして、「プロパティ」、「オプション」を選択し、「復旧モデル」を「シンプル」に変更します。
その後、あなたが書いたものはエラーを生成することなく動作するはずです。
BACKUP LOG WITH NORECOVERYを使用して、失いたくない作業が含まれているログをバックアップします。
ログの内容を上書きするには、RESTOREステートメントのWITH REPLACEまたはWITH STOPAT句を使用します。
本当に、それが答えです。そこに、メッセージで。何をしたいですか?尻尾をバックアップするので、失われませんか?バックアップされなかったログを置き換えますか?あなたの電話。