Condividi tramite


Il messaggio di errore "Mancata corrispondenza dello schema" si verifica quando si tenta di eseguire l'Installazione guidata di Active Directory (Dcpromo.exe)

Questo articolo fornisce la risoluzione dell'errore "mancata corrispondenza dello schema", quando si tenta di eseguire l'Installazione guidata di Active Directory (Dcpromo.exe).

Si applica a: Server Windows 2012 R2
Numero KB originale: 838179

Sintomi

Quando si esegue l'Installazione guidata Active Directory (Dcpromo.exe) in un computer che esegue una delle edizioni di Microsoft Windows elencate nella sezione "Si applica a", è possibile che venga visualizzato un messaggio di errore "mancata corrispondenza dello schema".

Se si esegue Microsoft Windows Server 2003, è possibile che venga visualizzato il messaggio di errore seguente:

Active Directory non è riuscito a replicare il percorso DN della partizione directory per la partizione dal nome computer completo del controller di dominio di origine. L'operazione di replica non è riuscita a causa di una mancata corrispondenza dello schema tra i server coinvolti.

Se si esegue Microsoft Windows 2000, è possibile che venga visualizzato il messaggio di errore seguente:

Il servizio directory non è riuscito a replicare il nome della partizione dal nome del server remoto. L'operazione di replica non è riuscita a causa di una mancata corrispondenza dello schema tra i server coinvolti.

Causa

Questo problema può verificarsi se una delle condizioni seguenti è vera:

  • Condizione 1: la copia del controller di dominio di origine del servizio directory di Active Directory contiene attributi multivalore duplicati.
  • Condizione 2: uno o più attributi o pagine nel database del controller di dominio di origine sono danneggiati.
  • Condizione 3: il controller di dominio di origine ha attributi nel database che non sono coperti dallo schema corrente a causa dell'eliminazione dello schema.

Risoluzione

Per risolvere questo problema, usare uno dei due metodi seguenti. Il metodo 1 risolve la condizione 1 e la condizione 2. Il metodo 2 risolve la condizione 3.

Metodo 1: risoluzione per condizione 1 e condizione 2

Il messaggio di errore "mancata corrispondenza dello schema" è fuorviante. La causa radice dell'errore potrebbe non avere nulla a che fare con la partizione dello schema (CN) o con gli oggetti in esso contenuti. Il problema effettivo può essere una violazione del vincolo di database, ad esempio un attributo multivalore con valori duplicati.

Per risolvere il problema e risolverlo, seguire i passaggi descritti in questa procedura in sei parti.

Parte 1: Attivare la registrazione diagnostica

Attivare la registrazione diagnostica nel controller di dominio di origine. A tale scopo, eseguire la procedura seguente.

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Successivamente, è possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e il ripristino del registro, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:

322756 Come eseguire il backup e il ripristino del registro in Windows

  1. Fare clic su Avvio, fare clic su Esegui, digitareregedit, quindi fare clic suOK. Fare clic su Start, scegliere Esegui, digitare regedit e quindi fare clic su OK.

  2. Individuare e selezionare la seguente sottochiave del Registro di sistema:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics

  3. Nella colonna Nome nel riquadro destro fare clic con il pulsante destro del mouse sulla voce del Registro di sistema 5 eventi di replica e quindi scegliere Modifica.

  4. Digitare 5 e quindi fare clic su OK.

  5. Ripetere i passaggi 3 e 4 per le voci del Registro di sistema seguenti:

    • 7 Configurazione interna
    • 8 Accesso alla directory
    • 9 Elaborazione interna
    • Schema DS 24
  6. Nel riquadro sinistro fare di nuovo clic sulla seguente sottochiave del Registro di sistema:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics

  7. Scegliere Esporta dal menu File.

  8. Nella casella Salva in aprire la cartella Desktop dell'amministratore nel computer in cui viene visualizzato il messaggio di errore "Mancata corrispondenza dello schema". Nella casella Nome file digitare Ntds_logging e quindi fare clic su OK.

    Note

    In genere, la cartella Desktop dell'amministratore è C:\Documents and Settings\Administrator\Desktop. Tuttavia, la lettera di unità di sistema può variare. Per trovare l'unità di sistema usata dal computer, seguire questa procedura:

    1. Accedere al computer in cui viene visualizzato il messaggio di errore "mancata corrispondenza dello schema".

    2. Fare clic su Start, fare clic su Esegui, digitare il comando e quindi fare clic su OK.

    3. Digitare set e quindi premere INVIO.

      La riga di output che inizia con "SystemDrive=" mostra la lettera di unità usata dal sistema.

    4. Digitare exit e premere INVIO.

Parte 2: Forzare la replica in ingresso di Active Directory

Forzare il computer di destinazione a eseguire la replica in ingresso di Active Directory da un controller di dominio in cui è stata abilitata la registrazione diagnostica NTDS. Se sono presenti più controller di dominio di origine, assicurarsi che la replica venga eseguita da un controller di dominio di origine in cui è stata abilitata la registrazione diagnostica. Per farlo, usare uno dei metodi seguenti:

  • Aumentare la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics registrazione su tutti i possibili controller di dominio di origine usando i passaggi da 1 a 5 nella sezione "Parte 1: Attivare la registrazione diagnostica".

  • Arrestare il servizio Accesso rete in tutti i controller di dominio di origine possibili, ad eccezione del controller di dominio di origine a cui viene fatto riferimento nell'errore "mancata corrispondenza dello schema" in cui è stata aumentata la registrazione. A tale scopo, effettuare i passaggi seguenti:

    1. Fare clic su Start, scegliere Programmi, Strumenti di amministrazionee quindi fare clic su Servizi.
    2. Fare clic con il pulsante destro del mouse su Accesso rete, quindi scegliere Arresta.
    3. Creare un file di risposte automatico dell'installazione guidata di Active Directory.
  • Eseguire l'Installazione guidata di Active Directory nel computer di destinazione che segnala l'errore "mancata corrispondenza dello schema" con la registrazione diagnostica NTDS abilitata. L'ora esatta in cui viene eseguita la registrazione diagnostica NTDS dipende dal fatto che il computer promosso esegua Windows 2000 o Windows Server 2003.

    L'Installazione guidata di Active Directory influisce sulle seguenti chiavi del Registro di sistema di Windows:

    • I controller di dominio helper che eseguono Windows 2000 o Windows Server 2003 mantengono le impostazioni di log nella sottochiave del HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics Registro di sistema fino a quando l'Installazione guidata di Active Directory abbassa di livello questi controller di dominio.
    • I computer basati su Windows 2000 alzati di livello sovrascrivono la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics sottochiave del Registro di sistema all'inizio di ogni tentativo di promozione. Fare doppio clic Ntds_logging.reg non appena la replica in ingresso della partizione dello schema dal controller di dominio helper ha iniziato a precompilare la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics sottochiave del Registro di sistema per ogni tentativo di alzare di livello il controller di dominio basato su Windows 2000.
    • I computer basati su Windows Server 2003 non sovrascrivono i valori preesistenti nella sottochiave del HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics Registro di sistema. Tuttavia, le impostazioni esistenti vengono eliminate dopo ogni tentativo di promozione non riuscito.

Parte 3: Precompilare il Registro di sistema nei controller di dominio di destinazione

Precompilare la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics sottochiave nei controller di dominio di destinazione che eseguono Windows 2000 o Windows Server 2003. A tale scopo, effettuare i passaggi seguenti:

  1. Nel controller di dominio di origine seguire i passaggi da 1 a 5 nella sezione "Parte 1: Attivare la registrazione diagnostica".

  2. Fare clic con il pulsante destro del mouse sulla seguente sottochiave del Registro di sistema e quindi scegliere Esporta:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntds\Diagnostics

  3. Nella casella Salva in aprire la cartella Desktop dell'amministratore nel computer che viene alzato di livello. Nella casella Nome file digitare Ntds_logging e quindi fare clic su OK.

    Note

    Per individuare la cartella Desktop, vedere la nota nella parte 1, passaggio 8.

  4. Nel controller di dominio di destinazione fare doppio clic sul file Ntds_logging.reg salvato nella cartella Desktop dell'amministratore al momento appropriato, a seconda che il computer promosso esegua Windows Server 2003 o Windows 2000.

Parte 4: Individuare eventuali attributi multivalore duplicati

  1. Esaminare i registri eventi del servizio directory sia nel controller di dominio di origine che nel controller di dominio di destinazione per trovare l'oggetto problema.

  2. Nel controller di dominio di origine esaminare il registro eventi del servizio directory e prendere nota dell'ultimo oggetto e attributo replicati in uscita nel controller di dominio promosso. L'oggetto problema è l'ultimo oggetto o attributo a cui viene fatto riferimento nel registro eventi del servizio directory o l'oggetto nella stessa partizione con il numero di sequenza di aggiornamento più alto successivo (USN). Registrare il percorso del nome di dominio dell'oggetto a cui viene fatto riferimento e l'ultimo attributo replicato. Nel controller di dominio di origine cercare l'ultimo evento 1240. Nel controller di dominio di destinazione cercare l'evento 1203.

  3. Usare il ldifde comando per esportare l'oggetto a cui si fa riferimento. A questo scopo, è necessario:

    1. Fare clic su Start, fare clic su Esegui, digitare il comando e quindi fare clic su OK.
    2. Digitare quanto segue e quindi premere INVIO: LDIFDE -f MISMATCH -d <domain name path of object referenced in event log of the source domain controller>
  4. Esaminare l'output ldifde nel Blocco note o in un altro editor di testo. Prestare particolare attenzione agli attributi con valori duplicati. Ad esempio, l'esempio troncato seguente contiene attributi con valori duplicati:

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

  5. Se vengono visualizzati valori duplicati, usare Adsiedit.msc o ldifde per rimuovere uno dei duplicati. Dopo aver rimosso i duplicati, ripetere l'innalzamento di livello eseguendo di nuovo l'Installazione guidata di Active Directory.

Parte 5: Cercare il danneggiamento del database

La causa radice può essere il danneggiamento del database nel controller di dominio di origine. Per individuare il danneggiamento del database e ripristinarlo, seguire questa procedura:

  1. Esaminare il registro eventi dei servizi directory del controller di dominio di origine per l'ultimo evento 1240 registrato. Questo evento può essere registrato poco prima dell'evento di elaborazione interna 1173. Si noti il percorso DN dell'oggetto a cui si fa riferimento nell'ultimo evento 1240 e quindi eseguire lo strumento Repadmin.exe nella console del controller di dominio di origine. A tale scopo, effettuare i passaggi seguenti:

    1. Fare clic su Start, fare clic su Esegui, digitare il comando e quindi fare clic su OK.
    2. Digitare il comando seguente e quindi premere INVIO:
    REPADMIN /SHOWMETA CN=Secret,CN=Schema,CN=Configuration,DC=CORP,DC=COM  
    
  2. Visualizzare i metadati dell'ultimo oggetto replicato in uscita replicato dal controller di dominio di origine. Se non vengono trovati valori duplicati, esaminare il registro eventi dei servizi directory del controller di dominio di origine per l'ultimo evento 1240 registrato prima di un evento 1173. Di seguito è riportato un evento di esempio 1240.

  3. Eseguire il repadmin /showmeta comando sul percorso del nome di dominio dell'oggetto a cui si fa riferimento nell'ultimo evento 1240 connesso al controller di dominio di origine. Ad esempio, usando l'evento di esempio nel passaggio 2 per un controller di dominio nel dominio CORP.COM, la sintassi sarà la seguente:

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

    Cercare valori incoerenti o sospetti nell'output, in particolare nelle colonne USN locale e Ora di origine. Nell'esempio di output troncato seguente, ad esempio, due attributi, defaultObjectCategory e ObjectClass, hanno ciò che sembra essere numeri USN e 0 indicatori di data e ora non validi.

    Output troncato dal repadmin /showmeta comando:

    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:07 51.13defaultObjectCategory 182958734861948362002-01-29 05:52.47 objectClass

  4. Se l'oggetto problema a cui viene fatto riferimento nell'output non è un oggetto critico, eseguire un backup ldifde dell'oggetto e quindi eliminare l'oggetto. Non eliminare gli oggetti problema che risiedono nella partizione dello schema di Active Directory.

  5. Eseguire un controllo di integrità dei file NTDSUTIL sul database di Active Directory. A questo scopo, è necessario:

    1. Windows 2000 usa setpwd per modificare le password DSRM. Windows Server 2003 usa ntdsutil per modificare le password DSRM.

      L'opzione seguente funziona in Windows Server 2003:

      322672 Come reimpostare la password dell'account amministratore modalità ripristino servizi directory in Windows Server

    2. Avviare il controller di dominio di origine in modalità DSREPAIR.

      Note

      I client che tentano di accedere alle informazioni radice DFS o le informazioni sul collegamento DFS possono ricevere un messaggio di errore "accesso negato" durante un tentativo di connessione mentre il controller di dominio è in modalità DSREPAIR. Questo comportamento è impostato a livello di progettazione.

    3. Eseguire il controllo di integrità dei file NTDSUTIL dal prompt dei comandi di Windows.

    4. Cercare gli errori nell'output NTDSUTIL.

  6. Se il controllo dell'integrità NTDSUTIL ha registrato l'errore jet -1206, esaminare le opzioni seguenti. Non ripristinare in alcun caso i database di Active Directory danneggiati tramite NTDSUTIL o usando equivalenti ESENTUTL.

    1. Se esistono altri controller di dominio candidati per l'origine del nuovo controller di dominio nella foresta, eseguire l'Installazione guidata di Active Directory con il controller di dominio di origine del problema offline.

    2. Se esistono altri controller di dominio nel dominio e se non esiste uno stato di sistema significativo univoco per il controller di dominio helper, provare a abbassare normalmente il controller di dominio di origine originale. In caso contrario, forzare la abbassamento di livello e quindi rimuovere i metadati dalla foresta. Eseguire l'Installazione guidata di Active Directory per aggiungere nuovamente il controller di dominio originale alla foresta dopo la replica end-to-end della rimozione in tutti i controller di dominio nella foresta.

    3. Ripristinare lo stato del sistema per il controller di dominio se sono soddisfatte tutte le condizioni seguenti:

      • Il controller di dominio di origine originale è l'unico controller di dominio nel relativo dominio.
      • Contiene lo stato critico del sistema, ovvero contiene il dominio radice della foresta o un investimento significativo negli oggetti nella copia di Active Directory.
      • Esiste un backup dello stato del sistema valido, ovvero il backup è minore di tombstonelifetime di giorni precedenti e non contiene oggetti danneggiati.

      Note

      Un ripristino dello stato del sistema di una partizione che contiene una singola replica è in effetti un ripristino autorevole di tale partizione.

    4. Se il controller di dominio di origine originale è l'unico controller di dominio nel dominio e se contiene lo stato critico del sistema, ma non esistono backup dello stato del sistema validi, è consigliabile eseguire le operazioni seguenti:

    • Aggiungere un controller di dominio di backup basato su Microsoft Windows NT 4.0 al dominio. Questa opzione presuppone una modalità mista o un commutatore che consente al cluster BDC basato su Windows NT 4.0 di replicare con controller di dominio basati su Windows 2000 in domini in modalità nativa.
    • Inserire il cluster BDC basato su Windows NT 4.0 in una rete privata.
    • Alzare di livello il cluster BDC basato su Windows NT 4.0 a un controller di dominio primario (PDC).
    • Aggiornare il PDC basato su Windows NT 4.0 a Windows 2000 o a Windows Server 2003.
    • Aggiungere controller di dominio di replica per la tolleranza di errore e il bilanciamento del carico.
    • Aggiungere le modifiche dello schema necessarie per i programmi di Active Directory.

Parte 6: Disattivare la registrazione diagnostica

Al termine della risoluzione dei problemi e della risoluzione del problema, disattivare la registrazione diagnostica. A tale scopo, passare a "Parte 1: Attivare la registrazione diagnostica" e seguire i passaggi da 1 a 5. Impostare le voci del Registro di sistema seguenti su 0 (zero).

  • 5 Eventi di replica
  • 7 Configurazione interna
  • 8 Accesso alla directory
  • 9 Elaborazione interna
  • Schema DS 24

Metodo 2: Risoluzione per la condizione 3

La terza causa dell'errore "mancata corrispondenza dello schema" si verifica quando il controller di dominio helper ha attributi nel database che non sono coperti dallo schema corrente. Questo problema può verificarsi se un oggetto schema è stato eliminato in un controller di dominio Windows 2000 prima dell'installazione di Service Pack 3 (SP3) per Windows 2000.

Per risolvere il problema, seguire questa procedura:

  1. Identificare l'oggetto con gli attributi non inclusi nello schema. A tale scopo, considerare quanto segue:

    • Se si esegue Windows 2000, l'evento 1039 viene registrato nel controller di dominio di origine con il DN dell'oggetto interessato.
    • Se si esegue qualsiasi altro sistema operativo, abilitare gli eventi di replica al livello cinque (5) nell'origine. Durante la replica in uscita, l'oggetto e l'attributo che vengono spediti verranno registrati. Quando si verifica l'errore, cercare l'oggetto successivo che verrebbe spedito al computer di destinazione.
  2. Dopo aver identificato l'oggetto con gli attributi aggiuntivi, eseguire una o più delle operazioni seguenti:

    • Eliminare l'oggetto . Gli attributi che causano l'offesa verranno rimossi e la rimozione definitiva verrà spedita per la replica.
    • Modificare l'oggetto per rimuovere gli attributi in questione.
    • Aggiungere nuovamente le voci dello schema rimosse.