Errore di replica di Active Directory 8451: "L'operazione di replica ha rilevato un errore di database"

Questo articolo fornisce una risoluzione per l'errore di replica di Active Directory 8451: "L'operazione di replica ha rilevato un errore del database".

Si applica a: Tutte le versioni supportate di Windows Server
Numero KB originale: 2645996

Nota

Utenti privati: questo articolo è destinato solo agli agenti di supporto tecnico e ai professionisti IT. Se si sta cercando assistenza per risolvere un problema, rivolgersi alla community Microsoft.

Sintomi

Questo articolo descrive i sintomi e le cause delle situazioni in cui le operazioni di Active Directory Domain Services (AD DS) hanno esito negativo e generano l'errore 8451: "L'operazione di replica ha rilevato un errore di database". Questo articolo fornisce anche una soluzione per questo problema.
È possibile che si verifichi uno dei sintomi seguenti:

  • Vengono visualizzati uno o più messaggi di errore sullo schermo, eventi registrati o output di diagnostica che identifica un errore del database. I formati possibili per l'errore sono i seguenti.

    Codice decimale Codice esadecimale Codice di testo Messaggio di errore
    8451 0x2103 ERROR_DS_DRA_DB_ERROR L'operazione di replica ha rilevato un errore del database.
    -1018 0xfffffc06 Jet_errreadverifyfailure Errore checksum in una pagina del database.
    -1047 0xfffffbe9 JET_errInvalidBufferSize Il buffer di dati non corrisponde alle dimensioni della colonna.
    -1075 0xfffffbc JET_errOutOfLongValueID Il contatore ID a valore lungo ha raggiunto il valore massimo (eseguire una deframmentazione offline per recuperare longvalueID gratuiti e inutilizzati).
    -1206 0xfffffb4a JET_errDatabaseCorrupted File non di database o database danneggiato.
    -1414 0xfffffa7a JET_errSecondaryIndexCorrupted L'indice secondario è danneggiato. Il database deve essere deframmentato.
    -1526 0xfffffa0a JET_errLVCorrupted Danneggiamento riscontrato nell'albero a valore lungo.
    -1601 0xfffff9bf JET_errRecordNotFound La chiave non è stata trovata.
    -1603 0xfffff9b JET_errNoCurrentRecord Valuta non presente in un record.
  • Dcpromo.exe ha esito negativo e genera l'errore 8451.
    L'interfaccia utente visualizza il messaggio seguente:

    L'operazione non è riuscita perché:

    Active Directory Domain Services non è stato possibile replicare la partizione < di directoryPercorso DN della partizione> non riuscita dal controller di dominio del controller di dominio del controller di Dominio di Active Directory <>remoto.<nome> di dominio dns.<dominio> di primo livello.

    L'operazione di replica ha rilevato un errore del database.

    Il file Dcpromo.log contiene le informazioni seguenti:

    <data e ora><> [INFO] NstdInstall per contoso.com restituito 8451
    <data e ora><> [INFO] DsRolepInstallDs ha restituito 8451
    <data><e ora> [ERRORE] Impossibile eseguire l'installazione nel servizio directory (8451)
    <data><e ora> [INFO] Avvio del servizio NETLOGON

  • Repadmin.exe segnala che il tentativo di replica non è riuscito con stato 8451. Repadmin.exe comandi che in genere citano lo stato 8451 includono, ma non sono limitati a:

    • Repadmin /kcc

    • Repadmin /rehost

    • Repadmin /replicate

    • Repadmin /replsum

    • Repadmin /showrepl

    • Repadmin /showreps

    • Repadmin /showutdvec

    • Repadmin /syncall

      Per informazioni dettagliate su come usare Repadmin per risolvere i problemi di replica, vedere Monitoraggio e risoluzione dei problemi di replica di Active Directory tramite Repadmin.

      L'esempio seguente mostra l'output del comando che indica che la repadmin /showreps replica in ingresso da CONTOSO-DC2 a CONTOSO-DC1 non è riuscita e ha generato il messaggio "Accesso alla replica negato".

      Default-First-Site-Name\CONTOSO-DC1
      Opzioni DSA: IS_GC
      Opzioni sito: (nessuna)
      GUID oggetto DSA: b6dc8589-7e00-4a5d-b688-045aef63ec01
      DSA invocationID: b6dc8589-7e00-4a5d-b688-045aef63ec01
      == ====================================== VICINI IN INGRESSO
      DC=contoso,DC=com
      Default-First-Site-Name\CONTOSO-DC2 tramite RPC
      GUID oggetto DSA: 74fbe06c-932c-46b5-831b-af9e31f496b2
      Ultimo tentativo @ <data></ora> non riuscito, risultato 8451 (0x2103):
      L'operazione di replica ha rilevato un errore del database.
      errori consecutivi.
      Ultima operazione riuscita @ <data></ora>.

  • Visualizzatore eventi elenca uno o più eventi che citano l'errore 8451. La tabella seguente elenca le origini eventi e gli ID evento degli eventi comuni che citano l'errore 8451 (nell'origine evento + ordine id evento).

    Origine evento ID evento Messaggio di evento
    Microsoft-Windows-ActiveDirectory_DomainService 1039 con errore esteso 8451 Evento interno: Active Directory Domain Services non è stato possibile elaborare l'oggetto seguente.
    Microsoft-Windows-ActiveDirectory_DomainService 1084 con errore esteso 8451 Evento interno: Impossibile aggiornare l'oggetto seguente con le modifiche ricevute dal controller di dominio di origine seguente. Si è verificato un errore durante l'applicazione delle modifiche apportate ad Active Directory nel controller di dominio.
    Microsoft-Windows-ActiveDirectory_DomainService 1308 con errore esteso 8451 Knowledge Consistency Checker (KCC) ha rilevato che il tentativo successivo di replica con il servizio directory seguente non è riuscito.
    Microsoft-Windows-ActiveDirectory_DomainService 1699 con errore esteso 8451 Il controller di dominio locale non è riuscito a recuperare le modifiche richieste per la partizione di directory seguente. Di conseguenza, non è stato possibile inviare le richieste di modifica al controller di dominio all'indirizzo di rete seguente.
    Replica NTDS 2108 con errore esteso 8451 con valore di errore secondario-1075 Questo evento contiene REPAIR PROCEDURES per l'evento 1084 registrato in precedenza. Questo messaggio indica un problema specifico relativo alla coerenza del database di Active Directory in questa destinazione di replica. Si è verificato un errore del database durante l'applicazione delle modifiche replicate all'oggetto seguente. Il database presentava contenuti imprevisti, impedendo l'esecuzione della modifica. Oggetto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Guid oggetto: 2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Controller di dominio di origine: 173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs. Contoso.com Azione utente Se nessuna di queste azioni ha esito positivo e l'errore di replica continua, è consigliabile abbassare di livello questo controller di dominio e alzarlo di nuovo di livello. Valore di errore primario dei dati aggiuntivo: 8451 L'operazione di replica ha rilevato un errore del database. Valore errore secondario: -1075
    Replica NTDS 2108 con errore esteso 8451 con valore di errore secondario-1526 Questo evento contiene REPAIR PROCEDURES per l'evento 1084 registrato in precedenza. Questo messaggio indica un problema specifico relativo alla coerenza del database di Active Directory in questa destinazione di replica. Si è verificato un errore del database durante l'applicazione delle modifiche replicate all'oggetto seguente. Il database presentava contenuti imprevisti, impedendo l'esecuzione della modifica. Oggetto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Guid oggetto: 2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Controller di dominio di origine: 173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs. Contoso.com Azione utente Se nessuna di queste azioni ha esito positivo e l'errore di replica continua, è consigliabile abbassare di livello questo controller di dominio e alzarlo di nuovo di livello. Valore di errore primario dei dati aggiuntivo: 8451 L'operazione di replica ha rilevato un errore del database. Valore errore secondario: -1526
    Replica NTDS 2108 con errore esteso 8451 con valore di errore secondario -1414 Questo evento contiene REPAIR PROCEDURES per l'evento 1084 registrato in precedenza. Questo messaggio indica un problema specifico relativo alla coerenza del database di Active Directory in questa destinazione di replica. Si è verificato un errore del database durante l'applicazione delle modifiche replicate all'oggetto seguente. Il database presentava contenuti imprevisti, impedendo l'esecuzione della modifica. Oggetto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Guid oggetto: 2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Controller di dominio di origine: 173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs. Contoso.com Azione utente Se nessuna di queste azioni ha esito positivo e l'errore di replica continua, è consigliabile abbassare di livello questo controller di dominio e alzarlo di nuovo di livello. Valore di errore primario dei dati aggiuntivo: 8451 L'operazione di replica ha rilevato un errore del database. Valore errore secondario: -1414
    NTDS Generale 1039 con errore esteso 8451. Evento interno: Active Directory non è riuscito a elaborare l'oggetto seguente.
    NTDS KCC 1925 con errore esteso 8451 Il tentativo di stabilire un collegamento di replica per la partizione di directory scrivibile seguente non è riuscito.
    Replica NTDS 1084 con errore esteso 8451 Evento interno: Impossibile aggiornare l'oggetto seguente con le modifiche ricevute dal controller di dominio di origine seguente. Si è verificato un errore durante l'applicazione delle modifiche apportate ad Active Directory nel controller di dominio.
    Replica NTDS 1699 con errore esteso 8451 Il controller di dominio locale non è riuscito a recuperare le modifiche richieste per la partizione di directory seguente. Di conseguenza, non è stato possibile inviare le richieste di modifica al controller di dominio all'indirizzo di rete seguente.
  • Quando si aumenta il livello di registrazione della diagnosi NTDS nel controller di dominio, Visualizzatore eventi elenca gli eventi aggiuntivi correlati all'errore 8451. La tabella seguente elenca le origini eventi e gli ID evento degli eventi che spesso accompagnano altri eventi che contengono l'errore 8451.

    Origine evento ID evento Messaggio di evento
    Elaborazione interna 1481 con errore-1601 Errore interno: operazione sull'oggetto non riuscita. Dati aggiuntivi: Valore errore: 2 000020EF: NameErr: DSID-032500E8, problema 2001 (NO_OBJECT), dati -1601, corrispondenza migliore: "
    Elaborazione interna 1173 con errore-1075 Evento interno: Active Directory ha rilevato l'eccezione e i parametri associati seguenti. Eccezione: e0010004 Parametro: 0 Valore errore dati aggiuntivo: -1075 ID interno: 205086d
    Elaborazione interna 1173 con errore-1526 Evento interno: Active Directory ha rilevato l'eccezione e i parametri associati seguenti. Eccezione: e0010004 Parametro: 0 Valore errore dati aggiuntivo: -1526 ID interno: 205036b
    Elaborazione interna 1173 con errore-1603 Evento interno: Active Directory ha rilevato l'eccezione e i parametri associati seguenti. Eccezione: e0010004 Parametro: 0 Valore errore dati aggiuntivo: -1603 ID interno: 2050344
    NTDS ISAM 474 con errore-1018 La pagina del database letta dal file 'E:\NTDS\Data\ntds.dit' in corrispondenza dell'offset 3846455296 (0x00000000e5444000) per 8192 (0x00002000) byte non è riuscita a causa di una mancata corrispondenza del checksum della pagina. Il checksum previsto è stato 323677604 (0x134aeda4) e il checksum effettivo è stato 2081515684 (0x7c1168a4). L'operazione di lettura avrà esito negativo con errore -1018 (0xfffffc06). Se questa condizione persiste, ripristinare il database da un backup precedente. Questo problema è probabilmente dovuto a hardware difettoso. Per ulteriori informazioni sulla diagnosi del problema, contattare il fornitore dell'hardware.
    NTDS ISAM 488 NTDS (396) NTDSA: incoerenza dei dati rilevata nella tabella datatable del database C:\WINDOWS\NTDS\ntds.dit (4621.7905).
  • Quando si esegue l'utilità Dcdiag.exe, produce un output simile al seguente:

    Test iniziale: repliche

    * Controllo repliche
    [Controllo repliche,<Nome> controller di dominio] Tentativo di replica recente non riuscito:
    Dal <controller di> dominio di origine al controller di dominio di <destinazione>
    Contesto di denominazione: <percorso DN del contesto di denominazione non riuscito>
    La replica ha generato un errore (8451):
    L'operazione di replica ha rilevato un errore del database

  • In Siti e servizi di Active Directory, quando si fa clic con il pulsante destro del mouse sull'oggetto connessione di un controller di dominio di origine e si seleziona Replica ora, il comando ha esito negativo e genera un messaggio simile al seguente:

    Si è verificato l'errore seguente durante il tentativo di sincronizzare il contesto <di denominazione %nome partizione directory%> dal controller di dominio di origine> del controller <di dominio al controller di dominio di destinazione> del controller <di dominio:
    "L'operazione di replica ha rilevato un errore del database."
    L'operazione non continuerà.

Come decodificare i codici di errore

È possibile usare microsoft error lookup tool per decodificare i codici di errore descritti in questo articolo. La decodifica dei codici di errore correlati all'errore 8451 e agli errori di accompagnamento genera le informazioni seguenti:

C:>err 8451
per decimal 8451/esadecimale 0x2103 :
ERROR_DS_DRA_DB_ERROR winerror.h
L'operazione di replica ha rilevato un errore del database.
2 corrispondenze trovate per "8451"

C:>err -1414
per decimal -1414/esadecimale 0xfffffa7a :
JET_errSecondaryIndexCorrupted esent98.h
/L'indice secondario è danneggiato. Il database deve essere deframmentato/
1 corrispondenze trovate per "-1414"

C:>err -1526
per decimal -1526/esadecimale 0xfffffa0a :
JET_errLVCorrupted esent98.h
/Danneggiamento riscontrato nell'albero a valore lungo/
1 corrispondenze trovate per "-1526"

C:>err -1603
per decimal -1603/esadecimale 0xfffff9bd :
JET_errNoCurrentRecord esent98.h
/Valuta non presente in un record/
1 corrispondenze trovate per "-1603"

C:>err -1075
per decimal -1075/esadecimale 0xfffffbcd :
JET_errOutOfLongValueIDs esent98.h
/Il contatore ID a valore lungo ha raggiunto il valore massimo. (eseguire la deframmentazione offline per recuperare il valore libero/inutilizzato
LongValueID)
/
1 corrispondenze trovate per "-1075"

C:>err -1601
per decimal -1601/esadecimale 0xfffff9bf :
JET_errRecordNotFound esent98.h
/La chiave non è stata trovata/
1 corrispondenze trovate per "-1601"

C:>err -1047
per decimal -1047/esadecimale 0xfffffbe9 :
JET_errInvalidBufferSize esent98.h
/Il buffer di dati non corrisponde alle dimensioni della colonna/
1 corrispondenze trovate per "-1047"

C:>err -1018
per decimal -1018 /esadecimale 0xfffffc06 :
JET_errReadVerifyFailure ese.h
/Errore checksum in una pagina del database/
JET_errReadVerifyFailure esent98.h
Errore di checksum /* in una pagina del database */
2 corrispondenze trovate per "-1018"

C:>err -1206
per decimal -1206/esadecimale 0xfffffb4a :
JET_errDatabaseCorrupted esent98.h
/File non di database o database danneggiato/
1 corrispondenze trovate per "-1206"

Causa

Lo stato 8451: "L'operazione di replica ha rilevato un errore di database" presenta più cause radice, incluse quelle seguenti:

  • Il database di Active Directory o l'indice del database di Active Directory potrebbe essere danneggiato. Può essere causato dai motivi seguenti:
    • Hardware con errori:
      • Disco
      • Controller
      • Cache del controller
    • Driver obsoleti:
      • Controller
    • Firmware obsoleto:
      • Computer BIOS
      • Controller
      • Disco
    • Perdita di potenza improvvisa.
    • Oggetti persistenti.
    • Il contatore ID a valore lungo ha raggiunto il valore massimo:
      • I tipi di JET_coltypLongTextcolonna ESE e JET_coltypLongBinary sono denominati tipi di colonna con valore lungo. Queste colonne sono oggetti stringa di grandi dimensioni e oggetti binari di grandi dimensioni che possono essere archiviati in alberi B+ separati lontano dall'indice primario. Quando i valori lunghi vengono archiviati separatamente dal record primario, vengono inseriti internamente in un LID (Long Value ID).
    • Descrittore di sicurezza non valido nell'attributo msExchSecurityDescriptor .

Risoluzione

Importante

Seguire attentamente i passaggi in questa sezione. L'errata modifica del Registro di sistema può causare seri problemi. Prima di apportare le modifiche, eseguire il backup del Registro di sistema per il ripristino nel caso si verifichino dei problemi.

Come risolvere una singola occorrenza del problema

Se l'errore si verifica in un solo controller di dominio e sembra essere un problema isolato, la soluzione migliore e più rapida consiste nell'eseguire la deframmentazione offline del database nel server interessato. Per informazioni su come eseguire questa operazione, vedere Come eseguire la deframmentazione offline del database di Active Directory.

Se la deframmentazione offline non risolve il problema, abbassare di livello e quindi ripetere la riproduzione del controller di dominio interessato. Per informazioni su come eseguire questa operazione, vedere Abbassamento di livello controller di dominio e domini.

Come risolvere un problema ricorrente

Se il problema persiste, raccogliere alcuni dati di diagnostica.

  1. Abilitare la registrazione diagnostica NTDS per gli eventi di replica e l'elaborazione interna a un livello di 5.

    Per aumentare la registrazione diagnostica NTDS, modificare i valori di REG_DWORD seguenti nel Registro di sistema del controller di dominio di destinazione nella sottochiave del Registro di sistema seguente:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics

    Impostare il valore delle voci seguenti su 5:

    • Eventi di replica
    • Elaborazione interna

    Nota

    La registrazione di livello 5 è estremamente dettagliata. I valori di entrambe le chiavi devono essere ripristinati al valore predefinito 0 dopo la risoluzione del problema. Per isolare e identificare questi eventi, è necessario filtrare il registro eventi di Servizi directory.

    Per altre informazioni sulla terminologia standard usata per descrivere gli aggiornamenti software Microsoft, vedere l'articolo della Knowledge Base seguente:

  2. Esaminare i log eventi per i nuovi eventi generati dalla registrazione aumentata per individuare i valori di errore che forniranno una visualizzazione definitiva dell'errore 8451 originale. Ad esempio, un ID evento di elaborazione interna 1173 con valore di errore pari a -1526 indicherebbe un danneggiamento nell'albero a valore lungo.

  3. In base alle informazioni aggiuntive della registrazione aumentata, fare riferimento alla tabella seguente per una potenziale risoluzione.

    Codice decimale Codice esadecimale Codice di testo Messaggio di errore Possibili risoluzioni
    -1018 0xfffffc06 Jet_errreadverifyfailure Errore checksum in una pagina del database Controllare hardware, firmware e driver. Eseguire il ripristino dal backup. Abbassare di livello/alzare di livello.
    -1047 0xfffffbe9 JET_errInvalidBufferSize Il buffer di dati non corrisponde alle dimensioni della colonna 832851 replica in ingresso non riesce nei controller di dominio con ID evento: 1699, errore 8451 o errore jet -1601 Nota: questo hotfix non è più disponibile.
    -1075 0xfffffbcd JET_errOutOfLongValueIDs Il contatore ID a valore lungo ha raggiunto il valore massimo. (eseguire la deframmentazione offline per recuperare dati gratuiti o inutilizzatiLongValueIDs) Eseguire la deframmentazione offline.
    -1206 0xfffffb4a JET_errDatabaseCorrupted File non di database o database danneggiato Controllare hardware, firmware e driver. Eseguire il comando Esentutl/k . Eseguire i comandi Ntdsutil per l'integrità del file e l'analisi semantica del database (SDA) e quindi eseguire la deframmentazione offline. In caso contrario, ripristinare dal backup o abbassare di livello/alzare di livello.
    -1414 0xfffffa7a JET_errSecondaryIndexCorrupted L'indice secondario è danneggiato. Il database deve essere deframmentato. Eseguire la deframmentazione offline.
    -1526 0xfffffa0a JET_errLVCorrupted Danneggiamento riscontrato nell'albero a valore lungo Controllare hardware, firmware e driver. Eseguire il Esentutl /k comando . Eseguire i comandi di integrità del file Ntdsutil** e SDA e quindi eseguire la deframmentazione offline. In caso contrario, ripristinare dal backup o abbassare di livello e alzare di livello.
    -1601 0xfffff9bf JET_errRecordNotFound La chiave non è stata trovata Controllare hardware, firmware e driver. Eseguire il Esentutl /k comando . Eseguire i comandi Ntdsutil file integrity e SDA e quindi eseguire la deframmentazione offline.In caso contrario, ripristinare dal backup o abbassare di livello e alzare di livello.
    -1603 0xfffff9bd JET_errNoCurrentRecord Valuta non presente in un record Controllare hardware, firmware e driver. Eseguire il Esentutl /comando k. Eseguire i comandi Ntdsutil file integrity e SDA e quindi eseguire la deframmentazione offline.In caso contrario, ripristinare dal backup o abbassare di livello e alzare di livello.
    8451 0x2103 ERROR_DS_DRA_DB_ERROR L'operazione di replica ha rilevato un errore del database Controllare hardware, firmware e driver. Eseguire il Esentutl /k comando . Eseguire i comandi Ntdsutil file integrity e SDA e quindi eseguire la deframmentazione offline. In caso contrario, ripristinare dal backup o abbassare di livello/alzare di livello.
  4. Se tutti questi metodi hanno esito negativo, ripristinare il controller di dominio da un backup o abbassarlo di livello e quindi riprovare.

Ulteriori informazioni

Verificare lo stack di database jet verticale dal basso verso l'alto (procedendo fino al livello successivo solo dopo che il livello sottostante è classificato come "buono"), come si fa per TCP.

Livello Comando Ntdsutil Comando Esentutl
(1) Coerenza fisica nessun equivalente Esentutl /k
(2) Coerenza logica ESE (Extensible Storage Engine) Ntdsutil, file, integrità Esentutl /g
(3) Coerenza logica dell'applicazione Ntdsutil, analisi + semantica del databaseNtdsutil, compact nessun equivalente per SDA + Esentutl /d

Raccolta dei dati

Se è necessaria l'assistenza del supporto tecnico Microsoft, è consigliabile raccogliere le informazioni seguendo i passaggi indicati in Raccogliere informazioni usando TSS per i problemi di replica di Active Directory.