Übersicht über die Vorbereitung der Wiederherstellung

Bei der Vorbereitung einer Wiederherstellung verwendet ein Anforderer die gespeicherten Writer-Metadatendokumente in Verbindung mit seinem eigenen abgerufenen Sicherungskomponentendokument, um zu bestimmen, was wiederhergestellt werden soll. Weitere Informationen finden Sie unter Übersicht über die Verarbeitung einer Wiederherstellung unter VSS.

Nach der Auswahl der wiederherstellungskandidaten Komponenten greifen Writer, die derzeit auf dem System ausgeführt werden, auf das Dokument sicherungskomponenten des Anforderers zu. Writer verwenden diesen Zugriff, um anzugeben, wie aufgrund der Wiederherstellung minimale Probleme bei der Ausführung von Diensten verursacht werden.

Nachdem dies abgeschlossen ist, verfügt der Anforderer über genügend Informationen, um zu bestimmen, welche Dateien wiederhergestellt werden müssen und wo und wie sie wiederhergestellt werden sollen. (Weitere Informationen finden Sie unter Generieren eines Wiederherstellungssatzes.)

Die folgende Tabelle zeigt die Abfolge von Aktionen und Ereignissen, die zur Vorbereitung eines Wiederherstellungsvorgangs erforderlich sind.

Anfordereraktion Ereignis Writer-Aktion
Rufen Sie Informationen aus dem Dokument Sicherungskomponenten zu den Komponenten ab, die explizit in den Sicherungsvorgang eingeschlossen sind (siehe IVssBackupComponents::GetWriterComponents). Überprüfen Sie abgerufene Writer-Metadatendokumente, um Details zu den Komponenten abzurufen, die explizit in die Sicherung eingeschlossen sind, und zu allen implizit enthaltenen Unterkomponenten. (Siehe IVssExamineWriterMetadata, IVssWMComponent.)
Keine Keine
Wählen Sie die wiederherzustellenden Komponenten und Komponentensätze aus (siehe IVssBackupComponents::SetSelectedForRestore und IVssBackupComponents::AddRestoreSubcomponent.) Keine Keine
Der Anforderer ermöglicht es dem Writer, das Dokument "Sicherungskomponenten" zu aktualisieren, und kann dem Writer optional alle speziellen Wiederherstellungsoptionen mitteilen. (Siehe IVssBackupComponents::SetRestoreOptions, IVssBackupComponents::AddNewTarget und IVssBackupComponents::P reRestore.) PreRestore Der Writer bestimmt die Teilnahme an der Wiederherstellung, bereitet die Wiederherstellungsdateien vor und ändert ggf. das Dokument für Sicherungskomponenten. (Siehe CVssWriter::OnPreRestore, IVssComponent, IVssComponent::IsSelectedForRestore, IVssComponent::GetRestoreOptions, IVssComponent::SetRestoreTarget, IVssComponent::SetRestoreMetadata, IVssComponent::AddDirectedTarget.)
Der Anforderer wartet auf Writer, um das PreRestore-Ereignis mit IVssAsync zu behandeln. Außerdem sollte writer status überprüft werden. (Siehe IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus.) Keine Keine

 

Anfordereraktionen während der Vorbereitungen für die Wiederherstellung

Um zu bestimmen, welche Komponenten für die Wiederherstellung geeignet sind, muss der Anforderer die folgenden Schritte ausführen:

Dazu muss der Anforderer explizit enthaltene Komponenten im gespeicherten Sicherungskomponentendokument untersuchen. Diese Komponenteninformationen sind auf Writer-by-Writer-Basis mit IVssBackupComponents::GetWriterComponents verfügbar, die Instanzen der IVssWriterComponentsExt-Schnittstelle zurückgibt, von der sowohl Writerinformationen als auch Instanzen der IVssComponent-Schnittstelle abgerufen werden können.

Wie an anderer Stelle erwähnt (Verwendung von Komponenten durch den Anforderer), enthalten das Dokument sicherungskomponenten und die IVssComponent-Schnittstelle nicht genügend Informationen, um die Sicherung zu unterstützen. Daher muss der Anforderer das entsprechende gespeicherte Writer-Metadatendokument mithilfe von IVssExamineWriterMetadata untersuchen (siehe Writer-Identifikationsinformationen).

Die Anzahl der Komponenten, die jeder Writer verwaltet, wird von IVssExamineWriterMetadata::GetFileCounts zurückgegeben. Der Anforderer kann dann IVssExamineWriterMetadata::GetComponent verwenden, um eine IVssWMComponent-Schnittstelle für jede Vom Writer verwaltete Komponente abzurufen.

Durch Untersuchen der Auswahl der Komponenten für Sicherungs- und logische Pfade (siehe Arbeiten mit Auswahlfähigkeit und logischen Pfaden) kann ein Anforderer die Komponenten identifizieren, die Sicherungszeit-Komponentensätze definiert haben (explizit enthaltene Komponenten), und die untergeordneten Elemente dieser Sätze (implizit eingeschlossene Komponenten).

Anforderer geben über das Dokument Sicherungskomponenten an, ob eine Komponente explizit wiederhergestellt werden soll, indem sie entweder IVssBackupComponents::SetSelectedForRestore oder IVssBackupComponents::AddRestoreSubcomponent verwenden. Die Wahl der Methode hängt davon ab, wie die Komponente ursprünglich gesichert wurde und wie sie wiederhergestellt werden kann. Diese Komponenten, die explizit für die Wiederherstellung enthalten sind, legen andere Komponenten fest, die implizit enthalten sind (weitere Informationen finden Sie unter Arbeiten mit Auswahlfähigkeit für Wiederherstellung und Unterkomponenten ).

Ein Anforderer kann explizit keine komponenten eines derzeit ausgeführten Writers für die Wiederherstellung mit IVssBackupComponents::SetSelectedForRestore oder IVssBackupComponents::AddRestoreSubcomponent einschließen. In diesem Fall empfängt dieser Writer für den Rest des Wiederherstellungsvorgangs keine VSS-Ereignisse.

Die explizite Verwendung von IVssBackupComponents::SetSelectedForRestore oder IVssBackupComponents::AddRestoreSubcomponent , um eine Komponente eines Writer auszuwählen, die derzeit nicht ausgeführt wird, gibt einen VSS_E_OBJECT_NOT_FOUND Fehler zurück. Informationen zum Wiederherstellen der Daten fehlender Writer finden Sie unter Wiederherstellung ohne Writerbeteiligung .

Damit ein Writer über vollständige Informationen verfügt, auf die er reagieren soll, können Writer-spezifische Wiederherstellungsoptionen und die Angabe einer inkrementellen Wiederherstellung an die Writer gesendet werden, indem der Anforderer IVssBackupComponents::SetRestoreOptions und IVssBackupComponents::SetAdditionalRestores aufruft.

An diesem Punkt hat ein Anforderer seine Vorbereitung abgeschlossen und generiert ein PreRestore-Ereignis , indem IVssBackupComponents::P reRestore aufgerufen wird, sodass sich Writer auf die eigentliche Wiederherstellung vorbereiten können.

Writeraktionen während der Wiederherstellungsvorbereitungen

Die Writervorbereitung für den Wiederherstellungsvorgang erfolgt, wenn das PreRestore-Ereignis mit der virtuellen Methode CVssWriter::OnPreRestore behandelt wird. Die Standardimplementierung gibt einfach ohne Aktion zurück. Writer können die Standardimplementierung außer Kraft setzen, um mehr Kontrolle zu üben:

Der Ereignishandler CVssWriter::OnPreRestore empfängt eine instance der IVssWriterComponents, aus der er IVssComponent-Schnittstellen für die Komponenten abrufen kann, die während der Sicherung explizit im Dokument Sicherungskomponenten enthalten sind.

Informationen zu Teilkomponenten, die implizit in Sicherungsvorgänge eingeschlossen und explizit in Wiederherstellungen eingeschlossen werden, indem eine instance der IVssComponent-Komponente verwendet wird, die der Komponente entspricht, die ihren Sicherungskomponentensatz definiert hat.

Die IVssComponent::IsSelectedForRestore-Methode wird verwendet, um zu bestimmen, ob eine explizit für die Sicherungskomponente enthaltene Wiederherstellungskomponente wiederhergestellt werden soll.

Um zu ermitteln, ob eine Sicherungsunterkomponente explizit in die Wiederherstellung einbezogen wurde, verwenden Writer IVssComponent::GetRestoreSubcomponent.

Der Writer sollte den Dateisatz in jeder Komponente untersuchen und feststellen, ob er Maßnahmen ergreifen muss, um die Wiederherstellung zu unterstützen. Der Writer muss auswerten, ob seine aktuellen Dateien überschrieben werden sollen oder ob eine Wiederherstellung an neuen Speicherorten erforderlich ist. Folgende Aktionen können folgende Aktionen umfassen:

Die instance von IVssComponent wird entweder durch die explizite Aufnahme der Komponente in das Dokument Sicherungskomponenten während der Sicherung erstellt, oder die Komponente, die den Sicherungskomponentensatz definiert, dessen Mitglied sie war (siehe Arbeiten mit Auswahlfähigkeit für Wiederherstellung und Unterkomponenten).