Details zur Schattenkopieerstellung
Im Allgemeinen hängt die Art und Weise, wie eine Schattenkopie erstellt wird, vom Typ der zu erstellenden Schattenkopie, ihrem Kontext und der Rolle ab, die autoren im Schattenkopievorgang zugewiesen wird. (Weitere Informationen finden Sie unter Schattenkopiekontextkonfigurationen .)
Der Schattenkopiekontext wird durch Aufrufen der IVssBackupComponents::SetContext-Methode festgelegt. Vor dem Aufrufen der IVssBackupComponents::D oSnapshotSet-Methode zum Erstellen einer Schattenkopie müssen die Anforderer die IVssBackupComponents-Methoden in der in den folgenden Abschnitten angegebenen Reihenfolge aufrufen.
Voraussetzungen für alle Schattenkopien
Unabhängig von der Ebene der Writer-Beteiligung erfordert die Erstellung einer Schattenkopie immer, dass der Anforderer mit Aufrufen von IVssBackupComponents::InitializeForBackup und IVssBackupComponents::StartSnapshotSet initialisiert wird.
Wenn dieser Aufruf nicht erfolgt, gibt die IVssBackupComponents::D oSnapshotSet-Methode einen Fehler zurück.
Schattenkopien mit Autorenbeteiligung
Wenn der Schattenkopiekontext die Schreibbeteiligung angibt (d. h. IVssBackupComponents::SetContext wird mit VSS_CTX_BACKUP oder VSS_CTX_APP_ROLLBACK aufgerufen):
- Anforderer müssen immer IVssBackupComponents::GatherWriterMetadata aufrufen, wenn der Schattenkopiekontext die Teilnahme von Writern unterstützt. Wenn der Schattenkopiekontext die Schreibbeteiligung unterstützt und IVssBackupComponents::GatherWriterMetadata vor IVssBackupComponents::D oSnapshotSet nicht aufgerufen wird, wird ein Fehler zurückgegeben.
- Wenn ein Anforderer bestimmte Writerkomponenten auswählen möchte, muss er IVssBackupComponents::AddComponent aufrufen, bevor er StartSnapshotSet aufruft, um den Schattenkopiersatz zu erstellen.
- StartSnapshotSet muss aufgerufen werden, um den Schattenkopiersatz zu erstellen.
- Anforderer können dem Schattenkopiersatz ein oder mehrere Volumes hinzufügen, indem sie AddToSnapshotSet aufrufen. Einige Writerkomponenten geben möglicherweise keine betroffenen Volumes an. In diesem Fall ist es akzeptabel, dass ein Momentaufnahme leer ist (also keine Volumes enthält).
- Um die Konsistenz von Writermetadaten zu gewährleisten, sollte ein Anforderer immer IVssBackupComponents::P repareForBackup aufrufen, auch wenn keine Komponenten ausgewählt sind. Dadurch generiert VSS ein PrepareForBackup-Ereignis , in dem VSS die CVssWriter::OnPrepareBackup-Methode für jeden teilnehmenden Writer aufruft.
- VSS generiert PrepareForSnapshot - und Freeze-Ereignisse , bevor die Schattenkopie als Reaktion auf IVssBackupComponents::D oSnapshotSet erstellt wird. Writer behandeln die Ereignisse mit CVssWriter::OnPrepareSnapshot und CVssWriter::OnFreeze.
- VSS generiert Thaw-Ereignisse und PostSnapshot-Ereignisse , nachdem eine Schattenkopie als Reaktion auf IVssBackupComponents::D oSnapshotSet erstellt wurde. Writer behandeln die Ereignisse mit CVssWriter::OnThaw und CVssWriter::OnPostSnapshot.
Schattenkopien ohne Autorenbeteiligung
Das Erstellen von Schattenkopien ohne Writer-Beteiligung wird für Standardsicherungsanwendungen abgeraten (siehe Sicherungen ohne Writerbeteiligung).
Es gibt Verwendungsmöglichkeiten, z. B. schnelle Sicherungen eines Datenträgers, um ein Sicherheitsnetz gegen versehentliche Dateibeschädigungen bereitzustellen, die ohne explizite Teilnahme des Writers durchgeführt werden kann. Eine solche Schattenkopie hätte einen Kontext mit VSS_CTX_FILE_SHARE_BACKUP oder VSS_CTX_NAS_ROLLBACK.
Beachten Sie für diese Art von Schattenkopie Folgendes:
- Anforderer müssen weiterhin die unter Voraussetzungen für alle Schattenkopien aufgeführten erforderlichen Methoden aufrufen.
- Anforderer können IVssBackupComponents::GatherWriterMetadata aufrufen, dies ist jedoch nicht erforderlich.
- Wenn Anforderer IVssBackupComponents::AddComponent, IVssBackupComponents::P repareForBackup oder IVssBackupComponents::BackupComplete aufrufen, wird ein Fehler zurückgegeben.
- Anbieter generieren keine PrepareForSnapshot-, Freeze-, Thaw- oder PostSnapshot-Ereignisse für diese Art von Schattenkopie.