1

我尝试从 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

它通过但随后无法打开数据库,名称上始终显示正在恢复...状态。

这里发生了什么?

4

2 回答 2

1

数据库仍处于恢复状态,等待额外的日志恢复。使用 WITH RECOVERY 完成还原。

于 2013-01-17T08:16:38.447 回答
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

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

于 2013-01-17T08:16:45.737 回答