使用備份與還原來複製資料庫

在 SQL Server 2008 R2 中,您可以藉由還原使用 SQL Server 2000、SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 所建立的資料庫備份來建立新的資料庫。但是,SQL Server 2008 R2 無法還原使用 SQL Server 2000 或 SQL Server 2005 所建立的 mastermodelmsdb 備份。此外,任何舊版 SQL Server 都無法還原 SQL Server 2008 R2 備份。

使用 SQL Server 7.0 或之前版本所建立的資料庫備份,其格式不相容,而且不能在 SQL Server 2008 R2 中還原。如需有關如何將使用 SQL Server 6.5 或之前版本所建立的資料庫移轉至 SQL Server 2005 的詳細資訊,請參閱<複製 SQL Server 7.0 或舊版的資料庫>。

重要事項重要事項

SQL Server 2008 和 SQL Server 2008 R2 使用與之前版本不同的預設路徑。因此,若要從備份還原在 SQL Server 2000 或 SQL Server 2005 的預設位置中建立的資料庫,就必須使用 MOVE 選項。如需有關新預設路徑的資訊,請參閱<SQL Server 的預設和具名執行個體的檔案位置>。如需移動資料庫檔案的詳細資訊,請參閱本主題稍後的「移動資料庫檔案」。

使用備份與還原來複製資料庫的一般步驟

當您使用備份與還原將資料庫複製到 SQL Server 的另一個執行個體時,來源和目的地電腦可為執行 SQL Server 的任何平台。

一般步驟如下:

  1. 備份來源資料庫,它可能在 SQL Server 2000、SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 的執行個體上。執行 SQL Server 執行個體的電腦稱為「來源電腦」(Source Computer)。

  2. 在要複製資料庫的目標電腦上 (即「目的地電腦」),請連接到您打算還原資料庫的 SQL Server 執行個體。如有需要,請在目的地伺服器執行個體上建立與來源資料庫備份所用的相同備份裝置。

  3. 在目的地電腦上還原來源資料庫的備份。還原資料庫會自動建立所有的資料庫檔案。

下列主題討論會影響此處理序的其他注意事項。

在還原資料庫檔案之前

還原資料庫會自動建立還原資料庫所需的檔案。依預設,SQL Server 在還原處理期間所建立的檔案會使用與來源電腦上的原始資料庫中的備份檔案相同的名稱和路徑。若要避免錯誤和意外的結果,請在還原作業之前,找出哪些檔案是由還原作業所自動建立,因為:

  • 檔案名稱可能已存在電腦上,而造成錯誤。

  • 目標位置可能空間不夠。

  • 電腦上沒有目錄結構或磁碟機對應。

    例如,備份中包含須還原至 E 磁碟機的檔案,但目的電腦沒有 E 磁碟機。

  • 如果可以取代資料庫檔案,則會覆寫與備份中的那些資料庫和檔案同名的現有資料庫和檔案 (除非那些檔案是屬於不同的資料庫)。

警告注意事項注意

如果您重複使用現有的資料庫名稱和目的地,而且它的檔案可加以覆寫,則會覆寫與備份中那些檔案同名的現有檔案。

在還原資料庫時,您可以視需要指定還原資料庫的裝置對應、檔案名稱或路徑。

移動資料庫檔案

如果資料庫備份內的檔案因為前述理由而無法還原至目的地電腦,則在還原檔案時必須將檔案移到新位置。例如:

  • 您想要從建立於 SQL Server 2000 或 SQL Server 2005 之預設位置的備份中還原資料庫。

  • 由於容量的因素,可能有必要將備份中的部分資料庫檔案還原至其他磁碟機。這種情況很可能會發生,因為組織內的大部分電腦不會擁有個數與大小一樣的磁碟機,以及完全一樣的軟體組態。

  • 可能有必要在同一部電腦上建立現有資料庫的副本,以供測試之用。在這種情況下,原始資料庫的資料庫檔已存在,所以在還原過程中建立資料庫副本時必須指定不同的檔案名稱。

如需詳細資訊,請參閱本主題稍後的「將檔案與檔案群組還原至新的位置」。

變更資料庫名稱

將資料庫還原至目的電腦時可以變更資料庫的名稱,而不必先還原資料庫,然後手動變更名稱。例如,可能必須將資料庫名稱從 Sales 改成 SalesCopy,以指出這是資料庫的副本。

會自動使用您還原資料庫時明確提供的資料庫名稱做為新的資料庫名稱。因為資料庫名稱尚未存在,所以會使用備份中的檔案建立新名稱。

使用還原來升級資料庫時

從 SQL Server 2000 或 SQL Server 2005 還原備份時,事先知道備份中的每個全文檢索目錄路徑 (磁碟機和目錄) 是否存在於目的地電腦上,是有幫助的。若要列出備份中每個檔案 (包括目錄檔案) 的邏輯名稱和實體名稱 (路徑和檔案名稱),請使用 RESTORE FILELISTONLY FROM <backup_device> 陳述式。如需詳細資訊,請參閱<RESTORE FILELISTONLY (Transact-SQL)>。

如果目的地電腦上並無相同路徑存在,則您有兩個替代方案:

  • 在目的地電腦上建立同等的磁碟機/目錄對應。

  • 在還原作業期間,在 RESTORE DATABASE 陳述式中使用 WITH MOVE 子句,將目錄檔案移到新位置。如需詳細資訊,請參閱<RESTORE (Transact-SQL)>。

如需有關升級全文檢索索引之替代選項的詳細資訊,請參閱<全文檢索搜尋升級>。

資料庫擁有權

當資料庫在另一部電腦上還原時,初始還原作業的 SQL Server 登入或 Microsoft Windows 使用者會自動變成新資料庫的擁有者。還原資料庫時,系統管理員或新的資料庫擁有者可以變更資料庫擁有權。若要防止未經授權的資料庫還原,請使用媒體或備份組密碼。如需詳細資訊,請參閱<備份和還原的安全性考量因素>。

還原至另一個伺服器執行個體時管理中繼資料

當您在另一個伺服器執行個體還原資料庫時,為了提供一致的經驗給使用者和應用程式,您可能需要在其他伺服器執行個體上為資料庫重新建立部分或全部的中繼資料,例如登入和作業。如需詳細資訊,請參閱<在另一個伺服器執行個體上提供可用的資料庫時,管理中繼資料>。

檢視備份組中的資料與記錄檔

將檔案與檔案群組還原至新的位置

以覆蓋現有檔案的方式還原檔案與檔案群組

將檔案與檔案群組還原至新的位置

使用新名稱還原資料庫

重新啟動被中斷的還原作業

變更資料庫的擁有者

使用 SQL Server 管理物件 (SMO) 複製資料庫