Partager via


Vue d’ensemble de la préparation de la restauration

Lors de la préparation d’une restauration, un demandeur utilise les documents de métadonnées writer stockés conjointement avec son propre document de composants de sauvegarde récupéré pour déterminer ce qui doit être restauré et comment. Pour plus d’informations, consultez Vue d’ensemble du traitement d’une restauration sous VSS.

Après la sélection des composants candidats de restauration, les enregistreurs en cours d’exécution sur le système accèdent au document des composants de sauvegarde du demandeur. Les rédacteurs utilisent cet accès pour indiquer comment provoquer une difficulté minimale pour l’exécution des services en raison de la restauration.

Une fois cette opération terminée, le demandeur dispose d’informations suffisantes pour déterminer quels fichiers devront être restaurés, ainsi que l’emplacement et la façon dont ils doivent être restaurés. (Pour plus d’informations, consultez Génération d’un jeu de restauration.)

Le tableau suivant montre la séquence d’actions et d’événements nécessaires à la préparation d’une opération de restauration.

Action du demandeur Événement Action d’écriture
Récupérer des informations dans le document composants de sauvegarde sur les composants explicitement inclus dans l’opération de sauvegarde (voir IVssBackupComponents::GetWriterComponents) Examinez les documents de métadonnées de l’enregistreur récupérés pour obtenir des détails sur ces composants explicitement inclus dans la sauvegarde et sur les sous-composants implicitement inclus . (Voir IVssExamineWriterMetadata, IVssWMComponent.)
None None
Sélectionnez les composants et les jeux de composants à restaurer (consultez IVssBackupComponents::SetSelectedForRestore et IVssBackupComponents::AddRestoreSubcomponent.) None None
Le demandeur permet au rédacteur de mettre à jour le document des composants de sauvegarde et peut éventuellement communiquer toutes les options de restauration spéciales au rédacteur. (Voir IVssBackupComponents::SetRestoreOptions, IVssBackupComponents::AddNewTarget et IVssBackupComponents::P reRestore.) PreRestore L’enregistreur détermine la participation à la restauration, prépare les fichiers à restaurer et modifie éventuellement le document Composants de sauvegarde si nécessaire. (Voir CVssWriter::OnPreRestore, IVssComponent, IVssComponent::IsSelectedForRestore, IVssComponent::GetRestoreOptions, IVssComponent::SetRestoreTarget, IVssComponent::SetRestoreMetadata, IVssComponent::AddDirectedTarget.)
Le demandeur attend que les enregistreurs gèrent l’événement PreRestore avec IVssAsync. Il doit également vérifier status de l’enregistreur. (Voir IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus.) Aucune Aucune

 

Actions du demandeur pendant les préparations de restauration

Pour déterminer quels composants sont candidats à la restauration, le demandeur doit effectuer les opérations suivantes :

Pour ce faire, le demandeur doit examiner explicitement les composants inclus dans le document composants de sauvegarde stocké. Ces informations de composant sont disponibles sur la base d’un enregistreur par enregistreur à l’aide d’IVssBackupComponents::GetWriterComponents, qui retourne des instances de l’interface IVssWriterComponentsExt , à partir de laquelle les informations d’enregistreur et les instances de l’interface IVssComponent peuvent être récupérées .

Comme indiqué ailleurs (utilisation de composants par le demandeur), le document des composants de sauvegarde et l’interface IVssComponent ne contiennent pas suffisamment d’informations pour prendre en charge la sauvegarde. Par conséquent, le demandeur doit examiner le document de métadonnées writer stocké correspondant à l’aide d’IVssExamineWriterMetadata (voir Informations d’identification de l’enregistreur).

Le nombre de composants que chaque enregistreur gère est retourné par IVssExamineWriterMetadata::GetFileCounts. Le demandeur peut ensuite utiliser IVssExamineWriterMetadata::GetComponent pour obtenir une interface IVssWMComponent pour chaque composant qu’un enregistreur gère.

En examinant la possibilité de sélectionner les composants pour les chemins d’accès logiques et de sauvegarde (voir Utilisation de la sélection et des chemins logiques), un demandeur est en mesure d’identifier les composants qui ont défini les jeux de composants au moment de la sauvegarde (composants explicitement inclus) et les sous-composants membres de ces ensembles (composants implicitement inclus).

Les demandeurs indiquent via le document Composants de sauvegarde si un composant doit être restauré explicitement, à l’aide d’IVssBackupComponents::SetSelectedForRestore ou d’IVssBackupComponents::AddRestoreSubcomponent. Le choix de la méthode dépend de la façon dont le composant a été sauvegardé à l’origine et de sa sélection pour la restauration. Ces composants explicitement inclus pour la restauration désignent d’autres composants implicitement inclus (pour plus d’informations, consultez Utilisation de la sélection pour la restauration et les sous-composants ).

Un demandeur peut inclure explicitement aucun des composants d’un enregistreur en cours d’exécution pour la restauration à l’aide d’IVssBackupComponents::SetSelectedForRestore ou IVssBackupComponents::AddRestoreSubcomponent. Dans ce cas, cet enregistreur ne recevra pas d’événements VSS pour le reste de l’opération de restauration.

L’utilisation explicite d’IVssBackupComponents::SetSelectedForRestore ou d’IVssBackupComponents::AddRestoreSubcomponent pour sélectionner un composant d’un enregistreur qui n’est pas en cours d’exécution retourne une erreur VSS_E_OBJECT_NOT_FOUND. Pour plus d’informations sur la restauration des données des enregistreurs manquants, consultez Restaurations sans participation de l’enregistreur.

Pour permettre à un rédacteur de disposer d’informations complètes sur lesquelles agir, les options de restauration spécifiques à l’auteur et l’indication d’une restauration incrémentielle peuvent être envoyées aux rédacteurs par des appels de demandeur à IVssBackupComponents::SetRestoreOptions et IVssBackupComponents::SetAdditionalRestores, respectivement.

À ce stade, un demandeur a terminé sa préparation et génère un événement PreRestore en appelant IVssBackupComponents::P reRestore, ce qui permet aux rédacteurs de se préparer à la restauration réelle.

Actions de l’enregistreur pendant les préparations de restauration

La préparation de l’enregistreur pour l’opération de restauration se produit lors de la gestion de l’événement PreRestore avec la méthode virtuelle CVssWriter::OnPreRestore. L’implémentation par défaut retourne simplement sans effectuer aucune action. Les rédacteurs peuvent choisir de remplacer l’implémentation par défaut pour exercer un contrôle accru en :

Le gestionnaire d’événements CVssWriter::OnPreRestore reçoit une instance des IVssWriterComponents, à partir de laquelle il peut obtenir des interfaces IVssComponent pour celles de ses composants explicitement inclus dans le document Composants de sauvegarde pendant la sauvegarde.

Informations sur les sous-composants implicitement inclus dans les opérations de sauvegarde et explicitement inclus dans les restaurations à l’aide d’un instance d’IVssComponent correspondant au composant qui a défini son jeu de composants de sauvegarde.

La méthode IVssComponent::IsSelectedForRestore est utilisée pour déterminer si un composant de sauvegarde explicitement inclus pour la sauvegarde doit être restauré.

Pour déterminer si un sous-composant de sauvegarde a été explicitement inclus dans la restauration, les rédacteurs utilisent IVssComponent::GetRestoreSubcomponent.

L’enregistreur doit examiner l’ensemble de fichiers dans chaque composant et déterminer s’il doit prendre des mesures pour prendre en charge la restauration. L’enregistreur doit évaluer s’il souhaite que ses fichiers actuels soient remplacés ou s’il nécessite une restauration vers de nouveaux emplacements. Les actions peuvent inclure les éléments suivants :

Le instance d’IVssComponent utilisé sera celui créé par l’inclusion explicite du composant dans le document composants de sauvegarde pendant la sauvegarde, ou celui du composant définissant le jeu de composants de sauvegarde dont il était membre (voir Utilisation de la sélectabilité pour la restauration et les sous-composants).