L’événement ID 2104 est enregistré dans la réplication DFS ouvrir une session sur un serveur en aval lorsque le service de réplication DFS s’arrête.


Symptômes


Considérez le scénario suivant :
  • Vous créez un environnement de réseau de réplication de système de fichiers distribués (DFS, Distributed File System). Les serveurs de votre réseau exécutent Windows Server 2003 R2 ou Windows Server 2008.
  • Vous disposez d’un serveur en aval qui fonctionne comme un serveur concentrateur. Ce serveur réplique les données des serveurs en amont.
Dans ce scénario, le service de réplication DFS peut arrêter sur le serveur en aval. En outre, les événements 2104 est enregistré dans le journal de la réplication DFS sur le serveur en aval :

Nom du journal : La réplication DFS
Source : DFSR
L’ID d’événement : 2104
Catégorie de la tâche : aucun
Niveau : erreur
Mots clés : classique
Utilisateur : n/a
Ordinateur : < nom de l’ordinateur >
Description :
Le service de réplication DFS n’a pas pu récupérer d’une erreur interne de la base de données sur le volume < lettre du lecteur >:. La réplication a été arrêtée pour tous les dossiers répliqués sur ce volume.

Informations supplémentaires :
Erreur : 9214 (erreur de la base de données interne (-1605))
Volume : < GUID >
Base de données : < lettre du lecteur >: \System Volume Information\DFSR
Remarque Code d’erreur «-1605 » est l’erreur Jet de « JET_errKeyDuplicate ».

Dans le même temps, l’événement 2212 est enregistré dans le journal de la réplication DFS sur un serveur en amont :

Nom du journal : La réplication DFS
Source : DFSR
L’ID d’événement : 2212
Catégorie de la tâche : aucun
Niveau : avertissement
Mots clés : classique
Utilisateur : n/a
Ordinateur : < nom de l’ordinateur >
Description :
Le service de réplication DFS a détecté un arrêt inattendu de volume < lettre du lecteur >:. Cela peut se produire si le service s’est arrêté de façon anormale (en raison d’une coupure d’alimentation, par exemple) ou une erreur s’est produite sur le volume. Le service a lancé automatiquement un processus de récupération. Le service va reconstruire la base de données s’il détermine qu’il ne peut pas récupérer de manière fiable. Aucune action utilisateur n’est requise.

Informations supplémentaires :
Volume : < lettre du lecteur >
GUID : < GUID >
Après un certain temps, le service de réplication DFS se redémarre automatiquement. Toutefois, le même problème peut se produire à nouveau.

Cause


Erreur du service de réplication DFS se produit car la base de données de réplication DFS restaure à partir d’un état d’arrêt incorrect sur le serveur en amont qui a enregistré une instance de l’événement ID 2122. Toutefois, une incohérence de la base de données sur le serveur en aval est introduite.

Le serveur en amont remplit un numéro de séquence de version globale pour une mise à jour à son serveur en aval, avant que le serveur en amont valide le numéro de séquence de version global à sa base de données. Puis, les pannes de serveur en amont ou s’il rencontre une coupure d’alimentation ou une défaillance du disque dur avant qu’il valide le dernier numéro de séquence de version globale de sa base de données.




Une fois le serveur en amont reprend, il réutilise le numéro de séquence de version globale qui est déjà publié pour mettre à jour un autre. Le serveur en aval détecte une incohérence dans la mesure où il existe différentes mises à jour ayant le même numéro de séquence de version internationale.

Toutefois, le serveur en aval ne peut pas résoudre le problème, car les deux ID_RECORDs dans le même jeu de contenu ne peut pas avoir le même numéro de séquence de version internationale. La tentative de résoudre le problème échoue et génère un code d’erreur «-1605 » qui représente l’erreur « JET_errKeyDuplicate ».

Une fois le correctif installé, la réplication DFS appelle une autre fonction de base de données Jet. Cette fonction permet de s’assurer que la transaction de base de données est validée sur le disque du serveur en amont avant que le serveur en amont remplit un numéro de séquence de version globale pour une mise à jour sur le serveur en aval.

Résolution


Pour résoudre ce problème, procédez comme suit :
  1. Pour résoudre le problème d’incohérence de base de données sur le serveur en aval, effectuez les étapes dans la section «contournement».
  2. Pour empêcher ce problème de se reproduire, installez le correctif logiciel approprié sur le serveur en amont :
    • Sur un serveur en amont qui exécute Windows Server 2003 R2, installez ce correctif logiciel.
    • Sur un serveur en amont qui exécute Windows Server 2008, installez le correctif à partir de l’article suivant de la Base de connaissances Microsoft :
      979247 le service de réplication DFS se bloque sur un serveur en aval basée sur Windows Server 2008 qui est configuré pour répliquer les données de plusieurs serveurs en amont

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

Conditions préalables

Appliquez ce correctif sur le serveur qui exécute Windows Server 2003 R2 Service Pack 2 (SP2).

Pour plus d’informations sur la façon d’obtenir un service pack Windows Server 2003, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

889100 comment faire pour obtenir le dernier service pack pour Windows Server 2003

Informations concernant le Registre

Pour utiliser le correctif dans ce package, il est inutile d'apporter des modifications au Registre.

Nécessite un redémarrage

Vous devez redémarrer l’ordinateur après avoir installé ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

Informations sur les fichiers

La version anglaise (États-Unis) de ce correctif logiciel installe des fichiers dont les attributs sont répertoriés dans les tableaux ci-dessous. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Les dates et heures de ces fichiers sur votre ordinateur local sont affichées dans votre heure locale en tenant compte de l'heure d'été (DST). En outre, les dates et heures peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.
Note d’information de fichier de Windows Server 2003 R2
  • En plus des fichiers répertoriés dans ces tableaux, ce correctif installe aussi un fichier catalogue de sécurité associé (KBnuméro.cat) qui est signé avec une signature numérique Microsoft.
Pour toutes les versions basées sur les x86 de Windows Server 2003 R2 SP2
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeSP requis
W03a3409.dll5.2.3790.459043,52016-Sep-200912:16x86SP2
Dfsr.exe5.2.3790.46511,705,98418-Jan-201020:30x86SP2
Pour toutes les versions basées sur les x64 de Windows Server 2003 R2 SP2
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeSP requisDossier
Dfsr.exe5.2.3790.46513,595,26420-Jan-201001:57x64SP2Ne s'applique pas
W03a3409.dll5.2.3790.459044,03220-Jan-201001:57x64SP2Ne s'applique pas
Ww03a3409.dll5.2.3790.459043,52020-Jan-201001:57x86SP2WOW
Pour toutes les versions basés sur IA-64 prises en charge de Windows Server 2003 R2 SP2
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeSP requisDossier
Dfsr.exe5.2.3790.46515,501,44020-Jan-201001:53IA-64SP2Ne s'applique pas
W03a3409.dll5.2.3790.459042,49620-Jan-201001:53IA-64SP2Ne s'applique pas
Ww03a3409.dll5.2.3790.459043,52020-Jan-201001:53x86SP2WOW

Solution de contournement


Solution de contournement pour l’erreur de réplication DFS

Pour contourner ce problème, manuellement effectuer une opération de désactivation sur l’ancien enregistrement ID_RECORD et crée un nouveau numéro de séquence de version internationale. Pour ce faire, procédez comme suit :
  1. Déterminer le serveur d’origine DFSR et le chemin d’accès du fichier. Il est constitué par le fichier GVSN GUID et le nom RG, où correspondance du CSID.

    Dans le cas ci-dessus, par exemple :

    01:55:56.862 20091213 8820 Rdc::SeedFile::Initialize de 808 RDCX les hachages coïncident. Le téléchargement est redondant, uid:{8BB53DB2-9446-47D0-94E0-F93A56589D18}-v2357 fileName:4 gvsn:{58A90409-3866-4DC1-B474-BE1C8DE41B84}-v22461-5269.dot csId : {B890770A-6043-4004-A149-41E3A1935AC1

    20091213 01:55:57.705 8820 vers le bas de la DownstreamTransport::RdcGet de 5186 [erreur] Échec de connId : {7D927665-24BF-4F16-B503-708AABDBC9AE} csId : mise à jour de rgName:SOME_RG {B890770A-6043-4004-A149-41E3A1935AC1} :

    Exécuter :


    DFSRDIAG.EXE GUID2NAME /rgname:"SOME_RG" /guid:{58A90409-3866-4DC1-B474-BE1C8DE41B84}
  2. Maintenant que vous connaissez le serveur, vous pouvez accéder à cet ordinateur.
    • Si le serveur en amont exécute Windows Server 2008 R2, exécutez la commande suivante :
      DFSRDIAG IDRECORD
    • Si le serveur en amont exécute Windows Server 2003 ou Windows Server 2008, exécutez la commande suivante :
      LIGNE DE COMMANDE WMI. EXE /namespace:\\root\microsoftdfs chemin d’accès dfsridrecordinfo. UID = »< UID de la GVSN dupliqué sur le serveur en amont >"appel de getfullfilepath
  3. Recherchez le chemin d'accès complet du fichier qui pose un problème.
    1. Si vous utilisez Windows Server 2008 R2, utilisez DFSRDIAG IDRECORD. Par exemple :


      DFSRDIAG /. Enregistrement d’ID EXE /UID:{8BB53DB2-9446-47D0-94E0-F93A56589D18}-v2357
    2. Si vous utilisez Win2003 ou Win2008, utilisez WMIC. Par exemple :

      LIGNE DE COMMANDE WMI. EXE /namespace:\\root\microsoftdfs chemin d’accès dfsridrecordinfo. UID="{8BB53DB2-9446-47D0-94E0-F93A56589D18}-v2357 » appel de getfullfilepath
  4. Faites une copie du fichier (dans l’exemple ci-dessus « 4-5269.dot ») dans le même dossier et appeler un nom aléatoire comme « fixed.ned ».
  5. Supprimez l’ancien fichier (dans l’exemple ci-dessus « 4-5269.dot »).
  6. Renommez le fichier copié le nom d’origine (cas de « fixed.ned » à « 4-5269.dot »).
  7. Cela va désactiver l’ancien ID_RECORD et créer un nouveau GVSN et tout ira bien.

Exemple de solution de contournement

Par exemple, supposons que vous recevez le journal de débogage suivant sur le serveur en aval concerné :
20091213 01:55:56.862 8820 RDCX   808 Rdc::SeedFile::Initialize The hashes coincide. The download is redundant, uid:{8BB53DB2-9446-47D0-94E0-F93A56589D18}-v2357 gvsn:{58A90409-3866-4DC1-B474-BE1C8DE41B84}-v22461 fileName:4-5269.dot csId:{B890770A-6043-4004-A149-41E3A1935AC120091213 01:55:57.705 8820 DOWN  5186 [ERROR] DownstreamTransport::RdcGet Failed on connId:{7D927665-24BF-4F16-B503-708AABDBC9AE} csId:{B890770A-6043-4004-A149-41E3A1935AC1} rgName:SOME_RG update: 
Dans ce scénario, le « {58A90409-3866-4DC1-B474-BE1C8DE41B84}-v22461 » GUID et la RgName « SOME_RG » ont le même « {B890770A-6043-4004-A149-41E3A1935AC1} » CSID. Par conséquent, procédez comme suit pour contourner le problème de délai dans ce scénario :
  1. Exécutez la commande suivante pour obtenir le nom du serveur en amont problématique :
    DFSRDIAG.EXE GUID2NAME /rgname:"SOME_RG" /guid:{58A90409-3866-4DC1-B474-BE1C8DE41B84}
  2. Sur le serveur en amont, trouver le GUID du numéro de séquence version de global dupliqué dans son journal de débogage. Ensuite, exécutez une des commandes suivantes pour obtenir le chemin d’accès complet du fichier qui a le numéro de séquence de version de global dupliqué :
    • Pour Windows Server 2008 R2, utilisez la commande suivante :
      DFSRDIAG /. Enregistrement d’ID EXE /UID:{8BB53DB2-9446-47D0-94E0-F93A56589D18}-v2357
    • Pour Windows Server 2003 R2 ou Windows Server 2008, utilisez la commande suivante :de ligne de commande WMI. EXE /namespace:\\root\microsoftdfs chemin d’accès dfsridrecordinfo. UID="{8BB53DB2-9446-47D0-94E0-F93A56589D18}-v2357 » appel de getfullfilepath
  3. Supposons que vous obtenez le nom de fichier de « 4-5269.dot ». Copiez le fichier « 4-5269.dot » et puis renommez le fichier copié sur le nom de fichier « fix.dot ». Assurez-vous que vous placez les fichiers « 4-5269.dot » et « fix.dot » dans le même dossier.
  4. Supprimez le fichier « 4-5269.dot ».
  5. Renommez le fichier « fix.dot » au nom de fichier de « 4-5269.dot ».
En suivant ces étapes, vous pouvez contourner le problème de base de données de réplication DFS dans l’exemple.

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft