問題描述
今天在配置一個 ASP 站點時,導入以前的數據庫備份文件,提示:sql2008備份集中的數據庫備份與現有的xxx數據庫不同解決方法,百度之,發現是自己的操作步驟不對,特此記錄。
環境
- 系統環境:Hyper-V 下 windos server 2008 r2
- 數據庫: Microsoft SQL Server 2008
問題重現
- 新建一個數據庫,名稱與要恢復的數據庫名稱一致
- 【數據庫】上右鍵,【還原數據庫】
- 選擇剛才新建的空數據庫做為【目標數據庫】,選擇好【源設備】的文件路徑,確定,錯誤重現,如下:
正確操作
- 直接在【數據庫】上右鍵,選擇【還原數據庫】
- 在【還原數據庫】界面,配置好【源設備】的路徑,【目標數據庫】里面自動會出現你需要還原的數據庫的名稱,選擇它
- 剛才添加的備份集,點擊確定即可。
番外
出現問題時百度,發現很多人遇到,有人提供如下方法,未親測:
RESTORE DATABASE xxxx -- xxxx-改為你自己的數據名稱
FROM DISK = 'D:\db\xxxx.bak' --bak文件路徑 xxxx-改為你自己的數據名稱
with replace,
MOVE 'xxxx' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxxx.mdf', --mdf文件路徑--xxxx-改為你自己的數據名稱
MOVE 'xxxx_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxxx.ldf' --ldf文件路徑xxxx-改為你自己的數據名稱
注釋:xxxx是你需要還原的數據庫名稱,xxxx.bak是你需要還原的備份文件。
上面方法執行成功后,只有部分的表結構已經還原,而且表中沒有數據,這時就可以用系統默認的方法再用xxxx.bak文件還原一次數據庫就大功告成了,必須要選中覆蓋還原哦。