我尝试从sql management studio 2012创建的.bak文件中恢复数据库。
RESTORE DATABASE db
FROM DISK = 'd:\abc.bak'
WITH NORECOVERY,
MOVE 'abc' TO 'D:\My Data\db_Data.mdf',
MOVE 'abc_log' TO 'd:\My data\db_Log.ldf',
REPLACE
GO
它经历了但无法打开数据库,总是在名称上有Restoring ...状态。
这里发生了什么?
答案 0 :(得分:1)
数据库仍处于恢复状态,等待其他日志恢复。使用WITH RECOVERY完成还原。
答案 1 :(得分:1)
您需要使用WITH RECOVERY
选项和数据库RESTORE命令,在恢复过程中将数据库从恢复模式联机。
您还可以使用覆盖选项WITH REPLACE
RESTORE DATABASE db
FROM DISK = 'd:\abc.bak'
WITH REPLACE, RECOVERY
MOVE 'abc' TO 'D:\My Data\db_Data.mdf',
MOVE 'abc_log' TO 'd:\My data\db_Log.ldf'
GO
这是恢复数据库的最有保障的方法。