Erreurs et vétos de l’enregistreur
Un enregistreur peut échouer pour de nombreuses raisons programmatiques. Dans ce cas, il doit opposer son veto à l’opération de sauvegarde, de restauration ou de cliché instantané en cours en appelant la méthode CVssWriter::SetWriterFailure dans l’une de ses méthodes de gestionnaire (par exemple, CVssWriter::OnFreeze ou CVssWriter::OnPreRestore) et en retournant TRUE. Il peut également définir éventuellement une chaîne de message d’erreur en réponse à une condition d’échec dans certaines méthodes de gestionnaire avec les méthodes IVssComponentEx::SetPrepareForBackupFailureMsg, IVssComponentEx::SetPostSnapshotFailureMsg, IVssComponent::SetPreRestoreFailureMsg et IVssComponent::SetPostRestoreFailureMsg . Le demandeur peut accepter le veto ou poursuivre la sauvegarde, en ignorant le veto.
Un demandeur doit case activée l’enregistreur status (à l’aide d’IVssBackupComponents::GatherWriterStatus et DVssBackupComponents::GetWriterStatus) après chaque événement qu’il génère.
Dans certains cas, les messages d’erreur peuvent être récupérés à partir de ces échecs (à l’aide de IVssComponentEx::GetPrepareForBackupFailureMsg, IVssComponent::GetPreRestoreFailureMsg, IVssComponentEx::GetPostSnapshotFailureMsg et IVssComponent::GetPostRestoreFailureMsg , ou un enregistreur peut choisir de définir des métadonnées (à l’aide des méthodes IVssComponent::SetRestoreMetadata et IVssComponent::SetBackupMetadata avec des informations d’état d’erreur). Pour obtenir un exemple de code qui montre comment afficher ces messages d’erreur, consultez IVssComponentEx::GetPrepareForBackupFailureMsg.
Selon l’état de l’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 a retourné les éléments suivants :
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT suggère qu’un demandeur peut ajouter des volumes supplémentaires au cliché instantané
VSS_E_WRITERERROR_RETRYABLE indique qu’une nouvelle tentative sans reconfiguration peut fonctionner. Si l’enregistreur continue de renvoyer l’erreur après plusieurs nouvelles tentatives, essayez de redémarrer le service qui héberge l’enregistreur. Les rédacteurs 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 de journaux d’événements d’application et enregistreur Microsoft SQL Server 2000 Desktop Engine (MSDE).
VSS_E_WRITER_STATUS_NOT_AVAILABLE indique qu’un enregistreur a peut-être 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 peuvent suggérer une réduction de la charge système avant la nouvelle tentative
VSS_E_WRITERERROR_NONRETRYABLE ou VSS_E_WRITER_NOT_RESPONDING indiqueraient probablement une erreur d’enregistreur si grave qu’elle empêche d’essayer de sauvegarder 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 à la suite d’un veto ou d’une erreur.
Par exemple, un demandeur peut décider que l’objectif du 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 des exemples d’un veto d’auteur :
- L’enregistreur met son veto au processus de création du cliché instantané lorsqu’il n’a pas pu suspendre ses activités pendant la création du cliché instantané. Cela indique qu’il existe une forte probabilité que le cliché instantané ne soit pas valide, car une opération d’écriture s’est produite pendant l’état Figer.
- Une application de sauvegarde a demandé un cliché instantané du volume C uniquement : et un enregistreur détermine qu’un cliché instantané de C: et D: doit sauvegarder ses données. Dans ce cas, l’auteur met son 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.