共用方式為


控制向前復原期間加入檔案的建立

一般而言,在完整備份之後的檔案和檔案群組變更都會透明處理。如果檔案是在最後一次備份檔案群組之後加入至資料庫,當您還原資料庫時,最簡單的方法就是讓還原作業自動在還原的資料庫中重建所有的檔案。不過,可能也會多餘地重建未受損的唯讀檔案。使用還原作業來修復已知的隔離問題時,您可以只還原有問題的檔案,以使還原效能最佳化。

[!附註]

如果您還原包含 SQL Server Database Engine 預期卸除之檔案的備份,SQL Server Database Engine 就會略過這些檔案的資料複製及重做階段。如需有關這些階段的詳細資訊,請參閱<了解在 SQL Server 中還原和復原備份的運作方式>。

還原作業是否建立檔案,取決於您是否在 RESTORE DATABASE 陳述式中指定檔案或分頁,如下所示:

  • 若未指定特定的檔案或分頁

    這是典型的案例。在遇到將檔案加入至資料庫的記錄檔項目時,還原作業會自動建立檔案並將其加入至向前復原集。確切的行為要取決於您是否在 RESTORE DATABASE 陳述式中指定任何的檔案群組。若您未指定任何檔案群組,則會建立所有新檔案並將其加入至向前復原集。若您指定了任何檔案群組,唯有在檔案屬於指定的檔案群組時,才會建立新檔案並將其加入至向前復原集。

    **最佳作法:**在大部分的還原作業中,避免列出特定的檔案,以允許自動重建記錄交易所建立的任何檔案。

  • 已指定特定的檔案或分頁:

    在 RESTORE DATABASE 陳述式中列出特定的檔案或分頁,可定義確切的向前復原集。當您列出檔案或分頁時,還原作業會完全按照您的指示,並且只還原那些項目。

    未列出的檔案會被認為是好的檔案,不會從記錄檔建立。因此,在還原包含加入檔案作業的記錄備份時,您必須在 RESTORE 陳述式中指定加入檔案的名稱。

本主題的其餘部分將說明如何識別含有加入檔案作業的檔案,以及如何確保在還原順序期間重建這些檔案。

識別哪個記錄檔包含加入檔案作業

您可以用下列方法來識別哪個記錄檔包含加入檔案作業:

  • 您可以使用 file-create LSN (create_lsn)。這可在 sys.database_filessys.master_files 目錄檢視中找到。

  • 您可以從 msdb 中的備份記錄資料表取得備份檔案內容的相關資訊,或是使用 RESTORE FILELISTONLY。如需詳細資訊,請參閱<RESTORE FILELISTONLY (Transact-SQL)>。

還原沒有完整備份的檔案或分頁

您可以在記錄檔或差異還原中,指定檔案清單、分頁清單或檔案群組。這項功能可讓您還原沒有完整資料庫備份的檔案或分頁。從差異或記錄備份來還原檔案或分頁並不符合常規,因為還原順序必須從完整備份開始。

從差異檔案備份還原的基本語法如下:

RESTORE DATABASE <database_name> <file_filegroup_page_list> FROM <differential backup>

從記錄備份來還原的基本語法如下:

RESTORE LOG <database_name> <file_filegroup_page_list> FROM <log backup>