備份元件檔生命週期

要求者對備份元件檔的生命週期有主要責任。

這個控制項是由CreateVssBackupComponents 所傳回的 IVssBackupComponents介面物件的實例所執行。

要求者必須在備份或還原之前初始化備份元件檔,方法是呼叫 IVssBackupComponents::InitializeForBackupIVssBackupComponents::InitializeForRestore。 要求者可以將檔初始化為空白,也可以載入先前儲存的檔複本。

針對備份作業,備份元件檔通常會初始化為空白。 其資料將會在處理備份的過程中,填入系統寫入器的合作。

針對還原作業,備份元件檔通常會從初始備份期間產生的預存檔初始化。 這可讓還原 (搭配檢查儲存的寫入器元資料檔案) ,以判斷最初備份的資料,以及如何還原資料。

備份 可傳輸的陰影複製 是此規則的例外狀況。 在此情況下,陰影複製可能已從一個系統 (建立,以及初始備份元件檔) 移至另一個系統,方法是重新指派共用儲存裝置的邏輯單元。 若要在這些情況下備份,要求者會載入預存的備份狀態,並從初始系統離開的位置繼續進行。 (如需詳細資訊,請參閱 匯入可傳輸的陰影複製磁片區。)

在處理備份的過程中,要求者會決定哪些元件會根據哪些元件標示為 可選取進行備份、元件的 邏輯路徑,以及自己的內部邏輯,來實際複製哪些元件。

部分元件會 明確包含在 備份作業中;元件的相關資訊將會新增至備份元件檔。 其他則會 隱含地包含在 備份中;新增元件的相關資訊將不會新增至備份元件檔。

對於沒有邏輯路徑中可選取上階的備份元件而言,所有寫入器的不可選取,而且要求者選擇的備份元件皆可選取,將會明確新增。

如果備份元件在其邏輯路徑中有可選取的上階,則可以隱含地新增不可選取和可選取的備份元件,這會明確包含在備份中。 這些元件 (子元件) 是由其可選取的上階所定義的 元件集 成員。

處理還原作業時,要求者會使用 可選取性進行還原 ,而不是將備份與邏輯路徑資訊和自己的內部邏輯搭配使用,以決定要還原的檔案。

如果已隱含新增至備份的元件現在已明確新增至還原,要求者將會使用該元件的資訊更新備份元件檔。

預存元件的相關資訊可透過 IVssComponent 介面的實例提供給要求者和寫入器使用。

它是透過 IVssComponent 介面,寫入器可以查詢和 (直到 PostSnapshotPostRestore 事件的結尾,) 修改備份元件檔中的資訊。

CVssWriter::OnPrepareBackupCVssWriter::OnPreRestoreCVssWriter::OnPostSnapshotCVssWriter::OnBackupCompleteCVssWriter::OnPostRestore 事件處理常式呼叫時,寫入器會收到 IVssWriterComponents 介面的實例。

請注意,在產生 BackupComplete 事件時,備份元件檔會變成隻讀,因此 CVssWriter::OnBackupComplete 無法使用 IVssComponent 介面加以修改。

IVSSWriterComponents 介面中,寫入器可以擷取 IVssComponent 介面的實例,以允許它存取明確新增至備份元件檔的所有元件,以及變更其狀態。 如需詳細資訊,請參閱 在 VSS 下處理備份 的概 觀和在 VSS 下處理還原的概觀

IVssBackupComponents 介面發行時,備份元件檔會從記憶體中移除,而且必須使用 IVssBackupComponents::SaveAsXML儲存,否則將會遺失其所有資訊。

此外,當正確發行 IVssBackupComponents 檔時,會產生 BackupShutdown 事件並刪除自動發行陰影複製