實際檔案還原概觀

執行 還原初始化概 觀和 準備還原概觀中所述的動作之後,要求者就有足夠的資訊可以開始還原檔案。 檔案還原不涉及寫入器互動或事件產生。 如需詳細資訊,請參閱 在 VSS 下處理還原的概觀

下表顯示還原檔案所需的動作和事件順序。

要求者動作 事件 寫入器動作
為備份媒體上的檔案產生還原集清單。
處理 導向目標部分檔案 還原 (請參閱 IVssComponent::GetDirectedTargetIVssComponent::GetPartialFile) 。
如有必要,請忽略所有指定的還原位置,並還原至先前呼叫 IVssBackupComponents::AddNewTarget中指定的新位置。
如果還原是累加還原且需要進一步還原,請指出 (請參閱 IVssBackupComponents::SetAdditionalRestores增量和差異備份) 。
若要瞭解寫入器是否已修改備份元件檔的內容,請呼叫 IVssBackupComponents::GetWriterComponents。 例如,寫入器可能已經變更還原目標。

 

還原檔案期間的要求者動作

對於備份媒體上的大部分檔案,要求者必須判斷其原始位置,以及套用至備份媒體的任何新位置或替代位置對應。 (請參閱 產生還原集 ,以瞭解判斷要還原的檔案和還原位置的最佳做法。)

此外,某些檔案可能會有 導向目標 ,或支援 部分檔案 還原。 呼叫 IVssComponent::GetDirectedTargetCountIVssComponent::GetPartialFileCount即可找到這類檔案的數目,以及呼叫 IVssComponent::AddDirectedTargetIVssComponent::GetPartialFile來找到詳細還原指示的相關資訊。 (部分和導向檔案可以是隱含或明確新增至原始備份的元件一部分,如需詳細資訊,請參閱 使用還原和子元件的可選取性 。)

使用 IVssBackupComponents::SetFileRestoreStatus,以元件為基礎指出還原成功或失敗。 在累加式或差異還原 () 的情況下,進一步還原作業的需求也會以元件為基礎,使用 IVssBackupComponents::SetAdditionalRestores來指出。

一般而言,VSS 不會指定從儲存媒體擷取資料的機制、選擇儲存媒體,或如何判斷應該在何處還原哪些檔案。

不過,針對某些寫入器,還原檔案可能會牽涉到使用記載的自訂介面和程式。 Windows 系統寫入器目前需要這類支援,記載于 特殊 VSS 使用案例中

一般而言,建議將每個 寫入器實例 的每個元件檔案當做一個單位來處理。 這需要下列各項:

  • 將每個要還原的檔案與管理它的元件產生關聯。 這需要使用寫入器元資料檔案。
  • 取得正確的還原目標資訊。 這需要備份元件檔的資訊。