Partager via


Erreurs et vetos de l’enregistreur

Un enregistreur peut échouer pour de nombreuses raisons programmatiques. Lorsque cela se produit, il doit opposer son veto à l’opération de sauvegarde, de restauration ou de cliché instantané en appelant la méthode CVssWriter ::SetWriterFailure dans l’une de ses méthodes de gestionnaire (par exemple, CVssWriter ::OnFreeze ou CVssWriter ::OnPreRestore) et retourner TRUE. Il peut également définir une chaîne de message d’erreur en réponse à une condition d’échec dans certaines méthodes de gestionnaire avec l'IVssComponentEx ::SetPrepareForBackupFailureMsg, IVssComponentEx ::SetPostSnapshotFailureMsg, IVssComponent ::SetPreRestoreFailureMsget IVssComponent ::SetPostRestoreFailureMsg méthodes. Le demandeur peut accepter le veto ou continuer avec la sauvegarde, en ignorant le veto.

Un demandeur doit vérifier l’état de l’enregistreur (à l’aide de IVssBackupComponents ::CollectWriterStatus et IVssBackupComponents ::GetWriterStatus) en suivant chaque événement généré.

Dans certains cas, les messages d’erreur peuvent être récupérés à partir de ces échecs (à l’aide de l'IVssComponentEx ::GetPrepareForBackupFailureMsg, IVssComponent ::GetPreRestoreFailureMsg, IVssComponentEx ::GetPostSnapshotFailureMsget IVssComponent ::GetPostRestoreFailureMsg méthodes), ou un enregistreur peut choisir de définir des métadonnées (à l’aide de IVssComponent ::SetRestoreMetadata et IVssComponent :: SetBackupMetadata avec des informations d’état d’erreur). Pour obtenir un exemple de code montrant comment afficher ces messages d’erreur, consultez IVssComponentEx ::GetPrepareForBackupFailureMsg.

Selon l’état d’erreur, un demandeur ou son opérateur peut redémarrer la sauvegarde et le cliché instantané avec toute modification nécessaire de l’état du travail ou du système de sauvegarde.

Par exemple, supposons que GetWriterStatus retourné les éléments suivants :

  • VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT suggère qu’un demandeur peut ajouter des volumes supplémentaires à la cliché instantané

  • VSS_E_WRITERERROR_RETRYABLE indique que la nouvelle tentative sans reconfiguration peut fonctionner. Si l’enregistreur continue de retourner l’erreur après plusieurs nouvelles tentatives, essayez de redémarrer le service qui héberge l’enregistreur. Les enregistreurs suivants sont hébergés dans le service VSS : enregistreur de registre, enregistreur de base de données d’inscription de classes COM+, enregistreur d’optimisation de cliché instantané et enregistreur ASR (Automated System Recovery). Si l’enregistreur appartient à une application qui héberge l’enregistreur dans son propre processus, essayez de redémarrer l’application.

    Windows Server 2003 et Windows XP : Les enregistreurs suivants sont hébergés dans le service VSS : enregistreur de registre, enregistreur de base de données d’inscription de classes COM+, enregistreur d’événements d’application et enregistreur microsoft SQL Server 2000 Desktop Engine (MSDE).

  • VSS_E_WRITER_STATUS_NOT_AVAILABLE indique qu’un enregistreur peut avoir atteint le nombre maximal de sessions de sauvegarde et de restauration disponibles, et que les nouvelles tentatives peuvent fonctionner lorsque le système est moins occupé.

  • VSS_E_WRITERERROR_OUTOFRESOURCES ou VSS_E_WRITERERROR_TIMEOUT peut suggérer que la charge du système soit réduite avant de réessayer

  • VSS_E_WRITERERROR_NONRETRYABLE ou VSS_E_WRITER_NOT_RESPONDING indiquerait probablement une erreur d’enregistreur si grave que pour empêcher toute tentative de sauvegarde de ses données avec VSS.

Selon l’enregistreur et les composants qui les génèrent, il n’est pas toujours nécessaire qu’une application de sauvegarde abandonne en suivant un veto ou une erreur.

Par exemple, un demandeur peut décider que l’intention de la cliché instantané est de sauvegarder l’application A et que le veto a été reçu de l’enregistreur pour l’application de sauvegarde B. Dans ce cas, il est parfaitement acceptable de continuer à sauvegarder l’application A tout en ignorant le veto.

Voici quelques exemples de veto d’écrivain :

  • L’enregistreur vétoit le processus de création de cliché instantané lorsqu’il n’a pas pu suspendre ses activités pendant le moment où la copie instantanée a été créée. Cela indique qu’il existe une probabilité élevée que le cliché instantané n’est pas valide, car une opération d’écriture s’est produite pendant l’état Freeze.
  • Une application de sauvegarde a demandé une cliché instantané du seul volume C : et un enregistreur détermine qu’une cliché instantané de C : et D : est de sauvegarder ses données. Dans ce cas, l’écrivain aura un droit de veto. L’application de sauvegarde peut examiner les métadonnées et déterminer si l’enregistreur sera ignoré ou si le processus de création de cliché instantané sera abandonné et redémarré ultérieurement.