Como solucionar um erro OBJ_CLASS_VIOLATION no Adamsync no Windows Server 2003 ou no Windows Server 2008

Traduções deste artigo Traduções deste artigo
ID do artigo: 923835 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como solucionar problemas de um erro de OBJ_CLASS_VIOLATION que ocorre quando você usar a ferramenta Adamsync no Windows Server 2003 ou no Windows Server 2008.

Este erro ocorre devido a diferenças de definição de classe entre o serviço de diretório Active directory e a instância do ADAM. Para solucionar esse problema, execute as etapas que são descritos nas seções a seguir:
  • Determinar o atributo e classe do objeto
  • Etapas para resolver o problema quando atributos pertencem à classe TOP
  • Etapas para resolver o problema quando atributos não pertencem à classe TOP
Contate o suporte da Microsoft se você não pode resolver o problema.

Sintomas

Você tenta usar a ferramenta ADAM (Active Directory Application Mode) sincronizador (Adamsync.exe) para sincronizar os objetos do Active Directory para uma instância do ADAM em um computador baseado no Windows Server 2003 ou com base em Windows Server 2008. No entanto, uma mensagem de erro semelhante à seguinte é registrada no arquivo de log Adamsync:
Processamento de entrada: Página X, quadros X, X de entrada, contagem X, USN X processamento <guid=f9023a23e3a06d408f07a0d51c301f38> f9023a23e3a06d408f07a0d51c301f38 de entrada no escopo de processamento de entrada de fonte. Adicionar destino objeto CN =TestGroup, OU = Accounts, dc = domain, dc = com. Adicionando atributos: sourceobjectguid, objectClass, instanceType, displayName, info, adminDescription, displayNamePrintable, userAccountControl, página de código, countryCode, logonHours, primaryGroupID, comentário, accountExpires, sAMAccountName, desktopProfile, legacyExchangeDN, userPrincipalName

Erro de LDAP. ldap_add_sW: violação de classe de objeto. Informações estendidas: 0000207D: UpdErr: DSID-0315119D, problema 6002 (OBJ_CLASS_VIOLATION), dados-2054643804

Causa

Esse problema ocorre devido as diferenças de definição de classe entre o Active Directory e ADAM. Essa diferença é exibida quando você tentar modificar um objeto para incluir um atributo é inválido para sua classe. Por exemplo, o atributo não está definido no esquema do ADAM, ou o atributo é definido mas o atributo não estiver presente na lista de atributos obrigatório ou opcional para a classe específica. Normalmente, a segunda situação é a causa mais freqüente desse problema.

A definição de classe do objeto que é a serem sincronizados contém um ou mais atributos no Active Directory não estão disponíveis no ADAM. A seção "Adicionar atributos" da mensagem de erro mencionada na seção "Sintomas" exibe os atributos que você tentar adicionar. Esses atributos são definidos na lista de atributos obrigatórios para a classe do objeto que está sendo sincronizado ou opcional.

Por exemplo, na mensagem de erro mencionada na seção "Sintomas", o objeto de referência é CN = TestGroup. Quando você exibir o CN=TestGroup objeto no Active Directory e verifique a lista de atributos para essa classe e todas as classes de pai, você verá que um ou mais atributos nesta lista não estão na lista de atributos obrigatório ou opcional que estão ativados para essa classe no ADAM.

Observação Isso inclui listas de atributo de todas as classes pai.

Resolução

Para resolver esse problema, execute essas etapas.

Determinar os atributos e a classe do objeto

  1. Verifique se a lista de atributos que estão sendo adicionados ao objeto que falhou. Você pode determinar o objeto que falharam exibindo a mensagem de erro no log de sincronização. O objeto com falha é sempre o último objeto que é indicado no final do log de sincronização exatamente antes da mensagem de erro. Por exemplo, o CN=TestGroup objeto falhou na mensagem de erro mencionada na seção "Sintomas".
  2. Determinar se os atributos DisplayNamePrintable , sinalizadores ou Nome_da_extensão estão incluídos na mensagem de erro. Se um desses atributos estiver incluído na mensagem de erro, consulte a seção "Passos para resolver o problema quando atributos pertencem à classe TOP". Se não atributos estão inclusos na mensagem de erro, consulte a seção "Passos para resolver o problema quando atributos não pertencem à classe TOP".

Etapas para resolver o problema quando atributos pertencem à classe TOP

Você verá que a classe TOP no esquema do Active Directory contém o atributo DisplayNamePrintable , sinalizadores ou Nome_da_extensão . No entanto, esses atributos não estão contidos na classe TOP no ADAM. No entanto, você não pode alterar a classe TOP no ADAM. Portanto, use um dos seguintes métodos para resolver o problema:
  • Exclua esses atributos usando a seção <exclude> no arquivo de configuração XML.
  • Usando o esquema do MMC, adicionar manualmente esses atributos à lista de atributos opcionais para a classe relevante no esquema do ADAM. Por exemplo, na mensagem de erro mencionada na seção "Sintomas", o objeto com falha é da classe grupo. Portanto, você deve adicionar esses atributos à lista de atributos opcionais para a classe de grupo no ADAM.

Etapas para resolver o problema quando atributos não pertencem à classe TOP

  1. Em ADSchemaAnalyzer, em Ferramentas \ menu Opções , clique em Update com referências aos elementos novos e presentes na guia geração de LDIF .
  2. Use o menu arquivo para carregar o Active Directory como o esquema de destino e o ADAM como o esquema base. Aguarde até que a ferramenta para comparar os esquemas de término.
  3. No menu esquema , clique em Marcar todos os elementos como incluídas .
  4. No menu arquivo , clique em arquivo LDIF criar para criar um arquivo LDF que contém as alterações.

    Observação Se você importar esse arquivo LDF diretamente para o ADAM, os atributos necessários provavelmente não serão adicionados ou modificados corretamente. Além disso, nenhuma mensagem de erro é exibida. Consulte a seção "Por que você não pode importar o arquivo LDF diretamente para o ADAM" para uma explicação de por que isso ocorre. Nesse caso, vá para etapa 5, sem importar o arquivo LDF.
  5. Examine o arquivo LDF que você criou na etapa 4. Especificamente, exiba a classe que está causando o problema. Por exemplo, exibir a classe de grupo. A seção para essa classe irá conter a lista de atributos que estão presentes na lista de atributos obrigatório ou opcional para essa classe no Active Directory mas que estão faltando no ADAM.
  6. Localizar o atributo de problema no arquivo LDF. Para fazer isso, examine a seção "#attributes" no arquivo LDF. Atributos que não são importados permanecem nesta seção. Normalmente, o atributo de problema é o único atributo que você encontrar na seção "#attributes". Se você localizar o atributo de problema, vá para a etapa 8. Se você não encontrar o atributo de problema, vá para a etapa 7.
  7. Se o atributo problema não é óbvio na seção "#attributes" no arquivo LDF, execute essas etapas para localizar o atributo de problema:
    1. No momento todas as modificações para uma classe estão em uma seção no arquivo LDF. Essa é a seção "#Updating presente elements". Nesta seção, localize a seção que atualiza a classe que tenha o problema. Por exemplo, a classe de grupo é o problema, você encontrará uma seção semelhante à seguinte: elemento
      # Update element: group
      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: adminCount
      mayContain: 1.2.840.113556.1.4.150
      # mayContain: controlAccessRights
      mayContain: 1.2.840.113556.1.4.200
      # mayContain: groupAttributes
      mayContain: 1.2.840.113556.1.4.152
      # mayContain: groupMembershipSAM
      mayContain: 1.2.840.113556.1.4.166
      -
      
      NoteSome more entries that may be located here have been excluded from this example.
      
      dn: 
      changetype: modify
      add: schemaUpdateNow
      schemaUpdateNow: 1
      
    2. Altere as entradas localizado na etapa 4a dividindo as entradas em um único atributo por operação. Por exemplo, alterar as entradas no exemplo da etapa 7a usando entradas semelhantes aos seguintes:
      # Update element: group
      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: adminCount
      mayContain: 1.2.840.113556.1.4.150
      -
      
      # Update element: group
      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: controlAccessRights
      mayContain: 1.2.840.113556.1.4.200
      -
      
      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: groupAttributes
      mayContain: 1.2.840.113556.1.4.152
      -
      
      dn: cn=Group,cn=Schema,cn=Configuration,dc=X
      changetype: modify
      add: mayContain
      # mayContain: groupMembershipSAM
      mayContain: 1.2.840.113556.1.4.166
      -
      
      Note Some more entries that may be located here have been excluded from this example.
      
      
      dn: 
      changetype: modify
      add: schemaUpdateNow
      schemaUpdateNow: 1
      
  8. Salve o arquivo LDF.
  9. Importe o arquivo LDF para o esquema do ADAM usando o comando que é fornecido no início do arquivo LDF.
  10. Exiba o relatório é exibido, o utilitário Ldifde. Ldifde agora irá relatar erros que ocorrem com os atributos que não foram importados. As informações de erro serão semelhante as informações de exemplo a seguir:
    C:\WINDOWS\ADAM>ldifde -i -u -f c:\data\problem\KBtest_modified.ldf -s localhost:50010 -j . -c "cn=Configuration,dc=X" #configurationNamingContext
    Connecting to "localhost:50010"
    Logging in as current user using SSPI
    Importing directory from file "c:\data\problem\KBtest_modified.ldf"
    Loading entries.
    Add error on line 15: Already Exists
    The server side error is: 0x2071 An attempt was made to add an object to the
    ectory with a name that is already in use.
    The extended server error is:
    00002071: UpdErr: DSID-0305030D, problem 6005 (ENTRY_EXISTS), data 0
    

    Observação Localize o atributo problema no arquivo LDF exibindo o número da linha que é indicado no relatório de erro.
  11. Use as informações deste erro para localizar o atributo de problema e resolver o problema. Siga estas etapas para tentar resolver o problema:
    1. Localize o atributo problema no arquivo LDF exibindo o número da linha que é indicado no relatório de erro. O atributo falha pode ter um prefixo "DUP-" o DisplayName.
    2. Observe o identificador de objeto (OID) do atributo e procure esse identificador de objeto no ADAM.
    3. Localizar o atributo no ADAM tem o mesmo identificador de objeto.
    4. Compare o atributo no ADAM e no arquivo LDF para localizar as diferenças. Por exemplo, os atributos podem ter um DisplayName diferente, mas o mesmo identificador de objeto.
    5. Decidir qual atributo para manter e, em seguida, corrija outro. Por exemplo, você pode remover a entrada do arquivo LDF, ou você pode corrigir a entrada de atributo do ADAM. Ou, você pode excluir o atributo de problema de sincronização usando a seção <exclude> no arquivo de configuração XML.
  12. Depois que o atributo de problema é corrigido no Active Directory ou no esquema do ADAM ou após o atributo é removido do arquivo LDF, importe o arquivo LDF modificado novamente. Agora a operação de importação deve ser bem-sucedida. Se o problema não for resolvido, pode haver outro atributo que está causando o problema. Repita as etapas 10 a 12 até que todos os atributos são importados.

Log de diagnóstico

Quando você localizar o atributo de problema, talvez não seja óbvio o que está errado com ele. Por exemplo, você não pode localizar um identificador de objeto duplicado ou uma entrada DisplayName diferente. Quando um atributo de problema não é importado, você pode obter mais informações sobre a falha ativando o log de depuração para a interface LDAP. Para fazer isso, execute as seguintes etapas:
  1. Para obter mais informações sobre a falha Ldifde, ative LDAP logon ADAM. Para fazer isso, altere o valor da entrada de registro de
    Category 16 LDAP Interface events
    para 5. Essa entrada do Registro está localizada na seguinte subchave do Registro:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ADAM_instanceName\Diagnostics
  2. Importe o arquivo LDF novamente.
  3. Consulte o log de eventos de erros.
  4. Após concluir a solução de problemas, redefina o valor da entrada de registro de
    Category 16 LDAP Interface events
    como 0. Caso contrário, o log de eventos serão inundado.

Entre em contato com o suporte da Microsoft

Se o problema não for resolvido depois de concluir as etapas neste artigo, contate o suporte da Microsoft. Clique no seguinte link para acessar o suporte da Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Situação

Esse comportamento é por design.

Mais Informações

Para sincronizar dados do Active Directory para ADAM usando a ferramenta Adamsync, execute estas etapas:
  1. Clique em Iniciar , aponte para Todos os programas , aponte para o ADAM e, em seguida, clique em ADAM Tools Command Prompt .
  2. No prompt de comando, digite o seguinte comando e pressione ENTER:
    adamsync /fs Server_Name: port_number configurationName /log log_file_name .log
Para obter mais informações sobre como usar a ferramenta Adamsync, visite os seguintes sites:
http://technet2.microsoft.com/windowsserver2008/en/library/ca49911b-d004-4497-b369-6506495fb30f1033.mspx?mfr=true

http://technet2.microsoft.com/windowsserver/en/library/809c8d09-cc99-4e7e-a80d-e77c5aefb3211033.mspx?mfr=true

Por que você não pode importar o arquivo LDF diretamente para o ADAM

Se você importar o arquivo LDF que você criou na etapa 1 na seção "Passos para resolver o problema quando atributos não pertencem à classe TOP" em ADAM, esses atributos ainda não são adicionados à lista de atributo no ADAM. Você pode verificar esse comportamento usando o esquema do ADAM MMC ou ADSIEDIT para examinar o esquema. Esse comportamento ocorre porque o Ldifde importar operação falhar silenciosamente. Atualmente, a LDIFDE não relata erros. Falha silenciosamente devido à forma como ADSchemaAnalyzer constrói o arquivo LDF. ADSchemaAnalyzer usa os comandos ntdsschemaadd e ntdsSchemamodify . Esses comandos ativar controle LDAP permissiva. Isso significa que qualquer falha é silenciosa.

Além disso, para cada classe, todos os atributos a serem adicionados à lista de atributos opcionais são adicionados em uma operação Adicionar/modificar. Portanto, se houver um problema adicionando um dos atributos, a operação de inteira falhará, e não atributos na lista são adicionados. Portanto, devem ser seguidas etapas adicionais para localizar o atributo de problema.

Normalmente, o provável motivo da falha é um identificador de objeto duplicado de um atributo ou alguns outra diferença nas definições de atributo no Active Directory e ADAM. No Windows Server 2003, ADSchemaAnalyzer usa o LdapDisplayName de atributos e classes para comparar o Active Directory e ADAM. Isso significa que duplicar OIDs pode ser perdida e um atributo pode ser visto como um novo atributo se o LDapDisplayName não existir no ADAM. No Windows Server 2008 (Active Directory/LDS), ADSchemaAnalyzer usa o identificador de objeto e reportará conflitos se encontrado.

Propriedades

ID do artigo: 923835 - Última revisão: quarta-feira, 16 de julho de 2008 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Palavras-chave: 
kbmt kbprb kbtshoot KB923835 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 923835

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com