還原SQL Server資料庫
最近剛好有一個案例,是我們同仁要把某台備份的資料庫還原到新的主機上,但在還原時遇到一些問題才知道過程沒這麼單純,下面是我操作的過程記錄
前面就不多談了,先建立資料庫在點選還原

原始備份檔沒問題,但要做還原時才發現有問題

會出錯的原因是因為備份的LogicalName不同造成的,所以我們得先找出這個名稱到底是什麼,使用的語法如下
restore filelistonly from disk='備份檔案路徑+檔名.bak'
接著我們再輸入下列語法,紅字部分需更換成自己實際環境的資料庫名稱跟路徑
restore DATABASE資料庫名稱
-- 要還原資料庫的名稱
from disk='
' --資料庫備份檔.bak 路徑
with

move
' to 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA<span style="color:#ff0000;">LogicalName.mdf', -- 設定成MSSQL資料庫存放路徑(mdf)
move '
' to 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA<span style="color:#ff0000;">LogicalName.ldf' -- 設定Log 存放路徑
,NoRecovery
,Replace
go
執行後可以看到原本左邊新增的資料庫的狀態已經變了,變成 "
正在還原...." 的狀態

最後在去做還原就完成了,完成後正在還原的狀態會消失


