数据库在RESTORE之后“恢复”

时间:2013-01-17 08:14:12

标签: sql-server tsql

我尝试从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 ...状态。

这里发生了什么?

2 个答案:

答案 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

这是恢复数据库的最有保障的方法。