667 Stimmen

SQL Server: Datenbank steckt im Zustand "Wiederherstellen" fest

Ich habe eine Datenbank gesichert:

BACKUP DATABASE MyDatabase
TO DISK = 'MyDatabase.bak'
WITH INIT --overwrite existing

Und dann versucht, es wiederherzustellen:

RESTORE DATABASE MyDatabase
   FROM DISK = 'MyDatabase.bak'
   WITH REPLACE --force restore over specified database

Und jetzt steckt die Datenbank im Zustand der Wiederherstellung fest.

Einige Leute haben die Theorie aufgestellt, dass es daran liegt, dass in der Sicherung keine Protokolldatei enthalten war und die Sicherung mit Hilfe von Rollforward durchgeführt werden musste:

RESTORE DATABASE MyDatabase
WITH RECOVERY 

Außer natürlich, dass das nicht funktioniert:

Msg 4333, Level 16, State 1, Line 1
The database cannot be recovered because the log was not restored.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

Und genau das, was Sie in einer katastrophalen Situation wollen, ist eine Wiederherstellung, die nicht funktioniert.


Die Sicherung enthält sowohl eine Daten- als auch eine Protokolldatei:

RESTORE FILELISTONLY 
FROM DISK = 'MyDatabase.bak'

Logical Name    PhysicalName
=============   ===============
MyDatabase    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase.mdf
MyDatabase_log  C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase_log.LDF

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X