如題的還原MSSQL資料庫遇到備份組包含現有的xxx資料庫以外的資料庫備份問題

A主機(MSSQL不明)上有xxx 資料庫,B 主機(MSSQL2005)上也有 xxx 資料庫,

今天我要把 A 主機還原至 B 主機的 xxx 資料庫,

我拿到 A 主機Dump 出來的xxx.bak資料庫檔案,

執行 restore database apatw from disk = ‘i:\xxx.bak’ 出現了

“備份組包含現有的xxx資料庫以外的資料庫備份問題”

等錯誤訊息,

我猜想是兩邊放置MDF路徑不同,所以我

restore database xxx from disk = 'i:\xxx.bak'
with
move ''xxx to 'E:\Microsoft SQL Server\MSSQL.1MSSQL\Data\xxx.mdf',
move 'xxx_log' to 'E:\Microsoft SQL Server\MSSQL.1MSSQL\Data\xxx_log.LDF'

但也是不行,同樣錯誤訊息,原因也不用多談了,先解決問題吧

作法:

打開 MSSQL 的管理介面,到系統資料庫的master按右鍵→新增查詢→貼上下列指令

restore database xxx
from disk = 'i:\xxx.bak'
with
move 'xxx' to 'E:\Microsoft SQL Server\MSSQL.1MSSQL\Data\xxx.mdf',
move 'xxx_log' to 'E:\Microsoft SQL Server\MSSQL.1MSSQL\Data\xxx_log.LDF',
NoRecovery,
Replace
go

貼完後按執行

成功就會出現

...
...
restore database 已於 幾秒內成功處理了 多少頁 (2.123 MB/sec)。

再到xxx 這個資料庫按右鍵→工作→還原→資料庫→來源裝置→瀏覽 xxx.bak檔→勾選還原→確定

搞定成功 YA!!!

參考http://blog.yam.com/iamshiao/article/18601917

PS: 後續呢,要檢查一下使用者對不對,有時後,來源主機跟目的主機使用的帳號可能不一樣,到資料庫的安全性→使用者,去查看新增。

如果要驗證帳號密碼對不對,重新開啟 Microsoft SQL Server Management Studio,在驗證的地方選擇SQL Server 驗證,

然後新增剛輸入的帳號密碼,可成功登入即可。

Related posts 相關文章
perl 程式存取 MS SQL 資料庫
More...
Linux 救援光碟 SystemRescueCd,支援Windows,也可以遠端備份還原
More...
MSSQL 備份還原 (續) 完整備份與交易日誌備份
More...
MSSQL 備份還原
More...

作者

留言

路過的人 

專業

作者

這個情況可能會 “遇到使用者群組或角色在[資料庫名稱]的目前資料庫中已經存在” 訊息 就這麼解決 USE 資料庫名 GO ALTER USER 使用者 WITH LOGIN = 使用者 GO

作者

遇到問題: 無法獲得獨佔存取權,因為資料庫正在使用中 解決 在 restore 前先 ALTER DATABASE 你的DB名稱 SET OFFLINE WITH ROLLBACK IMMEDIATE

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。