Par défaut, VSS est installé sur Windows Server 2003 et versions ultérieures. Le service est défini sur un type de démarrage Manuel . Le service démarre si un programme de sauvegarde (Demandeur) peut utiliser le ou les enregistreurs VSS.
Utilisez les éléments suivants pour aider à la résolution d'un problème potentiel concernant les sauvegardes VSS Exchange 2007 :
- Informations du journal des événements
- Commandes VSSADMIN
- Consignation de diagnostics
- Outil Extra d'Exchange
Informations du journal des événements
Les opérations suivantes décrivent le processus de sauvegarde d'Exchange 2007 qui se produit lors de l'utilisation de VSS, ainsi que les événements consignés correspondants. Consultez les événements consignés au cours de l'opération de sauvegarde afin de déterminer le composant défaillant.
Etape 1 : Préparation de la base de données
Le programme de sauvegarde, également connu sous le nom d'agent, exécute un travail planifié.
Le demandeur VSS du programme de sauvegarde émet une demande à VSS pour préparer les groupes de stockage Exchange sélectionnés pour une sauvegarde de cliché.
VSS signal à l'enregistreur de se préparer à une sauvegarde de cliché.
Le tableau suivant répertorie les événements enregistrés dans le journal de l'application pour chaque instance de sauvegarde démarrée.
Etape 2 : Cliché de la base de données
Après que l'enregistreur d'Exchange a informé VSS de la fin de la préparation de la sauvegarde, les actions suivantes se produisent :
1) L'enregistreur d'Exchange gèle les bases de données Exchange appropriées. Dans ce scénario, Exchange effectue les opérations suivantes :
- Interdiction des actions administratives dans le groupe de stockage concerné
- Vérification des dépendances de volume pour le groupe de stockage
- Interruption de toutes les opérations d'écriture dans les fichiers de base de données et journaux des transactions concernés
Remarque : Exchange maintient l'accès en lecture aux fichiers de base de données et journaux de transactions.
2) Lorsque Exchange démarre l'opération de gel des fichiers de base de données et journaux des transactions concernés, un thread de travail est démarré pour conserver une trace de la durée de création du cliché de copie de la base de données. Le processus de copie ne doit pas pouvoir durer plus de 10 secondes.
Le processus complet de réalisation du cliché de copie ne doit pas durer plus de 70 secondes. Il inclut toutes les opérations se produisant au cours de l'étape 2 (Cliché de la base de données). Si le processus complet dure plus de 70 secondes, le délai du thread de travail expire. En cas d'expiration du délai, Exchange interrompt le travail de sauvegarde et dégèle les groupes de stockage. Le programme poursuit ensuite ses opérations régulières.
Le tableau suivant répertorie les événements enregistrés dans le journal de l'application au cours de l'opération de réalisation du cliché.
Etape 3 : Vérification du cliché instantané
Le demandeur VSS du programme de sauvegarde vérifie l'intégrité du cliché instantané. Le programme informe ensuite Exchange de la réussite ou non de la sauvegarde. Cette action signale la fin de l'opération de sauvegarde. La méthode OnBackupComplete() est utilisée pour réinitialiser l'attribut backupInProgress .
Le tableau suivant répertorie les événements enregistrés dans le journal de l'application au cours de l'exécution de la sauvegarde :
Lorsqu'il existe une opération de sauvegarde, l'enregistreur d'Exchange appelle la méthode OnBackupShutdown() . Cette méthode est utilisée pour exécuter les opérations requises lorsqu'un programme de sauvegarde se ferme une fois le travail de sauvegarde effectué.
Si une erreur fatale se produit, la méthode OnBackupShutdown() définit l'état de l'enregistreur d'Exchange sur Echec.
Le tableau suivant répertorie les événements enregistrés dans le journal de l'application au cours de l'événement BackupShutdown.
Les deux appels de fonction suivants se produisent lors de l'échec d'une sauvegarde :
- CVssIExchWriter::OnAbort()
- Cette méthode indique qu'une opération de cliché instantané s'est terminée prématurément. L'enregistreur d'Exchange l'utilise pour procéder à un nettoyage et pour donner l'instruction à la base de données JET de dégeler (libérer) la banque d'informations. L'enregistreur d'Exchange l'utilise également pour informer la base de données JET de l'arrêt de l'opération de cliché.
- CVssIExchWriter::EcBackupCleanup()
- Si la sauvegarde échoue, Exchange utilise cette méthode pour procéder à des opérations de nettoyage après l'échec. Exchange l'utilise également pour informer la base de données JET et la banque d'informations de l'échec de l'opération de cliché.
Etape 4 : Troncation du journal des transactions
A la fin d'une sauvegarde réussie, Exchange effectue les opérations suivantes :
- Troncation des fichiers journaux de transactions
Remarque : si la sauvegarde de cliché d'un volume contenant des fichiers de base de données Exchange a été effectuée plutôt qu'une sauvegarde Exchange, la sauvegarde est gérée de la même manière que pour une sauvegarde Exchange. Cependant, dans ce scénario, la sauvegarde est considérée comme une sauvegarde de copie et le journal des transactions n'est pas tronqué.
- Exchange met à jour les en-têtes de la base de données avec les informations appropriées dans le champ Log Required .
- Suppression de l'état en cours de la sauvegarde
- Enregistrement de l'heure de la dernière sauvegarde pour les bases de données concernées.
Commandes VSSADMIN
Utilisez l'outil de ligne de commande d'administration de VSS (VSSADMIN) pour obtenir des informations sur les enregistreurs et fournisseurs enregistrés avec VSS.
Pour obtenir des informations à propos des enregistreurs VSS, suivez ces étapes :
1) Dans le serveur Exchange, cliquez sur Démarrer, puis sur Exécuter. Saisissez cmdet cliquez sur OK.
2) A l'invite de commande, saisissez vssadmin list writers, puis appuyez sur Entrée.
Examinez les résultats renvoyés et repérez les résultats de l'enregistreur Exchange. L'enregistreur d'Exchange doit présenter un état stable. Si tel est le cas, les résultats suivants sont renvoyés :
Writer name: 'Microsoft Exchange Writer'
Writer Id: {76fe1ac4-15f7-4bcd987e-8e1acb462fb7}
Writer Instance Id: {977637c2-fcdd-463e-b1f8-a9a5d603a2e8}
State: [1] Stable
Last error: No error
Si la valeur State est différente de Stable, redémarrez le service de banque d'informations Microsoft Exchange. Lorsque Exchange présente un état échoué, les résultats renvoyés sont semblables aux résultats suivants :
Writer name: 'Microsoft Exchange Writer'
Writer Id: {76fe1ac4-15f7-4bcd987e-8e1acb462fb7}
Writer Instance Id: {977637c2-fcdd-463e-b1f8-a9a5d603a2e8}
State: [14] Failed
Last error: Retryable error
3) Pour obtenir des informations sur les fournisseurs VSS enregistrés, saisissez vssadmin list providers dans l'invite de commande. Les résultats suivant doivent apparaître :
Provider name: 'Microsoft Software Shadow Copy provider 1.0'
Provider type: System
Provider Id: {b5946137-7b9f-4925-af80-51abd60b20d5}
Version: 1.0.0.7
Par défaut, seul le fournisseur de cliché instantané de logiciel Microsoft est listé. Cependant, si un programme de sauvegarde tiers est installé, il est possible que d'autres fournisseurs soient listés.
Remarque : pour plus d'informations sur les commandes disponibles, saisissez vssadmin /? dans l'invite de commande.
Consignation de diagnostics
Si vous suspectez que l'origine du problème est un autre problème au niveau de l'enregistreur d'Exchange, activez la consignation de diagnostics pour l'enregistreur d'Exchange. Pour ce faire, suivez les instructions ci-dessous :
REMARQUE : il est recommandé de contacter Microsoft pour le dépannage du problème au niveau de l'enregistreur.
1. Lancez l'environnement de ligne de commande Exchange Management Shell.
2. Exécutez la commande suivante :
get-eventloglevel | where-object {$_.identity -like "*Exchange Writer*"} | set-eventloglevel -level expert
3. Pour vérifier le niveau de consignation pour l'enregistreur d'Exchange, exécutez la commande suivante :
get-eventloglevel | where-object {$_.identity -like "*Exchange Writer*"}
4. Pour restaurer la consignation de diagnostics au niveau par défaut, exécutez la commande suivante :