VSS 備份狀態
在備份作業期間,要求者會使用 IVssBackupComponents::SetBackupState 來定義進行中的作業類型。
此資訊不會包含在備份元件檔中容易擷取的表單中,因此要求者開發人員應該將此資訊獨立儲存在任何備份媒體上。
備份狀態包含下列專案:
-
備份類型
-
備份類型會指定要備份之檔案的識別準則。 您必須使用 VSS API 評估這些準則。
決定要執行的備份類型以及要使用的寫入器時,要求者應該檢查 (或架構的類型,請參閱 寫入器備份架構支援) 每個系統寫入器支援的備份作業。 VSS 下的備份可以是下列類型:
- 完整 (VSS_BT_FULL) —無論上次備份日期為何,都會備份檔案。 每個檔案的備份歷程記錄都會更新,而且這種類型的備份可作為增量或差異備份的基礎。 還原完整備份只需要單一備份映射。
- 複本備份 (VSS_BT_COPY) ,就像VSS_BT_FULL備份類型一樣,不論檔案的上次備份日期為何,都會進行備份。 不過,不會更新每個檔案的備份歷程記錄,而且這種備份不能當做增量或差異備份的基礎。
- 累加式 (VSS_BT_INCREMENTAL) —VSS API 可用來確保只有自上次完整備份或增量備份後已變更或新增的檔案會複製到儲存媒體。 還原增量備份需要原始備份映射,以及自初始備份後建立的所有增量備份映射。
- 差異 (VSS_BT_DIFFERENTIAL) — VSS API 可用來確保只有上次完整備份之後已變更或新增的檔案會複製到儲存媒體;會忽略所有中繼備份資訊。 還原差異備份需要原始備份映射,以及自上次完整備份後建立的最新差異備份映射。
- 記錄檔 (VSS_BT_LOG) —只有寫入器的記錄檔 (使用 IVssCreateWriterMetadata::AddDataBaseLogFiles 方法新增至元件,並由 IVssWMComponent::GetDatabaseLogFile) 呼叫擷取。 此備份類型專屬於 VSS。
要求者可以使用 VSS 以外的資訊和方法來實作這些備份。 只有當要求者使用 VSS API 實作備份時,才應該說有其中一個列出的備份類型。 例如,只有在要求者使用 IVssWMComponent::GetDatabaseLogFile 傳回的資訊來識別記錄檔時,要求者才會參與VSS_BT_LOG類型的備份。 同樣地,VSS_BT_INCREMENTAL和VSS_BT_DIFFERENTIAL類型只適用于增量或差異作業,如 增量備份和差異備份中所述。
-
可選取性的規格
-
VSS 備份可以選擇遵守元件可選取性的 VSS 概念,這稱為在 元件模式中執行,或忽略它們。
在元件模式中未執行的範例是執行系統映射備份,其中備份應用程式需要寫入器合作,以確保資料穩定性,但選取元件不相關。
-
儲存可開機狀態
-
VSS 支援在完全可開機設定中儲存執行中的系統狀態。 不過,這並非一定必要,而且儲存可開機狀態的寫入器準備有時會降低執行中系統的即時效能。
因此,要求者會指出備份是否將可開機的系統狀態作為 IVssBackupComponents::SetBackupState的引數。 寫入器會呼叫 CVssWriter::IsBootableStateBackedUp,判斷它們是否必須支援儲存可開機的系統狀態。
即使未選取可開機的系統狀態,系統檔案的陰影複製也會建立,而且可能會備份檔案。
不過,如果備份未儲存可開機系統狀態, (請參閱 在 Windows Server 2003 R2 和 Windows Server 2003 SP1) 中備份和還原系統狀態時 ,請務必在還原系統檔案時特別小心。
無法從擷取的備份元件檔復原這項資訊,因此要求者應該儲存系統是否使用可開機系統狀態進行備份。
-
部分檔案支援
-
有些寫入器透過覆寫所管理之檔案的部分來支援檔案還原。 要求者可以設計來利用這項功能,若是如此,請在 IVssBackupComponents::SetBackupState中設定資訊來指出此情況。