2013/12/13

SQL Server 備份還原 - 備份組包含現有的資料庫以外的資料庫備份

今天嘗試做資料庫的移機

做法是從A電腦的資料庫,按右鍵備份(選完整備份)

然後把備份檔複製到B電腦,在B電腦開一個新的資料庫,按右鍵還原

還原的時候遇到了這樣的錯誤訊息:備份組包含現有的資料庫以外的資料庫備份

爬了一下 google 文章

大部分的人是這樣解的:

===以下節錄其中一篇===

1.先執行以下的SQL

USE [master]
GO

restore database #資料庫名稱
from disk = '#備份資料庫檔路徑及檔名'
with
move '資料庫檔案邏輯名稱' to '資料庫mdf檔案所在位置',
move '資料庫記錄檔邏輯名稱' to '資料庫記錄檔ldf檔案所在位置',
NoRecovery,
Replace
go

執行完畢資料庫會呈現「還原中」

2.到要還原的資料庫上按右鍵→[工作]→[還原]→[資料庫]→[來源裝置]→瀏覽備份檔→勾選還原→確定
如此就完工了

===以上節錄其中一篇===

我看了覺得很怪 認為這個做法很不正常

於是繼續爬 Google 發現到另一個解法

===以下節錄另一個解===

SQL SERVER 資料庫備份:

  => 在資料庫上點右鍵 -> 工作 -> 備份 來建立備份。

 (第一次建完整,第二次以後就建差異備份)

 (一陣子可以重新再建立一次完整的備份)

 若出現“無法開啟備份裝置 'C:\123'。作業系統錯誤 5(存取被拒。)。"”

 -> 檢查SQL SERVER 組態管理員,SQL SERVER 的登入身份是否為LOCALSYSTEM

還原:

  => 在資料庫上右鍵 -> 工作 -> 還原 -> 資料庫

 若出現“備份組包含現有的xx資料庫以外的資料庫備份”時,

 在選項,勾選 覆寫現有的資料庫

===以上節錄另一個解===

這個看起來就很合理

但很多人搜尋到第一個解之後就寫一篇文紀念他

結果造成第一篇文的解法被發揚光大

所以我寫一篇文章 希望大家以後遇到這個問題可以選用第二個解

3 則留言:

Aya 提到...

感謝分享!我也出現同樣問題,但勾選覆寫就ok了!

Jessie Chiu 提到...

我用解法2,還是一樣出現備份組包含現有的x x資料庫以外的資料庫備份QQ

匿名 提到...

感謝大恩大德 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!