Übersicht über die Wiederherstellungsinitialisierung
Beim Initialisieren eines VSS-Wiederherstellungsvorgangs muss ein Anforderer das Sicherungskomponentendokument und jedes relevante WriterMetadatendokument abrufen, das während des Sicherungsvorgangs erstellt und gespeichert wurde. Der aktuelle Zustand des Writers wird bei der Behandlung des Identify-Ereignisses abgefragt, das der Anforderer generiert. Weitere Informationen finden Sie unter Übersicht über die Verarbeitung einer Wiederherstellung unter VSS.
Die folgende Tabelle zeigt die Abfolge der Aktionen und Ereignisse, die zum Initialisieren eines Wiederherstellungsvorgangs erforderlich sind.
| Anfordereraktion | Ereignis | Writer-Aktion |
|---|---|---|
| Erstellen Sie eine IVssBackupComponents-Schnittstelle, initialisieren Sie sie, um eine Wiederherstellung zu verwalten, und laden Sie gespeicherte Anforderermetadaten (siehe CreateVssBackupComponents, IVssBackupComponents::InitializeForRestore). | Keine | Keine |
| Rufen Sie CreateVssExwriterMetadata auf, um IVssExwriterMetadata-Schnittstellen zu erstellen und diese mit gespeicherten Writermetadaten zu laden. | Keine | Keine |
| Initiieren Sie einen asynchronen Kontakt mit Writern (siehe IVssBackupComponents::GatherWriterMetadata.) | Identifizieren | Der Writer beginnt mit der Ereignisbehandlung zur Unterstützung der Wiederherstellung. Erstellt das Writer Metadata Document (siehe Arbeiten mit dem Writer Metadata Document, CVssWriter::OnIdentify, IVssCreateWriterMetadata). |
| Der Anfordernde wartet, bis Writer initialisiert werden, indem IVssAsyncaufgerufen wird. | Keine | Keine |
Aktionen der Anfordernden während der Wiederherstellungsinitialisierung
Während der Initialisierungsphase einer Wiederherstellung benötigt der Anforderer Zugriff auf das gespeicherte Sicherungskomponentendokument und alle WriterMetadatendokumente.
Je nach Implementierung bedeutet dies entweder, dass der Anforderer erfordert, dass Sicherungsmedien eingebunden und lesbar sind, oder dass ein anderer Mechanismus für den Zugriff auf die gespeicherten Metadaten verfügbar ist.
Der Anforderer verwendet das gespeicherte XML-Dokument, das das Sicherungskomponentendokument des Anfordernden enthält, der die Sicherung ausgeführt hat, um sein Sicherungskomponentendokument mithilfe von IVssBackupComponents::InitializeForRestore zu initialisieren, der auf die Informationen zugreifen kann.
Wie bei der Sicherung enthält das Sicherungskomponentendokument nicht genügend Informationen, um eine Wiederherstellung zu unterstützen. daher benötigt der Anforderer Zugriff auf die Während der Sicherung gespeicherten WriterMetadatendokumente (siehe Verwenden von Komponenten durch den Anfordernden).
Der Anfordernde ruft die gespeicherten Writermetadaten ab, indem er CreateVssExwriterMetadata für jeden Writer aufruft, dessen Daten gesichert wurden und jetzt wiederhergestellt werden sollen. Diese Funktion erstellt ein IVssExwriterMetadata-Objekt für jeden Writer und lädt das Writer-Metadatendokument des Writers in das -Objekt.
Wie bei der Sicherung muss ein Anforderer ein Identify-Ereignis generieren, indem er IVssBackupComponents::GatherWriterMetadataaufruft, um die Zusammenarbeit zwischen sich selbst und den Writern des Systems zu initiieren. Es ist nicht erforderlich, IVssBackupComponents::GatherWriterStatus nach dem Abschluss von GatherWriterMetadataaufzurufen. Writer, die das Identify-Ereignis nicht verarbeiten können, sind nicht in der Liste der Writer enthalten, die die Metadaten bereitstellen, die von IVssBackupComponents::GetWriterMetadataCount und IVssBackupComponents::GetWriterMetadata zurückgegeben werden sollen (siehe Bestimmen des Writerstatus).
Wie beim Sicherungsvorgang muss ein Anforderer die Informationen im Sicherungskomponentendokument abfragen und analysieren und mit den Daten in den Writer Metadata Documents vergleichen, um zu bestimmen, welche Komponenten gesichert wurden und welche wiederhergestellt werden sollen (siehe Übersicht über die Vorbereitung auf die Wiederherstellung). Darüber hinaus muss der Anforderer eine detaillierte Liste mit Informationen zu den Dateien auf den sicherungsmedien generieren, die für die Wiederherstellung ausgewählt wurden, sowie darüber, wie und wo sie wiederhergestellt werden sollen. (Siehe Generieren eines Wiederherstellungssatzes.)
Daher kann es für einige Sicherungsanwendungen nützlich sein, auf den Sicherungsmedien eine eigene Liste (in ihrem eigenen optimierten Format) der Dateien und die zugehörigen Writer-, Komponenten-, Wiederherstellungsprozedur- und Speicherortinformationen gespeichert zu haben. Diese Liste kann verwendet werden, um den Umfang der Analyse und des Vergleichs von WriterMetadatendokumenten und den Sicherungskomponentendokumenten zu minimieren, die zur Unterstützung einer Wiederherstellung erforderlich sind.
Writer-Aktionen während der Wiederherstellungsinitialisierung
Wie bei einem Wiederherstellungsvorgang ruft VSS als Reaktion auf das Identify-Ereignis die virtuelle Handlermethode jedes Writers CVssWriter::OnIdentify auf.
Beachten Sie, dass andere Anwendungen als der aktuelle Anforderer (z. B. Systemanwendungen) Identify-Ereignisse generieren können, die vom Writer behandelt werden müssen. Darüber hinaus gibt es für einen Writer keine Möglichkeit, innerhalb von CVssWriter::OnIdentify zu bestimmen, welche Anwendung das Identify-Ereignis generiert hat.
Da ein Writer während der Verarbeitung eines Wiederherstellungsvorgangs mehrere Identify-Ereignisse empfangen kann, sollten Writer niemals Zustandsinformationen im CVssWriter::OnIdentify-Handler festlegen. Stattdessen müssen sie den gleichen Algorithmus zum Erstellen ihres Writer-Metadatendokuments wie bei Sicherungsvorgängen verwenden (weitere Informationen finden Sie unter Writer Actions during Backup Initialization (Writeraktionen während der Sicherungsinitialisierung).