Inhalt des Sicherungskomponentendokuments
Das Sicherungskomponentendokument wird von Instanzen der IVssBackupComponents-Schnittstelle verwaltet. Diese Schnittstelle enthält auch zahlreiche Methoden zum Steuern von Sicherungsvorgängen, Bearbeiten von Schattenkopien und Abfragen des Systemstatus. Nicht alle Informationen des Dokuments sind jedoch direkt über diese Schnittstelle zugänglich.
Das Sicherungskomponentendokument besteht aus mehreren Sätzen von Daten:
- Informationen darüber, welche Komponenten explizit in einen Sicherungs- oder Wiederherstellungsvorgang eingeschlossen wurden
- Eine Darstellung der gespeicherten Komponenten- und Writerinformationen
- Zustandsinformationen zum Sicherungs-/Wiederherstellungsvorgang
Während die Komponenteninformationen sowohl für den Anforderer als auch für den Writer verfügbar sind, hat nur der Writer Zugriff auf die Zustandsinformationen.
Komponenteneinschlussinformationen
Das Sicherungskomponentendokument enthält eine Liste dieser Komponenten, die explizit in die Sicherung und Wiederherstellung durch den Anfordernden eingeschlossen sind. Die Liste enthält Folgendes:
Explizit eingeschlossene auswählbare Komponenten.
Die Einbeziehung dieser Dateien in Sicherungsvorgänge wird durch IVssBackupComponents::AddComponent und in Wiederherstellungsvorgängen von IVssBackupComponents::SetSelectedForRestoreangegeben.
Kann für Sicherungsunterkomponenten nicht ausgewählt werden, ohne dass ein für den Vorgänger der Sicherungskomponente auswählbar ist.
Alle diese Komponenten müssen eingeschlossen werden, wenn Komponenten des Writers in den Vorgang einbezogen werden sollen. Die Einbeziehung dieser Dateien in Sicherungsvorgänge wird durch IVssBackupComponents::AddComponent und in Wiederherstellungsvorgängen von IVssBackupComponents::SetSelectedForRestoreangegeben.
Komponenten, die der Sicherung implizit hinzugefügt werden (Unterkomponenten),die für die Wiederherstellung ausgewählt werden können und der Wiederherstellung explizit hinzugefügt werden.
Diese Komponenten können entweder auswählbar oder nicht auswählbar sein, verfügen aber über einen auswählbaren Vorgänger, der verwendet wurde, um sie implizit für die Sicherung auszuwählen. Sie werden dem Sicherungskomponentendokument von IVssBackupComponents::AddRestoreSubcomponenthinzugefügt.
Die Identitäten von Komponenten, die implizit in der Wiederherstellung enthalten sind, werden nicht im Dokument sicherungskomponenten gespeichert.
VSS hat Zugriff auf Informationen zum Einbeziehen von Komponenten: Writer ohne Komponenten, die explizit in einer Wiederherstellung oder Sicherung enthalten sind, empfangen nach der Generierung der Ereignisse PrepareForBackup oder PreRestore keine VSS-Ereignisse.
Writer können diese Informationen nicht direkt abfragen. Dies ist keine wesentliche Einschränkung, da einzelne VSS-Writer entwurfsbedingt keine ausführlichen Informationen über den Status anderer Writer im System benötigen sollten, und wie oben erwähnt, müssen diejenigen ohne enthaltene Komponenten nicht am VSS-Vorgang teilnehmen.
Ein Anforderer kann bestimmen, welche Komponenten explizit in einen Vorgang eingeschlossen wurden.
Die IVssBackupComponents::GetWriterComponentsCount-Methode gibt die Anzahl der Writer mit Komponenteninformationen zurück, die im Sicherungskomponentendokument gespeichert sind (und nicht die Anzahl der Komponenten im Dokument).
Der Anforderer indiziert die gespeicherten Writerinformationen mithilfe von IVssBackupComponents::GetWriterComponents, die Instanzen der IVssWriterComponentsExt-Schnittstelle zurückgibt. Mit der IVssWriterComponentsExt-Schnittstelle kann der Anforderer die Writer-Klasse und die Writer-Instanz der beteiligten Writer abrufen sowie auf Informationen zu den Komponenten zugreifen, die im Sicherungskomponentendokument gespeichert sind.
Informationen zu eingeschlossenen Komponenten
Die Darstellung der Komponentendaten im Sicherungskomponentendokument (die keine Pfad- und Dateispezifikationsinformationen enthält), auf die über Instanzen der IVssComponent-Schnittstelle zugegriffen wird.
Anforderer und Writer erhalten auf unterschiedliche Weise Zugriff auf Instanzen der IVssComponent-Schnittstelle.
Ein Anforderer untersucht Komponentendaten auf Writer-Basis anhand von Instanzen der IVssWriterComponentsExt-Schnittstelle, die von IVssBackupComponents::GetWriterComponentszurückgegeben wird.
Zusätzlich zu den Writer-Identifikationsinformationen stellt die IVssWriterComponentsExt-Schnittstelle ein Array von Instanzen der IVssComponent-Schnittstelle bereit – eine für jeden der ausgewählten enthaltenen Writerkomponenten.
Wie unter Lebenszyklus von Sicherungskomponentendokumentenerwähnt, können die Writer über die IVssWriterComponents-Schnittstelle zugriff auf dieselben Informationen erhalten, wenn sie das Ereignis PrepareForBackup, PrepareForSnapshot, PostSnapshot, BackupComplete, PreRestore oder PostRestore behandeln.
IVssComponent ermöglicht sowohl Writern als auch Anforderern das Abrufen der folgenden Informationen:
- Name, Typ und logischer Pfad einer Komponente (GetComponentName, GetComponentType, GetLogicalPath)
- Wie eine Komponente wiederhergestellt werden soll, wie durch das Wiederherstellungsziel angegeben (IVssComponent::GetRestoreTarget)
- Wenn beim Wiederherstellen einer Datei ein alternativer Speicherort verwendet wurde (GetAlternateLocationMapping, GetAlternateLocationMappingCount)
- Neue Zielinformationen, sofern vorhanden (GetNewTarget, GetNewTargetCount)
- Fehlermeldungen vor und nach der Wiederherstellung (GetPreRestoreFailureMsg, GetPostRestoreFailureMsg)
- Wenn für die Wiederherstellung ein für die Sicherungskomponente auswählbarer Ausgewählter ausgewählt wurde, der einen Komponentensatz definiert (IsSelectedForRestore)
- Gibt an, ob eine Sicherung oder Wiederherstellung erfolgreich war (GetBackupSucceeded, GetFileRestoreStatus)
- Alle writerspezifischen Sicherungs- oder Wiederherstellungsoptionen, die möglicherweise von IVssBackupComponents::SetBackupOptions oder IVssBackupComponents::SetRestoreOptions (GetBackupOptions, GetRestoreOptions) festgelegt wurden
- Alle writerspezifischen Metadatensicherungs- oder Wiederherstellungsmetadaten (GetBackupMetadata), GetRestoreMetadata)
- Zeitstempelinformationen (GetBackupStamp, GetPreviousBackupStamp)
- Informationen zu Sicherungsunterkomponenten, die explizit in einer Wiederherstellung enthalten sind (GetRestoreSubcomponent, GetRestoreSubcomponentCount)
Im Gegensatz zu Anforderern können Writer bestimmte Informationen im Sicherungskomponentendokument über die IVssComponent-Schnittstelle ändern:
- Wie eine Komponente wiederhergestellt werden soll, wie durch das Wiederherstellungsziel angegeben (IVssComponent::SetRestoreTarget)
- Writer-spezifische Sicherungs- und Wiederherstellungsmetadaten (IVssComponent::SetBackupMetadata, IVssComponent::SetRestoreMetadata)
- Zeitstempelinformationen (SetBackupStamp)
- Fehlermeldungen vor und nach der Wiederherstellung (SetPreRestoreFailureMsg, SetPostRestoreFailureMsg)
Zustandsinformationen des Anfordernden
Anforderer fügen Informationen zum Status eines Sicherungs- oder Wiederherstellungsvorgangs mithilfe der IVssBackupComponents-Schnittstelle in das Sicherungskomponentendokument ein. Writer-Anwendungen können diese Informationen über die CVssWriter-Klasse abfragen.
Im Sicherungskomponentendokument gespeicherte Zustandsinformationen umfassen Folgendes:
Allgemeine Informationen zur Sicherung
- Der gesamte Sicherungstyp (inkrementell, differenziell oder vollständig)
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetBackupState
Von Writern mit CVssWriter::GetBackupType abgerufen
-
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetBackupState
-
Von Writern mit CVssWriter::AreComponentsSelected abgerufen
-
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetBackupState
-
Von Writern mit CVssWriter::IsBootableStateBackedUp abgerufen
-
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetBackupState
-
Von Writern mit CVssWriter::IsPartialFileSupportEnabled abgerufen
Allgemeine Informationen zur Wiederherstellung
- Der gesamte Wiederherstellungstyp (unabhängig davon, ob die Wiederherstellung per Kopier- oder Importvorgang erfolgt)
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetRestoreState
Von Writern mit CVssWriter::GetRestoreType abgerufen
Informationen zu unterstützenden Dateien
- Der Speicherort von Dateien, die von einer bestimmten Komponente in Teildateivorgängen verwendet werden
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetRangesFilePath
Von Writern (oder Anforderern) mithilfe von IVssComponent::GetPartialFile abgerufen
Status der Informationen
- Geben Sie an, ob eine der Komponenten eines bestimmten Writers erfolgreich gesichert wurde.
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetBackupSucceeded
Von Writern und Anforderern mithilfe von IVssComponent::GetBackupSucceeded abgerufen
-
Festlegung durch Anforderer mithilfe von IVssBackupComponents::SetFileRestoreStatus
-
Von Writern und Anfordernden mithilfe von IVssComponent::GetFileRestoreStatus abgerufen
Writer-Settable Informationen
- Zusätzliche Sicherungsspezifikation für eine der Komponenten eines bestimmten Writers
Festlegung durch Writer mithilfe von IVssComponent::SetBackupMetadata
Von Writern und Anforderern mithilfe von IVssComponent::GetBackupMetadata abgerufen
-
Festlegung durch Writer mithilfe von IVssComponent::SetRestoreMetadata
-
Von Writern und Anforderern mithilfe von IVssComponent::GetRestoreMetadata abgerufen
-
Festlegung durch Writer mithilfe von IVssComponent::SetBackupStamp
-
Von Writern und Anforderern mithilfe von IVssComponent::GetBackupStamp abgerufen
-
Gespeichert und von Anforderern für eine bestimmte Komponente mit IVssBackupComponents::SetPreviousBackupStamp
-
Von Writern und Anforderern mithilfe von IVssComponent::GetPreviousBackupStamp abgerufen
-
Festlegung durch Writer mit IVssComponent::SetPreRestoreFailureMsg oder IVssComponent::SetPostRestoreFailureMsg
-
Von Writern und Anforderern mithilfe von IVssComponent::GetPreRestoreFailureMsg oder IVssComponent::GetPostRestoreFailureMsg abgerufen