2013-01-17 145 views
1

後,我試圖從SQL Management Studio中創建.bak文件2012數據庫被「恢復」恢復

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 

它經歷了後來無法打開數據庫還原數據庫時,總有恢復...名稱上的狀態。

這是怎麼回事?

回答

1

數據庫保持恢復狀態,正在等待其他日誌恢復。使用WITH RECOVERY來完成還原。

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 

這是最可靠方法來恢復數據庫。