1. 程式人生 > 實用技巧 >SQLSERVER 一直處於正在還原的狀態

SQLSERVER 一直處於正在還原的狀態

方法一:

原因分析

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