Erro de Replicação do Active Directory 8451: "A operação de replicação encontrou um erro de banco de dados"

Este artigo fornece uma resolução para o Erro de Replicação do Active Directory 8451: "A operação de replicação encontrou um erro de banco de dados".

Aplica-se a: Todas as versões com suporte do Windows Server
Número de KB original: 2645996

Observação

Usuários domésticos: este artigo destina-se apenas a agentes de suporte técnico e profissionais de TI. Se você estiver procurando ajuda para resolve um problema, pergunte à Comunidade microsoft.

Sintomas

Este artigo descreve os sintomas e as causas de situações em que as operações de Active Directory Domain Services (AD DS) falham e geram o erro 8451: "A operação de replicação encontrou um erro de banco de dados". Este artigo também fornece uma resolução para esse problema.
Você pode experimentar um dos seguintes sintomas:

  • Você vê uma ou mais mensagens de erro na tela, eventos registrados ou saída de diagnóstico que identifica um erro de banco de dados. Os possíveis formatos para esse erro incluem o seguinte.

    Código decimal Código hexadecimal Código de texto Mensagem de erro
    8451 0x2103 ERROR_DS_DRA_DB_ERROR A operação de replicação encontrou um erro de banco de dados.
    -1018 0xfffffc06 JET_errReadVerifyFailure Erro de soma de verificação em uma página de banco de dados.
    -1047 0xfffffbe9 JET_errInvalidBufferSize O buffer de dados não corresponde ao tamanho da coluna.
    -1075 0xfffffbc JET_errOutOfLongValueID O contador de ID de valor longo atingiu o valor máximo (faça um desfragmentação offline para recuperar LongValueIDs livres e não utilizados).
    -1206 0xfffffb4a JET_errDatabaseCorrupted Arquivo não banco de dados ou db corrompido.
    -1414 0xfffffa7a JET_errSecondaryIndexCorrupted O índice secundário é corrompido. O banco de dados deve ser desfragmentado.
    -1526 0xfffffa0a JET_errLVCorrupted Corrupção encontrada em árvore de valor longo.
    -1601 0xfffff9bf JET_errRecordNotFound A chave não foi encontrada.
    -1603 0xfffff9b JET_errNoCurrentRecord Conversor de Moedas não em um registro.
  • Dcpromo.exe falha e gera o erro 8451.
    A interface do usuário exibe a seguinte mensagem:

    A operação falhou porque:

    Active Directory Domain Services não pôde replicar a partição < do diretórioCaminho DN de partição> com falha do assistente do controlador <de Domínio do Active Directory remoto DC>.<nome> de domínio dns.<domínio> de nível superior.

    A operação de replicação encontrou um erro de banco de dados.

    O arquivo Dcpromo.log contém as seguintes informações:

    <hora> da data><[INFO] NstdInstall para contoso.com retornado 8451
    <data><time> [INFO] DsRolepInstallDs retornados 8451
    <hora> da data><[ERRO] Falha ao instalar no Serviço de Diretório (8451)
    <hora> da data><[INFO] Início do serviço NETLOGON

  • Repadmin.exe relata que a tentativa de replicação falhou com status 8451. Repadmin.exe comandos que geralmente citam o 8451 status incluem, mas não se limitam a:

    • Repadmin /kcc

    • Repadmin /rehost

    • Repadmin /replicate

    • Repadmin /replsum

    • Repadmin /showrepl

    • Repadmin /showreps

    • Repadmin /showutdvec

    • Repadmin /syncall

      Para obter informações detalhadas sobre como usar o Repadmin para solucionar problemas de replicação, consulte Monitoramento e solução de problemas de replicação do Active Directory usando o Repadmin.

      O exemplo a seguir mostra a saída do repadmin /showreps comando que indica que a replicação de entrada de CONTOSO-DC2 para CONTOSO-DC1 falhou e gerou a mensagem "acesso de replicação foi negado".

      Default-First-Site-Name\CONTOSO-DC1
      Opções DSA: IS_GC
      Opções do site: (nenhum)
      GUID do objeto DSA: b6dc8589-7e00-4a5d-b688-045aef63ec01
      DSA invocationID: b6dc8589-7e00-4a5d-b688-045aef63ec01
      ==== VIZINHOS DE ENTRADA ======================================
      DC=contoso,DC=com
      Default-First-Site-Name\CONTOSO-DC2 via RPC
      GUID do objeto DSA: 74fbe06c-932c-46b5-831b-af9e31f496b2
      Falha na última tentativa @ <hora> da data><, resultado 8451 (0x2103):
      A operação de replicação encontrou um erro de banco de dados.
      falhas consecutivas(s).
      Último sucesso @ <hora da data<>>.

  • Visualizador de Eventos lista um ou mais eventos que citam o erro 8451. A tabela a seguir lista as fontes de evento e as IDs de eventos comuns que citam o erro 8451 (na origem do evento + ID do evento).

    Origem do evento ID do Evento Mensagem de evento
    Microsoft-Windows-ActiveDirectory_DomainService 1039 com o erro estendido 8451 Evento interno: Active Directory Domain Services não pôde processar o seguinte objeto.
    Microsoft-Windows-ActiveDirectory_DomainService 1084 com o erro estendido 8451 Evento interno: o Active Directory não pôde atualizar o objeto a seguir com alterações recebidas do controlador de domínio de origem a seguir. Isso ocorre porque ocorreu um erro durante a aplicação das alterações no Active Directory no controlador de domínio.
    Microsoft-Windows-ActiveDirectory_DomainService 1308 com o erro estendido 8451 O KCC (Verificador de Consistência de Conhecimento) detectou que falha na tentativa sucessiva de replicar com o serviço de diretório a seguir.
    Microsoft-Windows-ActiveDirectory_DomainService 1699 com o erro estendido 8451 O controlador de domínio local não conseguiu recuperar as alterações solicitadas para a partição de diretório a seguir. Como resultado, não foi possível enviar as solicitações de alteração para o controlador de domínio no endereço de rede a seguir.
    Replicação do NTDS 2108 com o erro estendido 8451 com o valor de erro secundário-1075 Este evento contém PROCEDIMENTOS DE REPARO para o evento 1084 que já foi registrado anteriormente. Esta mensagem indica um problema específico com a consistência do banco de dados do Active Directory neste destino de replicação. Ocorreu um erro de banco de dados ao aplicar alterações replicadas ao objeto a seguir. O banco de dados tinha conteúdo inesperado, impedindo que a alteração fosse feita. Objeto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Guid de objeto: 2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Controlador de domínio de origem: 173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs. Contoso.com Ação do Usuário Se nenhuma dessas ações tiver êxito e o erro de replicação continuar, você deverá rebaixar esse controlador de domínio e promovê-lo novamente. Valor de erro primário de dados adicionais: 8451 A operação de replicação encontrou um erro de banco de dados. Valor de erro secundário: -1075
    Replicação do NTDS 2108 com o erro estendido 8451 com o valor de erro secundário-1526 Este evento contém PROCEDIMENTOS DE REPARO para o evento 1084 que já foi registrado anteriormente. Esta mensagem indica um problema específico com a consistência do banco de dados do Active Directory neste destino de replicação. Ocorreu um erro de banco de dados ao aplicar alterações replicadas ao objeto a seguir. O banco de dados tinha conteúdo inesperado, impedindo que a alteração fosse feita. Objeto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Guid de objeto: 2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Controlador de domínio de origem: 173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs. Contoso.com Ação do Usuário Se nenhuma dessas ações tiver êxito e o erro de replicação continuar, você deverá rebaixar esse controlador de domínio e promovê-lo novamente. Valor de erro primário de dados adicionais: 8451 A operação de replicação encontrou um erro de banco de dados. Valor de erro secundário: -1526
    Replicação do NTDS 2108 com erro estendido 8451 com valor de erro secundário -1414 Este evento contém PROCEDIMENTOS DE REPARO para o evento 1084 que já foi registrado anteriormente. Esta mensagem indica um problema específico com a consistência do banco de dados do Active Directory neste destino de replicação. Ocorreu um erro de banco de dados ao aplicar alterações replicadas ao objeto a seguir. O banco de dados tinha conteúdo inesperado, impedindo que a alteração fosse feita. Objeto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Guid de objeto: 2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Controlador de domínio de origem: 173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs. Contoso.com Ação do Usuário Se nenhuma dessas ações tiver êxito e o erro de replicação continuar, você deverá rebaixar esse controlador de domínio e promovê-lo novamente. Valor de erro primário de dados adicionais: 8451 A operação de replicação encontrou um erro de banco de dados. Valor de erro secundário: -1414
    NTDS Geral 1039 com o erro estendido 8451. Evento interno: o Active Directory não pôde processar o seguinte objeto.
    NTDS KCC 1925 com o erro estendido 8451 A tentativa de estabelecer um link de replicação para a partição de diretório gravável a seguir falhou.
    Replicação do NTDS 1084 com o erro estendido 8451 Evento interno: o Active Directory não pôde atualizar o objeto a seguir com alterações recebidas do controlador de domínio de origem a seguir. Isso ocorre porque ocorreu um erro durante a aplicação das alterações no Active Directory no controlador de domínio.
    Replicação do NTDS 1699 com o erro estendido 8451 O controlador de domínio local não conseguiu recuperar as alterações solicitadas para a partição de diretório a seguir. Como resultado, não foi possível enviar as solicitações de alteração para o controlador de domínio no endereço de rede a seguir.
  • Quando você aumenta o nível de registro em log do NTDS no controlador de domínio, Visualizador de Eventos lista eventos adicionais relacionados ao erro 8451. A tabela a seguir lista as fontes de evento e as IDs de eventos que acompanham com frequência outros eventos que contêm o erro 8451.

    Origem do evento ID do Evento Mensagem de evento
    Processamento Interno 1481 com error-1601 Erro interno: falha na operação no objeto. Dados adicionais: valor de erro: 2 000020EF: NameErr: DSID-032500E8, problema 2001 (NO_OBJECT), dados -1601, melhor correspondência de: "
    Processamento Interno 1173 com erro-1075 Evento interno: o Active Directory encontrou a seguinte exceção e parâmetros associados. Exceção: parâmetro e0010004: 0 Valor adicional de erro de dados: -1075 ID interna: 205086d
    Processamento Interno 1173 com erro-1526 Evento interno: o Active Directory encontrou a seguinte exceção e parâmetros associados. Exceção: parâmetro e0010004: 0 valor adicional de erro de dados: -1526 ID interna: 205036b
    Processamento Interno 1173 com erro-1603 Evento interno: o Active Directory encontrou a seguinte exceção e parâmetros associados. Exceção: parâmetro e0010004: 0 valor adicional de erro de dados: -1603 ID interna: 2050344
    NTDS ISAM 474 com erro-1018 A página de banco de dados lida no arquivo 'E:\NTDS\Data\ntds.dit' em 3846455296 de deslocamento (0x00000000e5444000) para 8192 (0x00002000) bytes falhou devido a uma incompatibilidade de verificação de verificação de página. A soma de verificação esperada foi 323677604 (0x134aeda4) e a soma de verificação real foi 2081515684 (0x7c1168a4). A operação de leitura falhará com o erro -1018 (0xfffffc06). Se essa condição persistir, restaure o banco de dados de um backup anterior. Esse problema provavelmente se deve ao hardware defeituoso. Entre em contato com o fornecedor de hardware para obter mais assistência para diagnosticar o problema.
    NTDS ISAM 488 NTDS (396) NTDSA: inconsistência de dados detectada na tabela datatable do banco de dados C:\WINDOWS\NTDS\ntds.dit (4621.7905).
  • Quando você executa o utilitário Dcdiag.exe, ele produz uma saída que se assemelha a:

    Teste inicial: Replicações

    * Verificação de replicações
    [Verificação de replicações,<Dc Name>] Falha em uma tentativa de replicação recente:
    De DC> de <origem para <DC de destino>
    Contexto de Nomenclatura: <caminho DN de contexto de nomenclatura de falha>
    A replicação gerou um erro (8451):
    A operação de replicação encontrou um erro de banco de dados

  • Em Sites e Serviços do Active Directory, quando você clica com o botão direito do mouse no objeto de conexão de um DC de origem e seleciona Replicar agora, o comando falha e gera uma mensagem que se assemelha a:

    O seguinte erro ocorreu durante a tentativa de sincronizar o contexto <de nomenclatura %directory partition name%> de Source <DC> para Domain Controller <Destination DC>:
    "A operação de replicação encontrou um erro de banco de dados."
    A operação não continuará.

Como decodificar códigos de erro

Você pode usar a Ferramenta de Pesquisa de Erros da Microsoft para decodificar os códigos de erro descritos neste artigo. Decodificar os códigos de erro relacionados ao erro 8451 e aos erros que acompanham produz as seguintes informações:

C:>err 8451
para decimal 8451 / hex 0x2103 :
ERROR_DS_DRA_DB_ERROR winerror.h
A operação de replicação encontrou um erro de banco de dados.
2 correspondências encontradas para "8451"

C:>err -1414
para decimal -1414 / hex 0xfffffa7a :
JET_errSecondaryIndexCorrupted esent98.h
/O índice secundário é corrompido. O banco de dados deve ser desfragmentado/
1 correspondências encontradas para "-1414"

C:>err -1526
para decimal -1526 / hex 0xfffffa0a :
JET_errLVCorrupted esent98.h
/Corrupção encontrada em árvore de valor longo/
1 correspondências encontradas para "-1526"

C:>err -1603
para decimal -1603 / hex 0xfffff9bd :
JET_errNoCurrentRecord esent98.h
/Conversor de Moedas não em um registro/
1 correspondências encontradas para "-1603"

C:>err -1075
para decimal -1075 / hex 0xfffffbcd :
JET_errOutOfLongValueIDs esent98.h
/O contador de ID de valor longo atingiu o valor máximo. (executar desfragmento offline para recuperar livre/não utilizado
LongValueIDs)
/
1 correspondências encontradas para "-1075"

C:>err -1601
para decimal -1601 / hex 0xfffff9bf :
JET_errRecordNotFound esent98.h
/A chave não foi encontrada/
1 correspondências encontradas para "-1601"

C:>err -1047
para decimal -1047 / hex 0xfffffbe9 :
JET_errInvalidBufferSize esent98.h
/O buffer de dados não corresponde ao tamanho da coluna/
1 correspondências encontradas para "-1047"

C:>err -1018
para decimal -1018 / hex 0xfffffc06 :
JET_errReadVerifyFailure ese.h
/Erro de soma de verificação em uma página de banco de dados/
JET_errReadVerifyFailure esent98.h
/* Erro de soma de verificação em uma página de banco de dados */
2 correspondências encontradas para "-1018"

C:>err -1206
para decimal -1206 / hex 0xfffffb4a :
JET_errDatabaseCorrupted esent98.h
/Arquivo não banco de dados ou db corrompido/
1 correspondências encontradas para "-1206"

Motivo

O status 8451: "A operação de replicação encontrou um erro de banco de dados" tem várias causas raiz, incluindo as seguintes:

  • O banco de dados do Active Directory ou o índice de banco de dados do Active Directory podem estar corrompidos. Pode ser causado pelos seguintes motivos:
    • Hardware com falha:
      • Disco
      • Controlador
      • Cache do controlador
    • Drivers desatualizados:
      • Controlador
    • Firmware desatualizado:
      • BIOS do computador
      • Controlador
      • Disco
    • Perda repentina de energia.
    • Objetos persistentes.
    • O contador de ID de valor longo atingiu seu valor máximo:
      • Os tipos JET_coltypLongTextde coluna ESE e JET_coltypLongBinary são chamados de tipos de coluna de valor longo. Essas colunas são grandes cadeias de caracteres e objetos binários grandes que podem ser armazenados em árvores B+ separadas longe do índice primário. Quando valores longos são armazenados separadamente do registro primário, eles são internamente chaveados em uma LID (ID de valor longo).
    • Descritor de segurança inválido no atributo msExchSecurityDescriptor .

Resolução

Importante

Siga as etapas nesta seção com cuidado. Sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Antes de modificá-lo, faça backup do Registro para restauração em caso de problemas.

Como resolve uma única ocorrência do problema

Se o erro ocorrer em apenas um controlador de domínio e parecer ser um problema isolado, a melhor e mais rápida resolução será fazer o desfragmentação offline do banco de dados no servidor afetado. Para obter informações sobre como fazer isso, consulte Como executar o desfragmentação offline do banco de dados do Active Directory.

Se a desfragmentação offline não corrigir o problema, demote e, em seguida, repromote o controlador de domínio afetado. Para obter informações sobre como fazê-lo, consulte Rebaixando controladores de domínio e domínios.

Como resolve um problema recorrente

Se o problema se repetir, colete alguns dados de diagnóstico.

  1. Habilite o log de diagnóstico do NTDS para eventos de replicação e processamento interno em um nível de 5.

    Para aumentar o log de diagnóstico do NTDS, altere os seguintes valores de REG_DWORD no registro do controlador de domínio de destino na seguinte subchave de registro:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics

    Defina o valor das seguintes entradas como 5:

    • Eventos de replicação
    • Processamento Interno

    Observação

    O log de nível 5 é extremamente verboso. Os valores de ambas as chaves devem ser restaurados para o padrão de 0 depois que o problema for resolvido. Filtrar o log de eventos dos Serviços de Diretório deve ser feito para isolar e identificar esses eventos.

    Para obter mais informações sobre a terminologia padrão usada para descrever as atualizações de software da Microsoft, consulte o seguinte artigo da Base de Dados de Conhecimento:

  2. Examine os logs de eventos para os novos eventos que foram gerados a partir do aumento do registro em log para valores de erro que darão uma visão definitiva do erro original 8451. Por exemplo, uma ID de Evento de Processamento Interno 1173 com um valor de erro de -1526 indicaria que temos uma corrupção na árvore de valor longo.

  3. Com base nas informações adicionais do aumento do registro em log, consulte a tabela a seguir para obter uma resolução em potencial.

    Código decimal Código Hex Código de texto Mensagem de erro Resoluções potenciais
    -1018 0xfffffc06 JET_errReadVerifyFailure Erro de soma de verificação em uma página de banco de dados Verifique o hardware, o firmware e os drivers. Restaurar do backup. Rebaixar/promover.
    -1047 0xfffffbe9 JET_errInvalidBufferSize O buffer de dados não corresponde ao tamanho da coluna 832851 Replicação de Entrada Falha em Controladores de Domínio com ID de Evento: 1699, Erro 8451 ou erro de jato -1601 Observação: este hotfix não está mais disponível.
    -1075 0xfffffbcd JET_errOutOfLongValueIDs O contador de ID de valor longo atingiu o valor máximo. (faça desfragmentação offline para recuperar livre ou não utilizadoLongValueIDs) Faça desfragmentação offline.
    -1206 0xfffffb4a JET_errDatabaseCorrupted Arquivo não banco de dados ou db corrompido Verifique o hardware, o firmware e os drivers. Execute o comando Esentutl/k . Execute os comandos SDA (integridade do arquivo Ntdsutil ) e análise semântica de banco de dados (SDA) e faça desfragmentação offline. Caso contrário, restaure do backup ou demote/promo.
    -1414 0xfffffa7a JET_errSecondaryIndexCorrupted O índice secundário é corrompido. O banco de dados deve ser desfragmentado. Faça desfragmentação offline.
    -1526 0xfffffa0a JET_errLVCorrupted Corrupção encontrada em árvore de valor longo Verifique o hardware, o firmware e os drivers. Execute o Esentutl /k comando. Execute a integridade do arquivo Ntdsutil** e os comandos SDA e faça desfragmentação offline. Caso contrário, restaure do backup ou demote e promova.
    -1601 0xfffff9bf JET_errRecordNotFound A chave não foi encontrada Verifique o hardware, o firmware e os drivers. Execute o Esentutl /k comando. Execute a integridade do arquivo Ntdsutil e os comandos SDA e faça desfragmentação offline.Caso contrário, restaure do backup ou demote e promova.
    -1603 0xfffff9bd JET_errNoCurrentRecord Conversor de Moedas não em um registro Verifique o hardware, o firmware e os drivers. Execute o Esentutl /comando k. Execute a integridade do arquivo Ntdsutil e os comandos SDA e faça desfragmentação offline.Caso contrário, restaure do backup ou demote e promova.
    8451 0x2103 ERROR_DS_DRA_DB_ERROR A operação de replicação encontrou um erro de banco de dados Verifique o hardware, o firmware e os drivers. Execute o Esentutl /k comando. Execute a integridade do arquivo Ntdsutil e os comandos SDA e faça desfragmentação offline. Caso contrário, restaure do backup ou demote/promo.
  4. Se todos esses métodos falharem, restaure o controlador de domínio de um backup ou demote-o e, em seguida, repromote.

Mais informações

Verifique a pilha de banco de dados de jato vertical de baixo para cima (continuando até a próxima camada somente depois que a camada subjacente for classificada como "boa"), o mesmo que você faz para TCP.

Camada Comando Ntdsutil Comando Esentutl
(1) Consistência física nenhum equivalente Esentutl /k
(2) Consistência lógica do ESE (Mecanismo de Armazenamento Extensível) Ntdsutil, arquivos, integridade Esentutl /g
(3) Consistência lógica do aplicativo Ntdsutil, análise + semântica de banco de dadosNtdsutil, compact nenhum equivalente para SDA + Esentutl /d

Coleta de dados

Se você precisar de ajuda do suporte da Microsoft, recomendamos coletar as informações seguindo as etapas mencionadas em Coletar informações usando problemas de replicação do TSS para Active Directory.