Partager via


Génération d’un jeu de restauration

Un jeu de restauration est une liste de tous les fichiers à restaurer et des emplacements dans lesquels ils seront restaurés.

Comme lors de la génération de la liste des fichiers de sauvegarde (voir Génération d’un jeu de sauvegarde), un algorithme permettant de déterminer quels fichiers restaurer et où les restaurer doit procéder à l’écriture instance par instance d’enregistreur, et sur la base d’un composant par composant pour chaque writer instance.

Il est nécessaire d’associer chaque fichier sur le support de sauvegarde au composant qui l’a géré. Il est également nécessaire d’obtenir la méthode de restauration du composant de gestion et les informations sur la cible de restauration du fichier, ainsi que ses mappages d’emplacements alternatifs (le cas échéant).

Certains fichiers peuvent également nécessiter des opérations de fichiers partiels ou des cibles dirigées pour la restauration.

En examinant la capacité de sélection des composants pour les chemins de sauvegarde et logiques (voir Utilisation de la fonctionnalité de sélection et des chemins logiques), un demandeur est en mesure de déterminer la structure des composants de l’opération de sauvegarde qu’il va restaurer.

Une fois la structure de composant de la sauvegarde établie, le demandeur peut obtenir les informations du jeu de fichiers de chaque composant (spécification de fichier, chemin d’accès et indicateur de récursivité). Un demandeur peut ensuite générer un jeu de restauration.

Les fichiers nécessitant des fichiers partiels ou des cibles dirigées fournissent leurs propres instructions de restauration détaillées (voir Emplacements de sauvegarde et de restauration non par défaut), qui peuvent ensuite être ajoutés au jeu de restauration.

Un mécanisme classique pour générer un jeu de restauration pour les fichiers qui ne sont pas impliqués dans des opérations de fichiers partiels ou des cibles dirigées peut procéder en procédant comme suit :

  1. Obtenez la liste des fichiers sur le support de sauvegarde, y compris leurs chemins d’accès d’origine.

  2. Identifiez la classe et le composant writer pour chaque fichier sur le support de sauvegarde en procédant comme suit :

  3. Obtenez d’autres informations de mappage pour chaque fichier sur le support de sauvegarde :

  4. Avec ces informations de fichier et de composant, le document composants de sauvegarde peut être interrogé pour obtenir des informations sur les cibles de restauration, les options et les nouveaux emplacements de restauration pour chaque fichier. Ces informations peuvent être combinées avec la liste des fichiers, des composants et d’autres emplacements.

  5. Les fichiers non protégés par des enregistreurs peuvent être sélectionnés d’une manière cohérente avec les opérations de restauration traditionnelles.

À ce stade, un demandeur doit disposer d’une liste de tous les fichiers qu’il doit restaurer, ainsi que d’instructions sur la façon de les restaurer, et peut commencer la restauration des fichiers sur la base des éléments suivants :

  • L’utilisation de mappages d’emplacements alternatifs ou de l’emplacement du fichier d’origine comme cible pour la restauration dépend de la présence ou de l’absence d’un fichier à cet emplacement cible et des paramètres de composant de VSS_RESTORE_TARGET et de VSS_RESTOREMETHOD_ENUM (voir Emplacements de sauvegarde et de restauration non par défaut).
  • La réussite d’une tentative de restauration dépend de problèmes tels que les autorisations d’accès de la cible, le verrouillage des fichiers cibles et d’autres problèmes classiques liés à la restauration des fichiers.
  • La réussite ou l’échec de la restauration d’un composant donné pour un writer instance donné doit être conservée dans le document composants de sauvegarde en appelant IVssBackupComponents::SetFileRestoreStatus. Cela rend les informations accessibles aux rédacteurs lorsqu’ils traitent l’événement PostRestore.
  • Si un fichier est restauré dans un autre mappage d’emplacement, le demandeur doit appeler IVssBackupComponents::AddAlternativeLocationMapping. Cela permettra aux rédacteurs de déterminer si leurs fichiers ont été restaurés à d’autres emplacements via IVssComponent::GetAlternateLocationMapping.
  • Les demandeurs peuvent trouver souhaitable de restaurer des fichiers à de nouveaux emplacements. Cela est acceptable, mais le demandeur doit l’indiquer au writer à l’aide de la méthode IVssBackupComponents::AddNewTarget .