[SQL SERVER][TS]如何挽救正在還原狀態資料庫

[SQL SERVER][TS]如何挽救正在還原狀態資料庫

今天收到朋友一個求救訊息,朋友打算還原某個離線資料檔案,

所以就直接拿備份檔案來還原,誰知資料庫一直處於正在還原的狀態,

無法順利開啟該資料庫,下面我將先重現錯誤訊息並也說明該如何順利開啟資料庫

 

重現錯誤訊息

 

image

某個離線資料檔案

 

直接從備份檔案還原該離線檔案後,資料庫呈現正在還原中狀態

restore database mytest file='test01' from disk='d:\mytest1.bak'
with recovery

 

 

 

image

image

 

使用 REPLACE  選項 (將會遺失 CheckPoint 時間點以外的資料,需謹慎使用)

image

 

確認檔案狀態

image

 

確認資料庫狀態

image

image

搞定收工

 

結論:

在執行任何還原之前,我習慣會先執行結尾交易紀錄檔(backup log…),

而這錯誤也是因為沒有備份結尾交易紀錄檔(還原步驟錯誤),這裡強調一下,

當你現有資料庫掛掉或想要還原某個時間點資料..等情況發生時,

切記第一個步驟請先執行結尾交易紀錄檔(如果可以的話),而不是先Restore Database…

 

 

參考

使用 REPLACE 選項