SQLSERVER 一直處於正在還原的狀態
阿新 • • 發佈:2020-07-21
方法一:
原因分析
1)管理器不會主動重新整理,需要手工重新整理一下才能看到最新狀態(效能方面的考慮)
2)很少情況下,恢復程序被掛起了。這個時候假設你要恢復並且回到可訪問狀態,要執行:
RESTORE database dbname with recovery
這使得恢復過程能完全結束。
我自己就是執行這句SQL語句後問題直接解決了。
3)如果你要不斷恢復後面的日誌檔案,的確需要使資料庫處於“正在還原狀態”,
這通常是執行下面命令:
RESTORE database dbname with norecovery
下面另外一個方法我沒有試,在此僅記錄一下。
方法二:
RESTORE DATABASE demo FROM DISK = 'D:/demo.bak' WITH MOVE 'demo' TO 'd:/demo.mdf', MOVE 'demo_log' TO 'd:/demo.ldf', STATS = 10, REPLACE GO
如果不清楚備份檔案對應的邏輯檔名,可用如下進行查詢:
--返回由備份集內包含的資料庫和日誌檔案列表組成的結果集。
--主要獲得邏輯檔名
USE master RESTORE FILELISTONLY <wbr /> <wbr /> FROM DISK = 'D:/T/PDMTraining.bak' Go