Sqlserver資料庫使用 .bak 檔案還原資料庫

pandora2050發表於2024-06-27

1.有.bak原始檔;

2.1.如果本身沒有該資料庫

A.右鍵“資料庫”,點選“還原資料庫”

B.按下圖提示,選擇“裝置”,選擇路徑

C.點選“新增”按鈕,選擇要還原的.bak資料庫檔案,並確定

D1.按下圖提示操作

D2.可以修改檔案儲存路徑和檔名

D3.預設不打勾

E.執行成功

2.2.有資料庫,使用.bak檔案重新還原一個新的資料庫(測試等等)

A.保證目標資料庫名與源資料庫不重複

B.資料庫還原為的“路徑+檔名”,不能和現有資料庫儲存的檔案“路徑+檔名” 重複。

C.下圖紅框中不能勾選“保持源資料庫處於正在還原狀態”

D.勾選後,新的資料庫ItalyDB02已經有了,但是源資料庫顯示 “正在還原...”,該情況下也可以在master資料庫中執行“RESTORE DATABASE ItalyDB WITH RECOVERY”,恢復源資料庫。

原因如下:

"保持源資料庫處於正在還原狀態(with norecovery)" 是 SQL Server 中的一個選項,用於指定在還原操作完成後是否將資料庫保持在恢復狀態。如果選擇了這個選項,那麼資料庫將保持在恢復狀態,直到你手動執行 RESTORE DATABASE ItalyDB WITH RECOVERY 命令將其恢復為可讀寫狀態。

在你的情況下,當你取消勾選這個選項後,資料庫 ItalyDB 就從恢復狀態轉為了可讀寫狀態,不再顯示為正在還原。這是因為 SQL Server 知道你不想保持資料庫在恢復狀態,所以在還原操作完成後,自動將資料庫轉為了可讀寫狀態。

如果你選擇了 "保持源資料庫處於正在還原狀態(with norecovery)" 選項,那麼你需要手動執行 RESTORE DATABASE ItalyDB WITH RECOVERY 命令來將資料庫轉為可讀寫狀態。這個命令的作用就是將資料庫從恢復狀態轉為可讀寫狀態。

總的來說,取消勾選 "保持源資料庫處於正在還原狀態(with norecovery)" 選項和執行 RESTORE DATABASE ItalyDB WITH RECOVERY 命令的效果是一樣的,都可以將資料庫從恢復狀態轉為可讀寫狀態。

相關文章