Le message d’erreur « Incompatibilité de schéma » se produit lorsque vous essayez d’exécuter l’Assistant Installation d’Active Directory (Dcpromo.exe)

Cet article fournit la résolution de l’erreur « incompatibilité de schéma » lorsque vous essayez d’exécuter l’Assistant Installation d’Active Directory (Dcpromo.exe).

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 838179

Symptômes

Lorsque vous exécutez l’Assistant Installation d’Active Directory (Dcpromo.exe) sur un ordinateur exécutant l’une des éditions de Microsoft Windows répertoriées dans la section « S’applique à », vous pouvez recevoir un message d’erreur « Incompatibilité de schéma ».

Si vous exécutez Microsoft Windows Server 2003, vous pouvez recevoir le message d’erreur suivant :

Active Directory n’a pas pu répliquer le chemin DN de partition d’annuaire pour la partition à partir du nom d’ordinateur complet du contrôleur de domaine distant du contrôleur de domaine source. L’opération de réplication a échoué en raison d’une incompatibilité de schéma entre les serveurs impliqués.

Si vous exécutez Microsoft Windows 2000, le message d’erreur suivant peut s’afficher :

Le service d’annuaire n’a pas pu répliquer le nom de la partition à partir du nom du serveur distant du serveur distant. L’opération de réplication a échoué en raison d’une incompatibilité de schéma entre les serveurs impliqués.

Cause

Ce problème peut se produire si l’une des conditions suivantes est remplie :

  • Condition 1 : La copie du contrôleur de domaine source du service d’annuaire Active Directory contient des attributs à valeurs multiples en double.
  • Condition 2 : Un ou plusieurs attributs ou pages de la base de données du contrôleur de domaine source sont endommagés.
  • Condition 3 : Le contrôleur de domaine source a des attributs dans sa base de données qui ne sont pas couverts par le schéma actuel en raison de la suppression du schéma.

Résolution

Pour résoudre ce problème, utilisez l’une des deux méthodes suivantes. La méthode 1 traite les conditions 1 et 2. La méthode 2 traite condition 3.

Méthode 1 : Résolution des conditions 1 et 2

Le message d’erreur « incompatibilité de schéma » est trompeur. La cause racine de l’erreur n’a peut-être rien à voir avec la partition de schéma (CN) ou avec les objets qu’elle contient. Le problème réel peut être une violation de contrainte de base de données, telle qu’un attribut à valeurs multiples avec des valeurs dupliquées.

Pour résoudre ce problème, suivez les étapes de cette procédure en six parties.

Partie 1 : Activer la journalisation des diagnostics

Activez la journalisation des diagnostics sur le contrôleur de domaine source. Pour cela, procédez comme suit.

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

322756 Comment sauvegarder et restaurer le Registre dans Windows

  1. Cliquez sur Démarrer et sur Exécuter, tapez regedit, puis cliquez sur OK.

  2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics

  3. Dans la colonne Nom du volet droit, cliquez avec le bouton droit sur l’entrée de Registre 5 Événements de réplication , puis cliquez sur Modifier.

  4. Tapez 5, puis cliquez sur OK.

  5. Répétez les étapes 3 et 4 pour les entrées de Registre suivantes :

    • 7 Configuration interne
    • 8 Accès au répertoire
    • 9 Traitement interne
    • Schéma 24 DS
  6. Dans le volet gauche, cliquez à nouveau sur la sous-clé de Registre suivante :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics

  7. Dans le menu Fichier , cliquez sur Exporter.

  8. Dans la zone Enregistrer dans , ouvrez le dossier Bureau de l’administrateur sur l’ordinateur sur lequel vous recevez le message d’erreur « incompatibilité de schéma ». Dans la zone Nom de fichier , tapez Ntds_logging, puis cliquez sur OK.

    Remarque

    En règle générale, le dossier Bureau de l’administrateur est C :\Documents and Settings\Administrator\Desktop. Toutefois, la lettre de lecteur système peut varier. Pour rechercher le lecteur système utilisé par votre ordinateur, procédez comme suit :

    1. Connectez-vous à l’ordinateur sur lequel vous recevez le message d’erreur « Incompatibilité de schéma ».

    2. Cliquez sur Démarrer, sur Exécuter, tapez commande, puis cliquez sur OK.

    3. Tapez set, puis appuyez sur Entrée.

      La ligne de sortie qui commence par « SystemDrive= » affiche la lettre de lecteur que votre système utilise.

    4. Tapez exit, puis appuyez sur Entrée.

Partie 2 : Forcer la réplication entrante d’Active Directory

Forcez l’ordinateur de destination à effectuer la réplication entrante d’Active Directory à partir d’un contrôleur de domaine où la journalisation des diagnostics NTDS a été activée. S’il existe plusieurs contrôleurs de domaine source, assurez-vous que la réplication se produit à partir d’un contrôleur de domaine source où la journalisation des diagnostics a été activée. Pour ce faire, utilisez l’une des méthodes suivantes :

  • Augmentez HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics la journalisation sur tous les contrôleurs de domaine source possibles en suivant les étapes 1 à 5 de la section « Partie 1 : Activer la journalisation des diagnostics ».

  • Arrêtez le service Net Logon sur tous les contrôleurs de domaine source possibles, à l’exception du contrôleur de domaine source référencé dans l’erreur « incompatibilité de schéma » où la journalisation a été augmentée. Pour cela, procédez comme suit :

    1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services.
    2. Cliquez avec le bouton droit sur Net Logon, puis cliquez sur Arrêter.
    3. Créez un fichier de réponses de l’Assistant Installation Active Directory sans assistance.
  • Exécutez l’Assistant Installation d’Active Directory sur l’ordinateur de destination qui signale l’erreur « incompatibilité de schéma » avec la journalisation des diagnostics NTDS activée. L’heure exacte de la journalisation des diagnostics NTDS varie selon que l’ordinateur promu exécute Windows 2000 ou Windows Server 2003.

    L’Assistant Installation d’Active Directory affecte les clés de Registre Windows suivantes :

    • Les contrôleurs de domaine d’assistance qui exécutent Windows 2000 ou Windows Server 2003 conservent les paramètres de journal dans la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics sous-clé de Registre jusqu’à ce que l’Assistant Installation d’Active Directory rétrograde ces contrôleurs de domaine.
    • Les ordinateurs Windows 2000 promus remplacent la sous-clé de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics Registre au début de chaque tentative de promotion. Double-cliquez sur Ntds_logging.reg dès que la réplication entrante de la partition de schéma à partir du contrôleur de domaine d’assistance a commencé à préremplir la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics sous-clé de Registre pour chaque tentative de promotion du contrôleur de domaine Windows 2000.
    • Les ordinateurs Windows Server 2003 ne remplacent pas les valeurs préexistantes dans la sous-clé de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics Registre. Toutefois, les paramètres existants sont supprimés après chaque tentative de promotion ayant échoué.

Partie 3 : Préremplir le registre sur les contrôleurs de domaine de destination

Préremplir la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics sous-clé sur les contrôleurs de domaine de destination qui exécutent Windows 2000 ou Windows Server 2003. Pour cela, procédez comme suit :

  1. Sur le contrôleur de domaine source, suivez les étapes 1 à 5 de la section « Partie 1 : Activer la journalisation des diagnostics ».

  2. Cliquez avec le bouton droit sur la sous-clé de Registre suivante, puis cliquez sur Exporter :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics

  3. Dans la zone Enregistrer dans , ouvrez le dossier Bureau de l’administrateur sur l’ordinateur en cours de promotion. Dans la zone Nom de fichier , tapez Ntds_logging, puis cliquez sur OK.

    Remarque

    Pour localiser le dossier Desktop, consultez la note de la partie 1, étape 8.

  4. Sur le contrôleur de domaine de destination, double-cliquez sur le fichier Ntds_logging.reg que vous avez enregistré dans le dossier Bureau de l’administrateur au moment approprié, selon que l’ordinateur promu exécute Windows Server 2003 ou Windows 2000.

Partie 4 : Localiser les attributs à valeurs multiples en double

  1. Examinez les journaux des événements du service d’annuaire sur le contrôleur de domaine source et le contrôleur de domaine de destination pour trouver l’objet problématique.

  2. Sur le contrôleur de domaine source, passez en revue le journal des événements du service d’annuaire et notez les derniers objets et attributs sortants répliqués vers le contrôleur de domaine promu. L’objet problème est soit le dernier objet ou attribut référencé dans le journal des événements du service d’annuaire, soit l’objet dans la même partition avec le numéro de séquence de mise à jour (USN) le plus élevé suivant. Enregistrez le chemin du nom de domaine de l’objet référencé et le dernier attribut qui a été répliqué. Sur le contrôleur de domaine source, recherchez le dernier événement 1240. Sur le contrôleur de domaine de destination, recherchez l’événement 1203.

  3. Utilisez la ldifde commande pour exporter l’objet référencé. Pour ce faire :

    1. Cliquez sur Démarrer, sur Exécuter, tapez commande, puis cliquez sur OK.
    2. Tapez ce qui suit, puis appuyez sur Entrée : LDIFDE -f MISMATCH -d <domain name path of object referenced in event log of the source domain controller>
  4. Examinez la sortie ldifde dans le Bloc-notes ou un autre éditeur de texte. Portez une attention particulière aux attributs qui ont des valeurs dupliquées. Par exemple, l’exemple tronqué suivant contient des attributs avec des valeurs dupliquées :

    msExchMonitoringResponses :: <Start of Duplicate #1> W19fQ0xBU1M6c3RyKDE3KV1TTVRQRXZlbnRDb25zdW1lcltOb3RpZnlPbkVycm9yOnN0cigyKV0tMV tSZXNwb25kVG9XaGljaE9iamVjdHM6c3RyKDEpXTBbT2JqZWN0c1RvUmVzcG9uZFRvOnN0cigwKV1b U01UUFNlcnZlczlczdHIoNCldQUxFWFtUb0xpbmU6c3RyKDI1KV1yamtlbnZpbkBtZXRib2UuazEyLm 5qLnVzW01lc3NhZ2U6c3RyKDMxNyldJVRhcmdldEluc3RhbmNlLk5hbWUlIGhhcyByZXBvcnRlZCBh ICVUYXJnZXRJbnN0YW5jZS5TZXJ2ZXJTdGF0ZVN0cmluZyUuICBSZXBvcnRlZCBzdGF0dXMgaXM6DQ pRdWV1ZXMgLSAlVGFy
    Z2V0SW5zdGFuY2UuUXVldWVzU3RhdGVTdHJpbmclDQpEcml2ZXMgLSAlVGFy Z2V0SW5zdGFuY2UuRGlza3NTdGF0ZVN0cmluZyUNClNlcnZpY2VzIC0gJVRhcmdldEluc3RhbmNlLl NlcnZpY2VzU3RhdGVTdHJpbmclDQpNZW1vcnkgLSAlVGFyZ2V0SW5zdGFuY2UuTWVtb3J5U3RhdGVT dHJpbmclDQpDUFUgLSAlVGFyZ2V0SW5zdGFuY2UuQ1BVU3RhdGVTdHJpbmclDQpbU3ViamVjdDpzdH IoNTkpXSVUYXJnZXRJbnN0YW5jZS5TZXJ2ZXJTdGF0ZVN0cmluZyUgb24gJVRhcmdldEluc3RhbmNl Lk5hbWUl msExchMonitoringResponses :: <Start of Duplicate#2> W19fQ0xBU1M6c3RyKDE3KV1TTVRQRXZlbnRDb25zdW1lcltOb3RpZnlPbkVycm9yOnN0cigyKV0tMV tSZXNwb25kVG9XaGljaE9iamVjdHM6c3RyKDEpXTBbT2JqZWN0c1RvUmVzcG9uZFRvOnN0cigwKV1b U01UUFNlcnZlczlczdHIoNCldQUxFWFtUb0xpbmU6c3RyKDI1KV1yamtlbnZpbkBtZXRib2UuazEyLm 5qLnVzW01lc3NhZ2U6c3RyKDMxNyldJVRhcmdldEluc3RhbmNlLk5hbWUlIGhhcyByZXBvcnRlZCBh ICVUYXJnZXRJbnN0YW5jZS5TZXJ2ZXJTdGF0ZVN0cmluZyUuICBSZXBvcnRlZCBzdGF0dXMgaXM6DQ pRdWV1ZXMgLSAlVGFy Z2V0SW5zdGFuY2UuUXVldWVzU3RhdGVTdHJpbmclDQpEcml2ZXMgLSAlVGFy Z2V0SW5zdGFuY2UuRGlza3NTdGF0ZVN0cmluZyUNClNlcnZpY2VzIC0gJVRhcmdldEluc3RhbmNlLl NlcnZpY2VzU3RhdGVTdHJpbmclDQpNZW1vcnkgLSAlVGFyZ2V0SW5zdGFuY2UuTWVtb3J5U3RhdGVT dHJpbmclDQpDUFUgLSAlVGFyZ2V0SW5zdGFuY2UuQ1BVU3RhdGVTdHJpbmclDQpbU3ViamVjdDpzdH IoNTkpXSVUYXJnZXRJbnN0YW5jZS5TZXJ2ZXJTdGF0ZVN0cmluZyUgb24gJVRhcmdldEluc3RhbmNl Lk5hbWUl

  5. Si des valeurs en double apparaissent, utilisez Adsiedit.msc ou ldifde pour supprimer l’un des doublons. Après avoir supprimé les doublons, réessayez la promotion en réexécutant l’Assistant Installation d’Active Directory .

Partie 5 : Rechercher l’altération de la base de données

La cause racine peut être l’altération de la base de données sur le contrôleur de domaine source. Pour localiser l’altération de la base de données et la réparer, procédez comme suit :

  1. Examinez le journal des événements des services d’annuaire du contrôleur de domaine source pour le dernier événement 1240 enregistré. Cet événement peut être enregistré juste avant l’événement de traitement interne 1173. Notez le chemin DN de l’objet référencé dans le dernier événement 1240, puis exécutez l’outil Repadmin.exe sur la console du contrôleur de domaine source. Pour cela, procédez comme suit :

    1. Cliquez sur Démarrer, sur Exécuter, tapez commande, puis cliquez sur OK.
    2. Tapez la commande suivante, puis appuyez sur Entrée :
    REPADMIN /SHOWMETA CN=Secret,CN=Schema,CN=Configuration,DC=CORP,DC=COM  
    
  2. Affichez les métadonnées du dernier objet répliqué sortant qui a été répliqué à partir du contrôleur de domaine source. Si aucune valeur en double n’est trouvée, examinez le journal des événements des services d’annuaire du contrôleur de domaine source pour le dernier événement 1240 enregistré avant un événement 1173. Voici un exemple d’événement 1240.

  3. Exécutez la repadmin /showmeta commande sur le chemin du nom de domaine de l’objet référencé dans le dernier événement 1240 enregistré sur le contrôleur de domaine source. Par exemple, à l’aide de l’exemple d’événement à l’étape 2 pour un contrôleur de domaine dans le domaine CORP.COM, la syntaxe serait la suivante :

    REPADMIN /SHOWMETA CN=Secret,CN=Schema,CN=Configuration,DC=CORP,DC=COM
    

    Recherchez les valeurs incohérentes ou suspectes dans la sortie, en particulier dans les colonnes d’heure Local USN et Originating. Par exemple, dans l’exemple de sortie tronqué suivant, deux attributs, defaultObjectCategory et ObjectClass, ont ce qui semble être des numéros USN et 0 horodatage qui ne sont pas valides.

    Sortie tronquée de la repadmin /showmeta commande :

    CN=Secret,=Schema,CN=Configuration,DC=CORP,DC=COM object Loc. UsNOriginating Time : Attribute 21962002-01-29 05 :52.47 instanceType 18295873486194836 4446-09-07 21 :451.13defaultObjectCategory 182958734861948362002-01-29 05 :52.47 objectClass

  4. Si l’objet problématique référencé dans la sortie n’est pas un objet critique, effectuez une sauvegarde ldifde de l’objet, puis supprimez l’objet. Ne supprimez pas les objets problématiques qui résident dans la partition de schéma d’Active Directory.

  5. Exécutez une case activée d’intégrité des fichiers NTDSUTIL sur la base de données Active Directory. Pour ce faire :

    1. Windows 2000 utilise setpwd pour modifier les mots de passe DSRM. Windows Server 2003 utilise ntdsutil pour modifier les mots de passe DSRM.

      L’option suivante fonctionne dans Windows Server 2003 :

      322672 Comment réinitialiser le mot de passe du compte administrateur des services d’annuaire en mode de restauration dans Windows Server

    2. Démarrez le contrôleur de domaine source en mode DSREPAIR.

      Remarque

      Les clients qui tentent d’accéder aux informations racine DFS ou aux informations de lien DFS peuvent recevoir un message d’erreur « Accès refusé » lors d’une tentative de connexion alors que le contrôleur de domaine est en mode DSREPAIR. Ce comportement est inhérent au produit.

    3. Exécutez l’intégrité des fichiers NTDSUTIL case activée à partir de l’invite de commandes Windows.

    4. Recherchez les erreurs dans la sortie NTDSUTIL.

  6. Si l’intégrité NTDSUTIL case activée erreur de jet journalisée -1206, examinez les options suivantes. Ne réparez en aucun cas les bases de données Active Directory endommagées à l’aide de NTDSUTIL ou d’équivalents ESENTUTL.

    1. Si d’autres contrôleurs de domaine candidats existent pour sourcer le nouveau contrôleur de domaine dans la forêt, exécutez l’Assistant Installation d’Active Directory avec le contrôleur de domaine source en mode hors connexion.

    2. S’il existe d’autres contrôleurs de domaine dans le domaine et s’il n’existe aucun état système significatif propre au contrôleur de domaine d’assistance, essayez de rétrograder normalement le contrôleur de domaine source d’origine. Sinon, forcez-la rétrograder, puis supprimez ses métadonnées de la forêt. Exécutez l’Assistant Installation d’Active Directory pour rajouter le contrôleur de domaine d’origine à la forêt après la réplication de bout en bout de la suppression sur tous les contrôleurs de domaine de la forêt.

    3. Restaurez l’état système de ce contrôleur de domaine si toutes les conditions suivantes sont remplies :

      • Le contrôleur de domaine source d’origine est le seul contrôleur de domaine dans son domaine.
      • Il contient l’état du système critique (autrement dit, il contient le domaine racine de la forêt, ou il y a un investissement important dans les objets dans sa copie d’Active Directory).
      • Il existe une sauvegarde d’état système valide (autrement dit, la sauvegarde date de moins de tombstonelifetime et ne contient aucun objet endommagé).

      Remarque

      Une restauration de l’état système d’une partition qui contient une seule réplica est en fait une restauration faisant autorité de cette partition.

    4. Si le contrôleur de domaine source d’origine est le seul contrôleur de domaine de son domaine et s’il contient l’état critique du système, mais qu’il n’existe aucune sauvegarde valide de l’état du système, envisagez de procéder comme suit :

    • Ajoutez un contrôleur de domaine de sauvegarde (BDC) basé sur Microsoft Windows NT 4.0 au domaine. Cette option suppose un mode mixte ou un commutateur qui permet au BDC windows NT 4.0 de répliquer avec des contrôleurs de domaine Windows 2000 dans des domaines en mode natif.
    • Placez le bdc windows NT 4.0 sur un réseau privé.
    • Promouvoir le bdc windows NT 4.0 en contrôleur de domaine principal (PDC).
    • Mettez à niveau le contrôleur de domaine principal Windows NT 4.0 vers Windows 2000 ou Windows Server 2003.
    • Ajoutez réplica contrôleurs de domaine pour la tolérance de panne et l’équilibrage de charge.
    • Ajoutez les modifications de schéma requises pour les programmes Active Directory.

Partie 6 : Désactiver la journalisation des diagnostics

Une fois que vous avez terminé la résolution et la résolution du problème, désactivez la journalisation des diagnostics. Pour ce faire, accédez à « Partie 1 : Activer la journalisation des diagnostics » et suivez les étapes 1 à 5. Définissez les entrées de Registre suivantes sur 0 (zéro).

  • 5 Événements de réplication
  • 7 Configuration interne
  • 8 Accès au répertoire
  • 9 Traitement interne
  • Schéma 24 DS

Méthode 2 : Résolution de la condition 3

La troisième cause de l’erreur « incompatibilité de schéma » se produit lorsque le contrôleur de domaine d’assistance a des attributs dans sa base de données qui ne sont pas couverts par le schéma actuel. Ce problème peut se produire si un objet de schéma a été supprimé sur un contrôleur de domaine Windows 2000 avant l’installation du Service Pack 3 (SP3) pour Windows 2000.

Pour résoudre ce problème, procédez comme suit :

  1. Identifiez l’objet qui a les attributs qui ne se trouvent pas dans le schéma. Pour ce faire, tenez compte des éléments suivants :

    • Si vous exécutez Windows 2000, l’événement 1039 est enregistré sur le contrôleur de domaine source avec le DN de l’objet qui a été affecté.
    • Si vous exécutez un autre système d’exploitation, activez les événements de réplication au niveau cinq (5) sur la source. Pendant la réplication sortante, l’objet et l’attribut expédiés sont consignés. Lorsque l’erreur se produit, recherchez l’objet suivant qui serait expédié à l’ordinateur de destination.
  2. Après avoir identifié l’objet qui a les attributs supplémentaires, effectuez une ou plusieurs des opérations suivantes :

    • Supprimez l’objet . Les attributs incriminés seront supprimés et la pierre tombstone sera envoyée pour réplication.
    • Modifiez l’objet pour supprimer les attributs en question.
    • Rajoutez les entrées de schéma qui ont été supprimées.