我备份了一个数据库:
BACKUP DATABASE MyDatabaseTO DISK = 'MyDatabase.bak'WITH INIT --overwrite existing然后试图恢复它:
RESTORE DATABASE MyDatabase FROM DISK = 'MyDatabase.bak' WITH REPLACE --force restore over specified database现在,数据库仍处于恢复状态。
有人认为,这是因为备份中没有日志文件,需要使用以下命令进行滚动:
RESTORE DATABASE MyDatabaseWITH RECOVERY 除此之外,当然失败了:
Msg 4333, Level 16, State 1, Line 1The database cannot be recovered because the log was not restored.Msg 3013, Level 16, State 1, Line 1RESTORE DATABASE is terminating abnormally.而在灾难性的情况下,你想要的是一个不可能的恢复。
备份包含数据和日志文件:
RESTORE FILELISTONLY FROM DISK = 'MyDatabase.bak'Logical Name PhysicalName============= ===============MyDatabase C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase.mdfMyDatabase_log C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase_log.LDF相似问题