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

Este artigo fornece uma resolução para o Erro 8451 de Replicação do Active Directory: "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 original do KB: 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 resolver um problema, pergunte à Comunidade da Microsoft.

Sintomas

Este artigo descreve os sintomas e as causas de situações em que as operações do AD DS (Active Directory Domain Services) 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 solução para esse problema.
Você pode experimentar um ou mais 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 formatos possíveis 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 uma desfragmentação offline para recuperar LongValueIDs gratuitos e não utilizados).
    -1206 0xfffffb4a JET_errDatabaseCorrupted Arquivo não banco de dados ou banco de dados corrompido.
    -1414 0xfffffa7a JET_errSecondaryIndexCorrupted O índice secundário está corrompido. O banco de dados deve ser desfragmentado.
    -1526 0xfffffa0a JET_errLVCorrupted Corrupção encontrada na árvore de valor longo.
    -1601 0xfffff9bf JET_errRecordNotFound A chave não foi encontrada.
    -1603 0xfffff9b JET_errNoCurrentRecord Moeda não registrada.
  • Dcpromo.exe falha e gera o erro 8451.
    A interface do usuário exibe a seguinte mensagem:

    A operação falhou porque:

    Os Serviços de Domínio Active Directory não puderam replicar o caminho DN da partição <de diretório da partição> com falha do DC> auxiliar do Controlador <de Domínio do Active Directory remoto.<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:

    <data><hora> [INFO] NstdInstall para contoso.com retornou 8451
    <data><hora> [INFO] DsRolepInstallDs retornou 8451
    <data><e hora> [ERRO] Falha ao instalar no serviço de diretório (8451)
    <data><hora> [INFO] Iniciando o serviço NETLOGON

  • Repadmin.exe relata que a tentativa de replicação falhou com o status 8451. Repadmin.exe comandos que normalmente citam o status 8451 incluem, mas não estão limitados 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 Monitorando e solucionando problemas de replicação do Active Directory usando o Repadmin.

      O exemplo a seguir mostra a saída do comando que indica que a repadmin /showreps 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 de DSA: IS_GC
      Opções do site: (nenhuma)
      GUID do objeto DSA: b6dc8589-7e00-4a5d-b688-045aef63ec01
      ID de invocação DSA: 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 @ <data><e hora> , resultado 8451 (0x2103):
      A operação de replicação encontrou um erro de banco de dados.
      falha(s) consecutiva(s).
      Último sucesso @ <data><e hora>.

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

    Origem do Evento ID do evento Mensagem de evento
    Microsoft-Windows-ActiveDirectory_DomainService 1039 com erro estendido 8451 Evento interno: os Serviços de Domínio Active Directory não puderam processar o objeto a seguir.
    Microsoft-Windows-ActiveDirectory_DomainService 1084 com erro estendido 8451 Evento interno: o Active Directory não pôde atualizar o objeto a seguir com as 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 erro estendido 8451 O KCC (Verificador de Consistência de Conhecimento) detectou que a tentativa sucessiva de replicação com o serviço de diretório a seguir falhou.
    Microsoft-Windows-ActiveDirectory_DomainService 1699 com erro estendido 8451 O controlador de domínio local falhou ao 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 seguinte endereço de rede.
    Replicação NTDS 2108 com erro estendido 8451 com valor de erro secundário-1075 Esse evento contém PROCEDIMENTOS DE REPARO para o evento 1084 que foi registrado anteriormente. Essa mensagem indica um problema específico com a consistência do banco de dados do Active Directory nesse 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údos inesperados, impedindo que a alteração fosse feita. Objeto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com GUID do 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 for bem-sucedida e o erro de replicação continuar, você deverá rebaixar esse controlador de domínio e promovê-lo novamente. Valor do Erro Primário de Dados Adicionais: 8451 A operação de replicação encontrou um erro de banco de dados. Valor do erro secundário: -1075
    Replicação NTDS 2108 com erro estendido 8451 com valor de erro secundário-1526 Esse evento contém PROCEDIMENTOS DE REPARO para o evento 1084 que foi registrado anteriormente. Essa mensagem indica um problema específico com a consistência do banco de dados do Active Directory nesse 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údos inesperados, impedindo que a alteração fosse feita. Objeto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com GUID do 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 for bem-sucedida e o erro de replicação continuar, você deverá rebaixar esse controlador de domínio e promovê-lo novamente. Valor do Erro Primário de Dados Adicionais: 8451 A operação de replicação encontrou um erro de banco de dados. Valor do erro secundário: -1526
    Replicação NTDS 2108 com erro estendido 8451 com valor de erro secundário -1414 Esse evento contém PROCEDIMENTOS DE REPARO para o evento 1084 que foi registrado anteriormente. Essa mensagem indica um problema específico com a consistência do banco de dados do Active Directory nesse 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údos inesperados, impedindo que a alteração fosse feita. Objeto: CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com GUID do 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 for bem-sucedida e o erro de replicação continuar, você deverá rebaixar esse controlador de domínio e promovê-lo novamente. Valor do Erro Primário de Dados Adicionais: 8451 A operação de replicação encontrou um erro de banco de dados. Valor do erro secundário: -1414
    NTDS Geral 1039 com erro estendido 8451. Evento interno: o Active Directory não pôde processar o objeto a seguir.
    NTDS KCC 1925 com erro estendido 8451 Falha na tentativa de estabelecer um link de replicação para a partição de diretório gravável a seguir.
    Replicação NTDS 1084 com erro estendido 8451 Evento interno: o Active Directory não pôde atualizar o objeto a seguir com as 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 NTDS 1699 com erro estendido 8451 O controlador de domínio local falhou ao 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 seguinte endereço de rede.
  • Quando você aumenta o nível de log de diagnóstico NTDS no controlador de domínio, o Visualizador de Eventos lista eventos adicionais relacionados ao erro 8451. A tabela a seguir lista as fontes de eventos e IDs de eventos que frequentemente acompanham outros eventos que contêm o erro 8451.

    Origem do Evento ID do evento Mensagem de evento
    Processamento interno 1481 com erro-1601 Erro interno: a operação no objeto falhou. Dados adicionais: Valor do 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: e0010004 Parâmetro: 0 Dados adicionais Valor do erro: -1075 ID interno: 205086d
    Processamento interno 1173 com erro-1526 Evento interno: o Active Directory encontrou a seguinte exceção e parâmetros associados. Exceção: e0010004 Parâmetro: 0 Dados adicionais Valor de erro: -1526 ID interno: 205036b
    Processamento interno 1173 com erro-1603 Evento interno: o Active Directory encontrou a seguinte exceção e parâmetros associados. Exceção: e0010004 Parâmetro: 0 Dados adicionais Valor do erro: -1603 ID interno: 2050344
    NTDS ISAM 474 com erro-1018 A página do banco de dados lida do arquivo 'E:\NTDS\Data\ntds.dit' no 3846455296 de deslocamento (0x00000000e5444000) para 8192 (0x00002000) bytes falhou na verificação devido a uma incompatibilidade de soma de verificação de página. A soma de verificação esperada era 323677604 (0x134aeda4) e a soma de verificação real era 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 a um hardware defeituoso. Entre em contato com o fornecedor de hardware para obter mais assistência no diagnóstico do 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 semelhante a:

    Teste inicial: Replicações

    * Verificação de Replicações
    [Verificação de replicações,<Nome> do DC] Uma tentativa de replicação recente falhou:
    Do DC> de <origem para o <DC de destino>
    Contexto de nomenclatura: <caminho DN do contexto de nomenclatura com 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 controlador de domínio de origem e seleciona Replicar agora, o comando falha e gera uma mensagem semelhante a:

    O seguinte erro ocorreu durante a tentativa de sincronizar o contexto <de nomenclatura %nome da partição do diretório%> do DC> de Origem do Controlador <de Domínio para o DC> de Destino do Controlador <de Domínio:
    "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 o acompanham produz as seguintes informações:

C:>err 8451
para decimal 8451 / hexadecimal 0x2103 :
ERROR_DS_DRA_DB_ERROR winerror.h
A operação de replicação encontrou um erro de banco de dados.
2 jogos encontrados para "8451"

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

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

C:>err -1603
para decimal -1603 / hex 0xfffff9bd :
JET_errNoCurrentRecord esent98.h
/Moeda não registrada/
1 partidas 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. (execute a desfragmentação offline para recuperar gratuitamente/não utilizado
LongValueIDs)
/
1 partidas encontradas para "-1075"

C:>err -1601
para decimal -1601 / hex 0xfffff9bf :
JET_errRecordNotFound esent98.h
/A chave não foi encontrada/
1 partidas 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 jogos encontrados 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 jogos encontrados para "-1018"

C:>err -1206
para decimal -1206 / hex 0xfffffb4a :
JET_errDatabaseCorrupted esent98.h
/Arquivo não banco de dados ou banco de dados 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 do banco de dados do Active Directory pode estar corrompido. Pode ser causada pelos seguintes motivos:
    • Hardware com falha:
      • Disco
      • Controller
      • Cache do controlador
    • Drivers desatualizados:
      • Controller
    • Firmware desatualizado:
      • BIOS do computador
      • Controller
      • 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 são JET_coltypLongBinary chamados de tipos de coluna de valor longo. Essas colunas são cadeias de caracteres grandes e objetos binários grandes que podem ser armazenados em árvores B+ separadas do índice primário. Quando valores longos são armazenados separadamente do registro primário, eles são inseridos internamente em uma ID de valor longo (LID).
    • Descritor de segurança inválido no atributo msExchSecurityDescriptor .

Resolução

Importante

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

Como resolver 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 é fazer a desfragmentação offline do banco de dados no servidor afetado. Para obter informações sobre como fazer isso, consulte Como executar a desfragmentação offline do banco de dados do Active Directory.

Se a desfragmentação offline não corrigir o problema, rebaixe e promova novamente o controlador de domínio afetado. Para obter informações sobre como fazer isso, consulte Rebaixando controladores de domínio e domínios.

Como resolver um problema recorrente

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

  1. Habilite o log de diagnóstico NTDS para Eventos de Replicação e Processamento Interno em um nível de 5.

    Para aumentar o log de diagnóstico NTDS, altere os seguintes valores de REG_DWORD no registro do controlador de domínio de destino na seguinte subchave do 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 registro de nível 5 é extremamente detalhado. Os valores de ambas as chaves devem ser restaurados para o padrão de 0 depois que o problema for resolvido. A filtragem do log de eventos dos Serviços de Diretório deve ser feita 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. Revise os logs de eventos para os novos eventos que foram gerados a partir do aumento do log para valores de erro que fornecerão uma exibição definitiva do erro 8451 original. Por exemplo, uma ID de Evento de Processamento Interno 1173 que tem 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, consulte a tabela a seguir para obter uma possível resolução.

    Código decimal Código hexadecimal Código de texto Mensagem de erro Possíveis resoluções
    -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. Restaure a partir do backup. Rebaixar/promover.
    -1047 0xfffffbe9 JET_errInvalidBufferSize O buffer de dados não corresponde ao tamanho da coluna 832851 Falha na replicação de entrada em controladores de domínio com ID de evento: 1699, Erro 8451 ou erro de jato -1601 Observação: esse 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 a desfragmentação offline para recuperar gratuitamente ou não utilizadoLongValueIDs) Faça a desfragmentação offline.
    -1206 0xfffffb4a JET_errDatabaseCorrupted Arquivo sem banco de dados ou banco de dados 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 de banco de dados semântico (SDA) e, em seguida, faça a desfragmentação offline. Caso contrário, restaure a partir do backup ou rebaixe/promova.
    -1414 0xfffffa7a JET_errSecondaryIndexCorrupted O índice secundário está corrompido. O banco de dados deve ser desfragmentado. Faça 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 os comandos Ntdsutil** file integrity e SDA e, em seguida, faça a desfragmentação offline. Caso contrário, restaure a partir do backup ou rebaixe 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 os comandos Ntdsutil file integrity e SDA e, em seguida, faça a desfragmentação offline.Caso contrário, restaure a partir do backup ou rebaixe e promova.
    -1603 0xfffff9bd JET_errNoCurrentRecord Moeda não registrada Verifique o hardware, o firmware e os drivers. Execute o Esentutl /comando k. Execute os comandos Ntdsutil file integrity e SDA e, em seguida, faça a desfragmentação offline.Caso contrário, restaure a partir do backup ou rebaixe 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 os comandos Ntdsutil file integrity e SDA e, em seguida, faça a desfragmentação offline. Caso contrário, restaure a partir do backup ou rebaixe/promova.
  4. Se todos esses métodos falharem, restaure o controlador de domínio de um backup ou rebaixe-o e promova-o novamente.

Mais informações

Verifique a pilha de banco de dados vertical do jato de baixo para cima (prosseguindo para a próxima camada somente depois que a camada subjacente for classificada como "boa"), da mesma forma que você faz para o TCP.

Camada Comando Ntdsutil Comando Esentutl
(1) Coerência física sem 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 dados Ntdsutil, compacto sem equivalente para SDA + Esentutl /d

Coleta de dados

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