如何:還原資料庫備份 (Transact-SQL)

本主題說明如何還原完整資料庫備份。

重要事項重要事項

負責還原完整資料庫備份的系統管理員,必須是目前唯一正在使用即將還原之資料庫的人員。

必要條件和建議

  • 若要還原加密的資料庫,您必須能夠存取之前用來加密資料庫的憑證或非對稱金鑰。如果沒有該憑證或非對稱金鑰,就無法還原資料庫。因此,只要需要備份,就必須保留用來加密資料庫加密金鑰的憑證。如需詳細資訊,請參閱<SQL Server 憑證和非對稱金鑰>。

  • 基於安全性的理由,建議您不要附加或還原來源不明或來源不受信任的資料庫。這種資料庫可能包含惡意程式碼,因此可能執行非預期的 Transact-SQL 程式碼,或是修改結構描述或實體資料庫結構而造成錯誤。使用來源不明或來源不受信任的資料庫之前,請先在非實際伺服器中的資料庫上執行 DBCC CHECKDB,同時檢查資料庫中的程式碼,例如預存程序或其他使用者定義程式碼。

升級後的資料庫相容性層級

tempdbmodelmsdbResource 資料庫的相容性層級在升級之後會設定為 100。master 系統資料庫會保有升級前的相容性層級,除非該層級小於 80。如果 master 的相容性層級在升級前小於 80,則會在升級後設定為 80。

如果使用者資料庫的相容性層級在升級前為 80 或 90,則在升級後仍會保持相同。如果升級前的相容性層級為 70 或更小,則在升級後的資料庫中,相容性層級會設定為 80 (這是 SQL Server 2008 所支援的最低相容性層級)。

[!附註]

新的使用者資料庫會繼承 model 資料庫的相容性層級。

程序

若要還原完整資料庫備份

  1. 執行 RESTORE DATABASE 陳述式以還原完整資料庫備份,請指定:

    • 所要還原的資料庫名稱。

    • 將要還原完整資料庫備份的備份裝置。

    • 如果完整資料庫備份還原以後需要套用交易記錄或差異資料庫備份,則請指定 NORECOVERY 子句。

    重要事項重要事項

    若要還原加密的資料庫,您必須能夠存取之前用來加密資料庫的憑證或非對稱金鑰。如果沒有該憑證或非對稱金鑰,就無法還原資料庫。因此,只要需要備份,就必須保留用來加密資料庫加密金鑰的憑證。如需詳細資訊,請參閱<SQL Server 憑證和非對稱金鑰>。

  2. (選擇性) 指定:

    • 識別備份裝置上欲還原之備份組的 FILE 子句。

[!附註]

在您將 SQL Server 2005 或 SQL Server 2000 資料庫還原為 SQL Server 2008 之後,資料庫就會變成立即可用,然後自動進行升級。如果資料庫具有全文檢索索引,升級程序就會根據 upgrade_option伺服器屬性的設定,匯入、重設或重建這些索引。如果升級選項設定為匯入 (upgrade_option = 2) 或重建 (upgrade_option = 0),則全文檢索索引在升級期間將無法使用。根據進行索引的資料數量而定,匯入可能需要數個小時,而重建可能需要十倍以上的時間。此外,請注意,當升級選項設定為 [匯入] 時,如果全文檢索目錄無法使用,系統就會重建相關聯的全文檢索索引。若要變更 upgrade_option 伺服器屬性的設定,請使用 sp_fulltext_service

範例

描述

此範例會從磁帶還原 AdventureWorks2008R2 完整資料庫備份。

程式碼

USE master
GO
RESTORE DATABASE AdventureWorks2008R2
   FROM TAPE = '\\.\Tape0'
GO