Vue d’ensemble de l’initialisation de la restauration
Lors de l’initialisation d’une opération de restauration VSS, un demandeur doit récupérer le document du composant de sauvegarde et chaque document de métadonnées writer approprié créé et enregistré pendant l’opération de sauvegarde. L’état actuel de l’enregistreur sera interrogé lors de la gestion de l’événement Identifier que le demandeur génère. Pour plus d’informations, consultez Vue d’ensemble du traitement d’une restauration sous VSS.
Le tableau suivant montre la séquence d’actions et d’événements nécessaires pour initialiser une opération de restauration.
Action du demandeur | Événement | Action d’écriture |
---|---|---|
Créez une interface IVssBackupComponents , initialisez-la pour gérer une restauration et chargez les métadonnées du demandeur stockées (voir CreateVssBackupComponents, IVssBackupComponents::InitializeForRestore). | Aucune | Aucune |
Appelez CreateVssExamineWriterMetadata pour créer des interfaces IVssExamineWriterMetadata et les charger avec des métadonnées d’enregistreur stockées. | Aucune | Aucune |
Lancer un contact asynchrone avec des rédacteurs (voir IVssBackupComponents::GatherWriterMetadata.) | Identifier | L’enregistreur commence la gestion des événements dans le cadre de la prise en charge de la restauration. Crée le document de métadonnées writer (voir Utilisation du document de métadonnées writer, CVssWriter::OnIdentify, IVssCreateWriterMetadata). |
Le demandeur attend que les rédacteurs s’initialisent en appelant IVssAsync. | None | Aucune |
Actions du demandeur pendant l’initialisation de la restauration
Pendant la phase d’initialisation d’une restauration, le demandeur doit avoir accès au document de composants de sauvegarde stocké et à tous les documents de métadonnées writer.
En fonction de l’implémentation, cela signifie que le demandeur exigera que le support de sauvegarde soit monté et lisible, ou qu’un autre mécanisme d’accès aux métadonnées stockées soit disponible.
Le demandeur utilise le document XML stocké contenant le document de composants de sauvegarde du demandeur qui a effectué la sauvegarde pour initialiser son document de composants de sauvegarde à l’aide d’IVssBackupComponents::InitializeForRestore peut accéder aux informations.
Comme c’était le cas lors de la sauvegarde, le document composants de sauvegarde ne contient pas suffisamment d’informations pour prendre en charge une restauration ; par conséquent, le demandeur doit accéder aux documents de métadonnées writer stockés pendant la sauvegarde (voir Utilisation de composants par le demandeur).
Le demandeur récupère les métadonnées de l’enregistreur stockées en appelant CreateVssExamineWriterMetadata pour chaque enregistreur dont les données ont été sauvegardées et qui doivent maintenant être restaurées. Cette fonction crée un objet IVssExamineWriterMetadata pour chaque enregistreur et charge le document de métadonnées de l’enregistreur dans l’objet.
Comme c’était le cas lors de la sauvegarde, pour lancer la coopération entre lui-même et les rédacteurs du système, un demandeur doit générer un événement Identifier en appelant IVssBackupComponents::GatherWriterMetadata. Il n’est pas nécessaire d’appeler IVssBackupComponents::GatherWriterStatus après l’achèvement de GatherWriterMetadata. Les rédacteurs qui ne parviennent pas à traiter l’événement Identifier ne seront pas inclus dans la liste des rédacteurs fournissant les métadonnées à retourner par IVssBackupComponents::GetWriterMetadataCount et IVssBackupComponents::GetWriterMetadata (voir Détermination de l’état de l’enregistreur).
Comme pour l’opération de sauvegarde, un demandeur doit interroger et analyser les informations contenues dans le document des composants de sauvegarde et les comparer aux données des documents de métadonnées de l’enregistreur pour déterminer quels composants ont été sauvegardés et choisir ceux à restaurer (voir Vue d’ensemble de la préparation de la restauration). En outre, le demandeur doit générer une liste détaillée contenant des informations sur les fichiers sur le support de sauvegarde sélectionné pour la restauration, ainsi que sur la façon et l’emplacement où ils doivent être restaurés. (Voir Génération d’un jeu de restauration.)
Par conséquent, certaines applications de sauvegarde peuvent trouver utile d’avoir stocké sur le support de sauvegarde leur propre liste (dans leur propre format optimisé) des fichiers et leurs informations d’enregistreur, de composant, de procédure de restauration et d’emplacement associés. Cette liste peut être utilisée pour réduire la quantité d’analyse et de comparaison des documents de métadonnées writer et des documents de composant de sauvegarde nécessaires à la prise en charge d’une restauration.
Actions de l’enregistreur pendant l’initialisation de la restauration
Comme lors d’une opération de restauration, en réponse à l’événement Identifier, VSS appelle la méthode de gestionnaire virtuel de chaque enregistreur CVssWriter::OnIdentify.
Notez que les applications autres que le demandeur actuel (pour instance, les applications système) peuvent générer des événements Identifier, qui doivent être gérés par l’enregistreur. En outre, il n’existe aucun moyen pour un rédacteur de déterminer à partir de CVssWriter::OnIdentify quelle application a généré l’événement Identifier.
Étant donné qu’un enregistreur peut recevoir plusieurs événements Identifier lors du traitement d’une opération de restauration, les enregistreurs ne doivent jamais définir les informations d’état dans le gestionnaire CVssWriter::OnIdentify . Au lieu de cela, ils doivent utiliser le même algorithme pour créer leur document de métadonnées writer que lors des opérations de sauvegarde (voir Actions de l’enregistreur pendant l’initialisation de la sauvegarde pour plus d’informations).