完整檔案備份

本主題僅與包含多個檔案或檔案群組的 SQL Server 資料庫有關。

[!附註]

如需各種備份類型的概觀,請參閱<簡單復原模式下的備份>或<在完整復原模式下備份>。

完整檔案備份會備份一或多個檔案或檔案群組中的所有資料。在完整復原模式下,一組完整的完整檔案備份連同足以涵蓋所有檔案備份的記錄備份,就相當於一個完整資料庫備份。

[!附註]

完整檔案備份通常稱為「檔案備份」,但與「差異檔案備份」明確對照時除外。

使用檔案備份可以增加復原的速度,因為這樣可以讓您只還原受損的檔案,而不需要還原資料庫的其餘部分。例如,如果資料庫由數個檔案組成,這些檔案分別位在不同磁碟上,現在有一個磁碟故障了,就只需還原故障磁碟上的檔案。

資料庫中的檔案可個別備份及還原。在 BACKUP 或 RESTORE 陳述式中,您可以指定整個檔案群組,而不是個別指定每個構成的檔案。您要注意,如果檔案群組的任何檔案離線 (例如,因為正在還原中),整個檔案群組就會離線,並且無法加以備份。

[!附註]

在 SQL Server 7.0 版和 SQL Server 2000 中,檔案備份和差異檔案備份不包含記錄檔記錄。必須明確套用記錄備份,才能復原其資料。因此,在這些版本中,檔案備份只能使用於完整復原及大量記錄復原模式。在 SQL Server 2005 及更新的版本中,檔案備份預設會包含足以將檔案向前復原到備份作業結束的記錄檔記錄。

檔案備份的優點和缺點

檔案備份提供下列優於資料庫備份的優點:

  • 復原隔離媒體的故障時比較快速。可以快速還原損毀的檔案。

  • 比起完整資料庫備份,檔案備份在排程與媒體處理上彈性更大,因為對於大型資料庫,完整資料庫備份會變得難以管理。對於含有各種更新特性資料的大型資料庫來說,檔案或檔案群組備份的增強彈性也很有用處。

相較於完整資料庫備份,檔案備份的主要缺點在於增加管理上的複雜性。如果損毀的檔案沒有備份,媒體故障將可能造成整個資料庫無法復原。因此,必須維護一組完整的檔案備份,而在完整/大量記錄復原模式下,則還要備份一或多個記錄備份,至少涵蓋第一次完整檔案備份和最後一次完整檔案備份之間的間隔。

維護和持續追蹤完整的備份組是相當耗時的工作,其耗費成本甚至可能會超過完整資料庫備份的空間需求。

在完整復原模式下使用差異檔案備份,雖然會在管理上產生額外的複雜性,但是可以減少必須還原的記錄備份數目。如需詳細資訊,請參閱<差異檔案備份>。

[!附註]

唯讀檔案群組的檔案備份可以結合部分備份。部分備份包含所有讀取/寫入檔案群組,以及一或多個唯讀檔案群組 (選用)。如需詳細資訊,請參閱<部分備份>。

備份檔案時的注意事項

為了充分發揮使用檔案備份的優點,請考慮磁碟上的資料配置方式與使用模式。我們建議下列指導方針:

  • 修改頻繁的資料要經常備份。

  • 不常修改的資料要較少備份。

  • 唯讀資料只備份一次。

    [!附註]

    對於每一個復原模式來說,備份唯讀檔案或檔案群組都是相同的。

同一時間只能進行一個檔案備份作業。您可以在一個作業中備份多個檔案,但是如果您只需要還原單一檔案,這樣可能延長復原的時間。這是因為若要找到這個檔案,就要讀取整個備份。

[!附註]

您可以從資料庫備份還原個別檔案;不過,若要尋找並還原一個檔案,從資料庫備份著手會比從檔案備份來得更久。

簡單復原模式的其他考量

在簡單復原模式下,必須將所有的讀取/寫入檔案備份在一起。這樣可以確保將資料庫還原到一致的時間點。不要個別指定每一個讀取/寫入檔案或檔案群組,請改用 READ_WRITE_FILEGROUPS 選項。這個選項會備份資料庫中的所有讀取/寫入檔案群組。指定 READ_WRITE_FILEGROUPS 所建立的備份即稱為「部分備份」。如需詳細資訊,請參閱<部分備份>。

完整復原模式的其他注意事項

在完整復原模式下,不論備份策略的其餘部分為何,您都必須備份交易記錄。一組完整的完整檔案備份,連同足以從第一個檔案備份開始涵蓋所有檔案備份的記錄備份,就相當於一個完整資料庫備份。

只使用檔案和記錄備份來還原資料庫可能會很複雜。因此,最好是盡可能執行完整資料庫備份,然後在第一次檔案備份之前啟動記錄備份。下圖顯示在建立資料庫 (時間 t0) 之後不久即建立完整資料庫備份 (時間 t1) 的策略。第一個資料庫備份可讓交易記錄備份啟動。交易記錄備份已排程為依設定的間隔進行。當間隔最符合資料庫的商務需求時,就會進行檔案備份。本圖顯示逐一備份的四個檔案群組。這些檔案群組的備份順序 (A、C、B、A) 反映了資料庫的商務需求。

結合資料庫、檔案和記錄備份的策略

在完整復原模式下,還原讀取/寫入檔案備份時必須向前復原交易記錄,以確保檔案與資料庫其餘部分的一致性。為了避免向前復原過多的交易記錄備份,請考慮使用差異檔案備份。如需詳細資訊,請參閱<差異檔案備份>。

建立檔案或檔案群組備份

建立檔案備份所需的 BACKUP 語法為:

BACKUP DATABASE database_name <file_or_filegroup> [ ,...n ] TO <backup_device>

[!附註]

檔案或檔案群組的第一個備份必須備份完整的檔案或檔案群組。當建立了檔案或檔案群組的完整備份之後,您就可以根據這個完整備份,建立一系列的一或多個差異檔案備份。如需詳細資訊,請參閱<差異檔案備份>。

備份檔案與檔案群組

[!附註]

「維護計畫精靈」不支援檔案備份。

使用差異檔案備份

檔案備份可以當成差異檔案備份的「差異基底」。這可讓您透過一小串差異檔案備份來補充檔案備份。如需詳細資訊,請參閱<使用差異備份>和<差異檔案備份>。