Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Komponenten werden von Autoren in ihrem Writer-Metadatendokument als Reaktion auf ein Identify-Ereignis definiert und instanziiert, das zu Beginn eines Sicherungsvorgangs (siehe Übersicht über die Sicherungsinitialisierung), wenn das Writer-Metadatendokument aufgefüllt wird.
Beim Erstellen einer Komponente im Writer-Metadatendokument mit IVssCreateWriterMetadata und IVssCreateWriterMetadata::AddComponentmuss ein Writer Folgendes angeben:
- Gibt an, ob die Komponente für sicherungsfähige
- Ein Komponententyp
- Ein Komponentenname (der nicht nur innerhalb einer bestimmten Writer-Instanz, sondern in allen Writer-Instanzen eindeutig sein muss)
- Gibt an, ob der Komponente writer-spezifische Metadaten zugeordnet sind.
- Gibt an, ob der Writer eine Benachrichtigung nach einer erfolgreichen Sicherung erfordert.
Autoren können optional Folgendes angeben:
- Der logische Pfad einer Komponente (der nicht nur innerhalb einer bestimmten Writer-Instanz, sondern in allen Writer-Instanzen eindeutig sein muss)
- Eine Komponentenbeschreibung (oder Beschriftung)
- Ein Symbol, das mit GUIs verwendet werden soll, um die Komponente anzugeben
Es ist nicht erforderlich, dass eine Komponente tatsächlich Dateien enthält. Diese Art von leerer oder "Dummy"-Komponente kann beim Organisieren von Komponenten nützlich sein. Eine solche Komponente kann verwendet werden, um einen Komponentensatz und die Komponente eines Writers zu definieren (siehe logische Pfaderstellung von Komponenten).
Einrichten der Komponentenorganisation
Festlegen der Auswählbarkeit einer Komponente (die Auswahlmöglichkeit für Sicherungs-und die Auswahlmöglichkeit für die Wiederherstellung) und die logischen Pfade ermöglichen es einem Writer, bestimmte Komponenten in einem Sicherungs- oder Wiederherstellungsvorgang zu mandaten oder optional einzugliedern und Komponenten in Komponenten zu gruppieren, wobei eine auswählbare Komponente als Einstiegspunkt für das ganze dient. Gruppe.
Die Mitgliedschaft in diesen Gruppierungen bestimmt, welche Komponenten während sicherungs- und wiederherstellungsvorgängen verwendet werden. Wenn Sie "auswählbar" verwenden, um eine Auswahl für den Sicherungsvorgang zu bedeuten und für die Wiederherstellung für den Wiederherstellungsvorgang auswählbar zu sein, sollten Entwickler folgendes verstehen:
- Wenn komponenten, die von einem bestimmten Writer verwaltet werden, gesichert werden, muss ein Antragsteller explizit alle nicht auswählbaren Komponenten ohne auswählbare Vorgänger in ihrem logischen Pfad zum Dokument für Sicherungskomponenten einschließen und diese Komponenten als Gruppe sichern und wiederherstellen.
- Ein Antragsteller hat die Möglichkeit, während sicherungs- und wiederherstellungsvorgängen explizit auswählbare Komponenten zum Dokument für Sicherungskomponenten hinzuzufügen; nach dem Hinzufügen muss die Komponente gesichert oder wiederhergestellt werden.
- Wenn eine Komponente auswählbar ist, bilden die Komponente und alle zugehörigen Teilkomponenten (wie durch logische Pfade definiert) einen Komponentensatz, der als einzelne Einheit behandelt werden kann, die optional an Sicherungs- und Wiederherstellungsvorgängen teilnehmen kann.
- Ein Antragsteller fügt niemals explizit eine nicht auswahlfähige Komponente mit auswählbaren Vorgängern, einer Unterkomponente in einem Komponentensatz, dem Sicherungskomponentendokument während sicherungs- und wiederherstellungsvorgängen hinzu. Diese Komponenten müssen implizit enthalten sein,, wenn ihr auswählbarer Vorgänger explizit hinzugefügt wird. In diesem Fall müssen sie gesichert oder wiederhergestellt werden (siehe Verwendung von Komponenten durch den Antragsteller).
- Eine auswählbare Komponente mit einem auswählbaren Vorgänger ist immer noch ein Unterkomponente (ein Element eines Komponentensatzes) und kann implizit eingeschlossen werden, wenn sein auswählbarer Vorgänger explizit in den Vorgang einbezogen wird. In diesem Fall werden die Informationen nicht dem Dokument für Sicherungskomponenten hinzugefügt. Wenn das auswählbare Vorgängerelement nicht in den Vorgang einbezogen wird, kann die Komponente explizit für die Aufnahme in den Vorgang ausgewählt werden, in diesem Fall sind die Informationen im Dokument für Sicherungskomponenten enthalten.
- Ein Teilkomponente, der implizit in einer Sicherung enthalten ist, kann explizit in einen Wiederherstellungsvorgang eingeschlossen werden, unabhängig vom Status eines auswählbaren Vorgängers, wenn er für die Wiederherstellung ausgewählt werden kann. Alle auswählbaren Elemente für die Wiederherstellung, die während eines Wiederherstellungsvorgangs enthalten sind, müssen ihre Informationen dem Dokument für Sicherungskomponenten hinzugefügt haben.
- Ein Writer, der vor der Generierung von PrepareForBackup- und PreRestore- ereignisse dem Sicherungskomponentendokument explizit hinzugefügt wurde, erhalten keine weiteren VSS-Ereignisse.
Weitere Informationen finden Sie unter Arbeiten mit Auswahlmöglichkeiten und logischen Pfaden.
Hinzufügen von Dateien zu einer Komponente
Eine Komponente enthält Dateiinformationen in Form eines Dateisatzes, der Folgendes enthält:
- Ein Stammverzeichnis der Dateien in der Komponente.
- Eine Dateispezifikation für die Dateien in der Komponente.
- Ein Flag, das angibt, ob die Spezifikation der Komponente rekursiv ist.
Je nach Komponententyp, bei dem es sich um eine Datenbank oder eine Dateigruppe handeln kann, und (bei Datenbankkomponenten) ob es sich bei den zu ladenden Dateien um Daten- oder Protokolldateien handelt, ruft ein Writer IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFilesoder IVssCreateWriterMetadata::AddDatabaseLogFiles, um einen Dateisatz hinzuzufügen.
Wenn Sie diese Funktionen verwenden, sollten Sie die Dateien angeben, die dem Dateisatz wie folgt hinzugefügt werden sollen:
- wszPath: Dies ist der Pfad zum Verzeichnis, das die Dateien enthält, die dem Dateisatz hinzugefügt werden sollen. Wenn der bRecursive-Parameter auf truefestgelegt ist, gibt der wszPath-Parameter eine Hierarchie von Verzeichnissen an, die rekursiv durchlaufen werden sollen, und alle Verzeichnisse sollten neu erstellt werden, einschließlich leerer Verzeichnisse.
- wszFilespec: Diese Zeichenfolge gibt die Dateien in jedem Verzeichnis an, das dem Dateisatz hinzugefügt werden soll.
Angenommen, die folgende Verzeichnisstruktur ist vorhanden:
- C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt C:\\Directory1\\Directory3\\
Wenn der Writer "C:\Directory1" für wszPath, "File1.*" für wszFilespec-angibt und true für bRecursive, sollte der Antragsteller diese Dateien enthalten:
- C:\\Directory1\\File1.txt C:\\Directory1\\Directory2\\File1.txt
Wenn der Writer stattdessen "C:\Directory1" für wszPath, "*" für wszFilespec-angibt und true für bRecursive, sollte der Antragsteller diese Dateien enthalten:
- C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt
Wenn der Writer "C:\Directory1" für wszPath-, "*" für wszFilespecangibt, und false für bRecursive, sollte der Antragsteller diese Dateien enthalten:
- C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt
Wenn der Writer in allen vorherigen Beispielen true für bRecursiveangibt, sollte das leere Verzeichnis C:\Directory1\Directory3\ neu erstellt werden.
Für einen Dateisatz, der einer Dateigruppenkomponente hinzugefügt wurde, hat ein Writer die Möglichkeit, einen alternativen Pfad hinzuzufügen, in fällen, in denen dateien, die sich derzeit auf dem Datenträger befinden, nicht in dem, was der Writer als geeignet oder standardspeicherort betrachtet. In diesen Fällen enthält die Definition des Dateisatzes den normalen Speicherort der Dateien und den Speicherort, an dem Dateien wiederhergestellt werden sollen, während der alternative Pfad den aktuellen Speicherort der zu sichernden Dateien enthält.
Alle Dateien im Dateisatz müssen zum Zeitpunkt der Sicherung vorhanden sein. Antragsteller müssen davon ausgehen, dass alle im Dateisatz aufgeführten Dateien für die Sicherung erforderlich sind und die Sicherung fehlschlägt, wenn Dateien fehlen. Beachten Sie, dass bei Angabe von "*" für den wszFilespec Parameter null oder mehr Dateien entsprechen kann.
Beachten Sie, dass solche Writer-Metadatendokumentattribute als alternative Speicherortzuordnungen, explizit eingeschlossene und ausgeschlossene Dateien und Wiederherstellungsmethoden auf Schreibebene und nicht auf Komponentenebene festgelegt werden. (Weitere Informationen finden Sie unter Arbeiten mit dem Writer-Metadatendokument.)
Komponentendefinition für Sicherungs- und Wiederherstellungsvorgänge
Sowohl Wiederherstellungs- als auch Sicherungsvorgänge generieren notwendigerweise ein Identify-Ereignis, und für Sicherungen und Wiederherstellungen wird es von derselben CVssWriter::OnIdentify-Methode behandelt.
Während des Sicherungsvorgangs verwenden Antragsteller die informationen, die vom CVssWriter::OnIdentify Methoden zurückgegeben werden, um zu bestimmen, welche Autoren auf dem System vorhanden sind, und dann zu bestimmen, welche ihrer Dateien gesichert werden sollen.
Bei Wiederherstellungsvorgängen werden die Informationen, die von den CVssWriter::OnIdentify Ereignis zurückgegeben werden, nur verwendet, um die Identität und den Status von Autoren festzulegen, die derzeit im System vorhanden sind; Die während einer Wiederherstellung generierten Dateispezifikationsinformationen werden nicht verwendet. Stattdessen werden Writer-Metadatendokumente, die zur Sicherungszeit gespeichert sind, verwendet, um diese Daten abzurufen.
Nach dem Generieren während eines Sicherungsvorgangs werden die Writer-Komponenteninformationen zusammen mit den restlichen Writer-Informationen gespeichert, um Wiederherstellungsvorgänge zu unterstützen. Es liegt in der Regel in der Verantwortung des Antragstellers, diese Informationen zu speichern.