實際檔案還原概觀
執行 還原初始化概 觀和 準備還原概觀中所述的動作之後,要求者就有足夠的資訊可以開始還原檔案。 檔案還原不涉及寫入器互動或事件產生。 如需詳細資訊,請參閱 在 VSS 下處理還原的概觀。
下表顯示還原檔案所需的動作和事件順序。
要求者動作 | 事件 | 寫入器動作 |
---|---|---|
為備份媒體上的檔案產生還原集清單。 | 無 | 無 |
處理 導向目標 或 部分檔案 還原 (請參閱 IVssComponent::GetDirectedTarget、 IVssComponent::GetPartialFile) 。 | 無 | 無 |
如有必要,請忽略所有指定的還原位置,並還原至先前呼叫 IVssBackupComponents::AddNewTarget中指定的新位置。 | 無 | 無 |
如果還原是累加還原且需要進一步還原,請指出 (請參閱 IVssBackupComponents::SetAdditionalRestores 和 增量和差異備份) 。 | 無 | 無 |
若要瞭解寫入器是否已修改備份元件檔的內容,請呼叫 IVssBackupComponents::GetWriterComponents。 例如,寫入器可能已經變更還原目標。 | 無 | 無 |
還原檔案期間的要求者動作
對於備份媒體上的大部分檔案,要求者必須判斷其原始位置,以及套用至備份媒體的任何新位置或替代位置對應。 (請參閱 產生還原集 ,以瞭解判斷要還原的檔案和還原位置的最佳做法。)
此外,某些檔案可能會有 導向目標 ,或支援 部分檔案 還原。 呼叫 IVssComponent::GetDirectedTargetCount 和 IVssComponent::GetPartialFileCount即可找到這類檔案的數目,以及呼叫 IVssComponent::AddDirectedTarget 和 IVssComponent::GetPartialFile來找到詳細還原指示的相關資訊。 (部分和導向檔案可以是隱含或明確新增至原始備份的元件一部分,如需詳細資訊,請參閱 使用還原和子元件的可選取性 。)
使用 IVssBackupComponents::SetFileRestoreStatus,以元件為基礎指出還原成功或失敗。 在累加式或差異還原 () 的情況下,進一步還原作業的需求也會以元件為基礎,使用 IVssBackupComponents::SetAdditionalRestores來指出。
一般而言,VSS 不會指定從儲存媒體擷取資料的機制、選擇儲存媒體,或如何判斷應該在何處還原哪些檔案。
不過,針對某些寫入器,還原檔案可能會牽涉到使用記載的自訂介面和程式。 Windows 系統寫入器目前需要這類支援,記載于 特殊 VSS 使用案例中。
一般而言,建議將每個 寫入器實例 的每個元件檔案當做一個單位來處理。 這需要下列各項:
- 將每個要還原的檔案與管理它的元件產生關聯。 這需要使用寫入器元資料檔案。
- 取得正確的還原目標資訊。 這需要備份元件檔的資訊。