Risolvere i problemi di un messaggio di errore interno durante la fase di replica di dcpromo

Questo articolo descrive come risolvere un errore interno visualizzato durante la fase di replica dell'Installazione guidata Active Directory (Dcpromo).

Si applica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numero KB originale: 265090

Nota

Utenti privati: Questo articolo è destinato solo all'uso da parte di agenti di supporto tecnico e professionisti IT. Se si sta cercando assistenza per un problema, rivolgersi alla community Microsoft.

Riepilogo

Durante l'innalzamento di livello, gli oggetti del servizio directory vengono replicati nell'ordine del numero di sequenza di aggiornamento (USN) (da basso a alto) per lo schema, la configurazione e il dominio. Gli errori interni possono verificarsi quando non esiste un contenitore padre per gli oggetti figlio replicati nel servizio directory locale.

Questo problema può verificarsi in uno degli scenari seguenti:

  • Esiste un oggetto attivo il cui elemento padre è stato eliminato in passato e l'elemento padre è scaduto ed è stato convertito in un fantasma. Pertanto, l'oggetto figlio non può più essere replicato. La chiamata a FillGuidAndSid per l'oggetto padre in ReplPrepareDataToShip non ha esito positivo e viene segnalato un errore (8352 = ERROR_DS_NOT_AN_OBJECT). Questo errore causa la chiusura della replica in uscita dell'oggetto figlio e viene visualizzato un messaggio di errore interno della replica.

    Se è presente un oggetto live (o eliminato) con un elemento padre fantasma, Active Directory accetta temporaneamente l'oggetto live a causa di requisiti di replica non ordinati. Le procedure di pulizia del disco, ad esempio Garbage Collection, non dovrebbero essere in grado di convertire un oggetto eliminato in un fantasma se l'elemento padre ha oggetti figlio. Il file Ntdsa.dll a partire da Windows 2000 Service Pack 2 (SP2) impedisce questa situazione nel servizio directory. Tuttavia, questo file non risolve il problema dopo che si è già verificato.

  • Usare il comando di ripristino autorevole quando si usa Windows Server 2003 o una versione successiva dello strumento Ntdsutil. Ntdsutil.exe aumenta l'USN dei contenitori e degli oggetti figlio specificati in Active Directory. Le versioni beta di Ntdsutil.exe potrebbero aumentare erroneamente l'USN per il contenitore Lost and Found. Quando gli oggetti destinati al contenitore Lost e Found vengono replicati prima della creazione del contenitore nel servizio directory locale, viene segnalato l'evento seguente:

    Evento 1084: Replica non riuscita con un errore interno

    Per evitare questo scenario, il contenitore Lost and Found è in genere uno dei primi contenitori replicati.

Gli errori interni possono verificarsi anche nei controller di dominio Active Directory esistenti durante la replica di Active Directory normale o avviata dall'amministratore.

Procedura per risolvere questo messaggio di errore

  1. Usare Monitoraggio di rete, i log eventi o Dcpromo.log per individuare il server di origine usato durante la replica di Active Directory (quando si usa l'Installazione guidata Active Directory).

  2. Se questo errore si verifica quando si usa l'Installazione guidata Active Directory e esiste più di un potenziale partner di replica, usare il file di risposte dell'Installazione guidata Active Directory per trovare il server di origine. I controller di dominio di origine possibili includono controller di dominio nel dominio padre per i nuovi domini figlio o controller di dominio nello stesso dominio per i controller di dominio replicati. In alternativa, se un server di origine specifico è sospetto, arrestare il servizio Accesso rete nel computer sospetto e cercare da un controller di dominio diverso.

  3. Nel server di origine individuare e fare clic sulla sottochiava del Registro di sistema seguente:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Diagnostics

    Modificare i valori seguenti:

    • 9 Elaborazione interna: impostare il livello di diagnostica su 1.
    • 7 Configurazione interna: impostare il livello di diagnostica su 3.
    • 5 Eventi di replica: impostare il livello di diagnostica su 3.
  4. Usare Editor del Registro di sistema per esportare la \NTDS chiave dal server di origine al computer di cui viene eseguita la promozione , ad esempio Ntds.reg. Copiare il file nel computer in cui si verifica l'errore interno quando si verifica la replica. Se si verifica l'errore interno durante l'esecuzione dell'Installazione guidata Active Directory, copiare il file .reg sul desktop nel controller di dominio del problema in modo che il file possa essere avviato facilmente.

    In alternativa, premere Tasto Windows+R e quindi trascinare il file .reg dalla finestra di Esplora fasi incentrata su tale file. Selezionare OK per aggiungere il contenuto del file .reg al Registro di sistema.

  5. Quando il computer promosso avvia la replica del contesto di denominazione dello schema, eseguire il file Ntds.reg per compilare la chiave e le impostazioni del \NTDS\Diagnostics Registro di sistema.

    Avviso

    La NTDS\Diagnostics chiave del Registro di sistema non esiste in questa fase di promozione e deve essere creata manualmente nel controller di dominio di destinazione. Se la chiave del NTDS\Diagnostics Registro di sistema viene caricata troppo presto quando l'Installazione guidata Active Directory è in esecuzione, la chiave viene sovrascritta con valori predefiniti e non viene registrato alcun evento. Per i controller di dominio esistenti, le impostazioni del Registro di sistema possono essere abilitate in qualsiasi momento.

  6. Esaminare i log degli eventi del servizio directory nei server di origine e di destinazione. Gli eventi interni vengono visualizzati nel server di origine come ID evento 1173. Esaminare gli eventi di replica NTDS che si verificano prima dell'errore interno per individuare l'identificazione universale globale (GUID) dell'oggetto da replicare. È possibile che si verifichino tentativi back-to-back per replicare lo stesso oggetto. Registrare il GUID per l'oggetto o il contenitore problematico.

  7. Avviare Ldp.exe, avviare una connessione e eseguire l'associazione al server di origine. Dal menu Sfoglia selezionare Elimina. Per il percorso del nome distinto, digitare <GUID=GUID#>, ad esempio <GUID=b2d605a4-b9e6-4505-ba59-895e91a9a7b5>. Impostare l'ambito di ricerca su Base e quindi eliminare il GUID specificato.

  8. Usando Ldp.exe, impostare il valore per l'attributo TombstoneLifetime su 2 (il valore espresso in giorni prima della rimozione degli oggetti con rimozione definitiva). TombstoneLifetime si trova nel percorso del nome distinto seguente:

    CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,,DC= root domain ,DC=COM

    Verificare che l'attributo TombstoneLifetime sia presente e che il relativo valore sia 2. Se il valore è minore di 2, il valore non è valido e il server usa il valore predefinito di 60 giorni. È anche possibile usare ADSIEDIT per modificare questo attributo.

    Nota

    Dopo aver aspettato due giorni per rimuovere gli oggetti con rimozione definitiva, potrebbe essere necessario attendere altri 60 minuti o più prima di riavviare il controller di dominio e continuare il processo di Garbage Collection.

  9. Avviare la Garbage Collection nel controller di dominio di origine. Individuare e fare clic sulla chiave del Registro di sistema seguente:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Diagnostics key

    Modificare i valori seguenti:

    • 6 Garbage Collection: impostare il livello di diagnostica su 3.
    • 9 Elaborazione interna: impostare il livello di diagnostica su 1.

    Per forzare una Garbage Collection, riavviare il controller di dominio. La Garbage Collection deve essere eseguita 15 minuti dopo il riavvio del controller di dominio. I livelli di diagnostica registrano ora gli eventi di Garbage Collection nel registro eventi del servizio directory.

  10. Per verificare che l'oggetto sia stato eliminato, eseguire il comando seguente:

    repadmin /showmeta "<"GUID for deleted object">"
    

    Se viene visualizzato un messaggio: nessun oggetto di questo tipo, l'oggetto è già stato eliminato correttamente ed è ora possibile eseguire correttamente l'installazione guidata di Active Directory. Se l'oggetto non è ancora stato sottoposto al processo di Garbage Collection, devono essere presenti metadati per l'attributo isDeleted. Il timestamp associato all'attributo isDeleted corrisponde all'ora di eliminazione. Verificare che l'ora di eliminazione sia impostata per almeno due giorni fa, ad esempio:

    repadmin /showmeta "<GUID=b2d605a4-b9e6-4505-ba59-895e91a9a7b>"
    
  11. Quando questo problema viene risolto, reimpostare i livelli di registrazione diagnostica su 0 e impostare di nuovo la durata di rimozione definitiva su quella precedente oppure rimuovere completamente il valore per richiedere al computer di usare i valori predefiniti. L'impostazione TombstoneLifetime è fondamentale per definire la durata utile dello stato del sistema e dei backup di Active Directory. Quando TombstoneLifetime è impostato su 2, i nastri di backup precedenti a due giorni non sono utilizzabili. Qualsiasi controller di dominio inattivo da due o più giorni deve essere ripristinato dal backup o reinstallato.

Il testo seguente è un esempio degli eventi segnalati nel registro eventi del servizio directory nel server di origine e di destinazione:

Tipo di evento: Origine evento informazioni: categoria di eventi di replica NTDS: ID evento replica: 1240 data: MM/DD/AA Ora: HH:MM:SS AM|Utente PM: S-1-5-21-1151542997-2719369742-1698538726-500 Computer: computer_source Descrizione: Proprietà 0 (objectClass) of object CN="NTDS Settings DEL:51c6913c-9221-4ac4-8513-9155dd7e15ad",CN="ZA9902000 DEL:37eabd48-bc98-483f-b2fd-9c8869e9c3ce",CN=Servers,CN=Bull,CN=Sites,CN=Configuration,DC=mma,DC=fr (GUID 51c6913c-9221-4ac4-8513-9155dd7e15ad) viene inviato a DSA 6abec3d1-3054-41c8-a362-5a0c5b7d5d71.

Tipo di evento: Origine evento avviso: Categoria di eventi generale NTDS: ID evento di elaborazione interna: 1173 Data: MM/DD/AA Ora: HH:MM:SS AM|Utente PM: S-1-5-21-1151542997-2719369742-1698538726-500 Computer: computer_source Descrizione: Evento interno: Eccezione e0010002 si è verificata con i parametri 8442 e 20a0 (ID interno 11003a1).

Il testo seguente viene riportato nel log dell'Installazione guidata Active Directory nel computer che viene promosso. In questo file di Dcpromo.log di esempio, il computer che viene promosso, \\computer_promoted, rileva l'"errore interno" nell'Installazione guidata Active Directory durante l'origine da \\computer_source. Si noti l'errore 8442 che si verifica durante la replica di uno dei tre contesti di denominazione ("Il sistema di replica ha rilevato un errore interno"). Questo esempio mostra che l'errore si verifica nel contesto di denominazione della configurazione:

MM/DD HH:MM:SS [INFO] Replica di CN=Configuration,DC=win2ktest,DC=A,DC=com: ha ricevuto 917 oggetti su 1783.
MM/DD HH:MM:SS [INFO] Replica di CN=Configuration,DC=win2ktest,DC=A,DC=com: ha ricevuto 1049 oggetti su 1783.
MM/DD HH:MM:SS [INFO] Replica di CN=Configuration,DC=win2ktest,DC=A,DC=com: ha ricevuto 1181 oggetti su 1783.
MM/DD HH:MM:SS [INFO] Replica CN=Configuration,DC=win2ktest,DC=A,DC=com: ha ricevuto 1200 oggetti su 1783.
MM/DD HH:MM:SS [INFO] Errore : il servizio directory non è riuscito a replicare la partizione CN=Configuration,DC=test,DC=A,DC=com dal server remoto computer_source.test.a.com. (8442)
MM/DD HH:MM:SS [INFO] NtdsInstall for test.a.com returned 8442
MM/DD HH:MM:SS [INFO] DsRolepInstallDs ha restituito 8442
MM/DD HH:MM:SS [ERRORE] Impossibile installare nel servizio directory (8442)
MM/DD HH:MM:SS [INFO] Avvio del servizio NETLOGON
MM/DD HH:MM:SS [INFO] Configurazione del servizio NETLOGON su 2 restituito 0
MM/DD HH:MM:SS [INFO] Ricerca dell'account computer forcomputer_promotedon \computer_source.test.a.com...
MM/DD HH:MM:SS [INFO] Configurazione dell'account server
MM/DD HH:MM:SS [INFO] NtdsSetReplicaMachineAccount ha restituito 0
MM/DD HH:MM:SS [INFO] Tentativo di spostamento accountcomputer_sourceto CN=GAXGPTS01,CN=Computers,DC=test,DC=A,DC=com