sql2008備份集中的數據庫備份與現有的xxx數據庫不同解決方法


今天部署一個asp老項目,在用MSSQL數據庫備份文件還原數據庫時,發生了問題。
提示:sql2008備份集中的數據庫備份與現有的xxx數據庫不同
百度找到了這篇文章:sql2008備份集中的數據庫備份與現有的xxx數據庫不同解決方法
但我和他重現問題的步驟不一樣,他是以文件和文件組的方式還原出現了問題,而我是以數據庫的方式還原出現了問題。
換句話說,他的解決方案里的步驟就是我出錯的步驟,如圖:

最后,我嘗試用他文章里提到的,但他卻沒有試過的方法,以SQL命令的方式還原數據庫。

RESTORE DATABASE test     -- xxxx-改為你自己的數據名稱
FROM DISK = 'E:\test\data\xxx.bak'   --bak文件路徑 xxxx-改為你自己的數據名稱
with replace,
MOVE 'xxx' TO 'E:\test\data\test.mdf',   --mdf文件路徑--xxxx-改為你自己的數據名稱
MOVE 'xxx_log' TO 'E:\test\data\test_log.ldf'   --ldf文件路徑xxxx-改為你自己的數據名稱

執行時報錯,提示邏輯文件xxx不是數據庫xxx的一部分,請使用RESTORE FILELISTONLY 來列出邏輯文件名
根據提示,執行如下代碼。

RESTORE FILELISTONLY 
FROM DISK = 'E:\data\xxx.bak'

看到執行結果中的邏輯名后,剛才的代碼改成:

RESTORE DATABASE test     -- xxxx-改為你自己的數據名稱
FROM DISK = 'E:\test\data\xxx.bak'   --bak文件路徑 xxxx-改為你自己的數據名稱
with replace,
MOVE 'ceshi' TO 'E:\test\data\test.mdf',   --mdf文件路徑--xxxx-改為你自己的數據名稱
MOVE 'ceshi_log' TO 'E:\test\data\test_log.ldf'   --ldf文件路徑xxxx-改為你自己的數據名稱

再次執行,成功還原數據庫。

PS:在空數據庫上還原MSSQL數據庫備份文件時,要注意該備份文件當時的備份方式是否以完整備份的方式進行備份,而不是所謂的差異備份。如果是差異備份,會造成還原失敗

參考:https://www.cnblogs.com/rousi/p/5880751.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM