Cycle de vie des documents des composants de sauvegarde
Les demandeurs ont la responsabilité principale du cycle de vie d’un document de composants de sauvegarde.
Ce contrôle est exercé par un instance de l’objet d’interface IVssBackupComponents retourné par CreateVssBackupComponents.
Un demandeur doit initialiser un document de composants de sauvegarde avant une sauvegarde ou une restauration en appelant IVssBackupComponents::InitializeForBackup ou IVssBackupComponents::InitializeForRestore. Le demandeur peut initialiser le document comme vide ou charger une copie précédemment stockée du document.
Pour les opérations de sauvegarde, un document de composants de sauvegarde est généralement initialisé comme vide. Ses données seront remplies avec la coopération des rédacteurs du système au cours du traitement de la sauvegarde.
Pour les opérations de restauration, un document de composants de sauvegarde est généralement initialisé à partir d’un document stocké généré lors de la sauvegarde initiale. Cela permet à la restauration (conjointement avec l’examen des documents de métadonnées writer stockés) de déterminer quelles données ont été initialement sauvegardées et comment elles doivent être restaurées.
La sauvegarde des clichés instantanés transportables est une exception à cette règle. Dans ce cas, un cliché instantané aurait pu être déplacé d’un système (où il a été créé avec le document initial des composants de sauvegarde) vers un autre au moyen de la réaffectation de l’unité logique d’un appareil de stockage partagé. Pour effectuer une sauvegarde dans ces circonstances, un demandeur charge l’état de sauvegarde stocké et continue à partir de l’endroit où le système initial s’est arrêté. (Pour plus d’informations, consultez Importation de volumes copiés instantanés transportables.)
Au cours du traitement d’une sauvegarde, le demandeur décide des composants à copier en fonction des composants qui sont marqués comme pouvant être sélectionnés pour la sauvegarde, des chemins logiques du composant et de sa propre logique interne.
Certains des composants seront explicitement inclus dans l’opération de sauvegarde ; des informations sur le composant seront ajoutées au document Composants de sauvegarde. D’autres seront implicitement inclus dans la sauvegarde ; les informations sur les composants ajoutés ne seront pas ajoutées au document Composants de sauvegarde.
Tous les composants de sauvegarde non sélectionnables d’un enregistreur sans ancêtre sélectionnable dans leur chemin logique, et ceux pouvant être sélectionnés pour les composants de sauvegarde choisis par le demandeur, seront ajoutés explicitement.
Les composants de sauvegarde non sélectionnables et non sélectionnables peuvent être ajoutés implicitement s’ils ont un ancêtre sélectionnable dans leur chemin logique, qui est explicitement inclus dans la sauvegarde. Ces composants (sous-composants) sont membres d’ensembles de composants définis par leur ancêtre sélectionnable.
Lors de la gestion des opérations de restauration, le demandeur utilise la sélection pour la restauration au lieu de la sélection pour la sauvegarde conjointement avec les informations de chemin logique et sa propre logique interne pour décider quels fichiers restaurer.
Si un composant qui avait été implicitement ajouté à la sauvegarde doit maintenant être ajouté explicitement à la restauration, le demandeur met à jour le document Composants de sauvegarde avec les informations de ce composant.
Les informations sur les composants stockés sont disponibles à la fois pour les demandeurs et les rédacteurs via des instances de l’interface IVssComponent .
C’est par le biais d’interfaces IVssComponent que les rédacteurs peuvent interroger et (jusqu’à la fin des événements PostSnapshot et PostRestore ) modifier les informations dans le document composants de sauvegarde.
Lorsque le gestionnaire d’événements CVssWriter::OnPrepareBackup, CVssWriter::OnPreRestore, CVssWriter::OnPostSnapshot, CVssWriter::OnBackupComplete ou CVssWriter::OnPostRestore est appelé, un rédacteur reçoit une instance d’une interface IVssWriterComponents.
Notez que lors de la génération de l’événement BackupComplete , le document des composants de sauvegarde est en lecture seule, et par conséquent , CVssWriter::OnBackupComplete ne peut pas utiliser l’interface IVssComponent pour le modifier.
À partir de l’interface IVSSWriterComponents , l’enregistreur peut récupérer des instances de l’interface IVssComponent qui lui permettra d’accéder à tous ses composants explicitement ajoutés au document de composants de sauvegarde et de modifier leur état. Pour plus d’informations, consultez Vue d’ensemble du traitement d’une sauvegarde sous VSS et Vue d’ensemble du traitement d’une restauration sous VSS.
Composants de sauvegarde Les documents sont supprimés de la mémoire lorsque l’interface IVssBackupComponents est publiée et doivent être stockés à l’aide de IVssBackupComponents::SaveAsXML, sinon toutes leurs informations seront perdues.
En outre, lorsqu’un document IVssBackupComponents est correctement publié, un événement BackupShutdown est généré et lesclichés instantanés de publication automatique sont supprimés.