如何:將檔案還原到新位置 (Transact-SQL)

此主題解釋如何將檔案還原到新位置。

重要事項重要事項

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

若要將檔案還原到新位置

  1. 選擇性執行 RESTORE FILELISTONLY 陳述式,以決定完整資料庫備份中之檔案的數目和名稱。

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

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

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

    • 替要還原的每個檔案指定 MOVE 子句,將其還原到新位置上。

    • NORECOVERY 子句。

  3. 如果檔案在備份建立之後做過修改,則請執行 RESTORE LOG 陳述式以套用交易記錄備份,並指定下列項目:

    • 交易記錄檔要套用的資料庫名稱。

    • 用於還原交易記錄備份的備份裝置。

    • 倘若在目前的交易記錄備份之後還有另一個交易記錄備份要套用,請指定 NORECOVERY 子句,否則請指定 RECOVERY 子句。

      您所套用的交易記錄備份必須涵蓋檔案和檔案群組備份的時間。

範例

此範例會將原本位於磁碟機 C 的兩個 MyNwind 資料庫的檔案還原到磁碟機 D 上的新位置。此外,也會套用兩個交易記錄檔,以將資料庫還原到目前的時間。RESTORE FILELISTONLY 陳述式是用來決定要還原的資料庫中檔案的數目及其邏輯與實體名稱。

USE master
GO
-- First determine the number and names of the files in the backup.
RESTORE FILELISTONLY
   FROM MyNwind_1
-- Restore the files for MyNwind.
RESTORE DATABASE MyNwind
   FROM MyNwind_1
   WITH NORECOVERY,
   MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
   MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf'
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
   FROM MyNwind_log1
   WITH NORECOVERY
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
   FROM MyNwind_log2
   WITH RECOVERY
GO