ID do artigo: 867520 - Última revisão: sexta-feira, 13 de abril de 2007 - Revisão: 2.2

Não é possível iniciar o serviço MSDTC (Coordenador de transações distribuídas da Microsoft) em um computador com base em Windows 2000 Server que faz parte de um cluster de servidor

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Importante Este artigo contém informações sobre como modificar o Registro. Antes de modificá-lo, faça um backup e certifique-se de que saiba como restaurá-lo caso ocorra algum problema. Para obter informações sobre como fazer backup, restaurar e modificar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
256986  (http://support.microsoft.com/kb/256986/ ) Descrição do Registro do Microsoft Windows
Expandir tudo | Recolher tudo

Sintomas

No computador com base em Microsoft Windows 2000 Server que faz parte do cluster de servidor, a seguinte mensagem de erro é exibida:
Erro ao processar a última operação. Código de erro 8004E00F - COM+ não pôde se comunicar com o Coordenador de transações distribuídas da Microsoft.
Não é possível iniciar o serviço MSDTC (Coordenador de transações distribuídas da Microsoft).

Os seguintes eventos poderão estar conectados ao log de eventos do aplicativo:
Identificação do evento: 4099
Tipo: Erro
Origem: COM+
Descrição:
O ambiente em tempo de execução não foi capaz de inicializar para transações necessárias para suporte a componentes de transação. Certifique-se de que o MSDTC está em execução. (DtcGetTransactionManagerEx{}: hr = 0x8004d01b

Identificação do evento: 4097
Tipo: Erro
Origem: MSDTC
Descrição:
O MSDTC foi iniciado com a seguinte configuração:
Configuração de segurança (OFF = 0 e ON = 1):
Administração de rede das transações = 1,
Clientes em rede = 0,
Transações distribuídas usando protocolo MSDTC nativo = 1,
Protocolo de transação da Internet (TIP) = 0, XA
Transações = 1

Identificação do evento: 4395
Tipo: Erro
Origem: MSDTC
Descrição:
O MSDTC detectou que informações relacionadas ao MSDTC no Registro local são diferentes do Registro de cluster compartilhado. Especificações do erro: d:\nt\com\com1x\dtc\shared\mtxclu\mtxclusetuphelper.cpp:541,
CmdLine: C:\WINNT\System32\msdtc.exe, Pid: 796

Identificação do evento: 4384
Tipo: Erro
Origem: MSDTC
Descrição:
Não foi possível iniciar o MSDTC porque a instalação não estava configurada para ser executada em um cluster. Execute o arquivo comclust.exe e reinicie o MSDTC. Especificações do erro: d:\nt\com\com1x\dtc\shared\mtxclu\mtxclusetuphelper.cpp:668,
CmdLine: C:\WINNT\System32\msdtc.exe, Pid: 796

Causa

Esse comportamento ocorre se as seguintes condições forem verdadeiras:
  • O serviço MSDTC foi instalado como um recurso não agrupado em um cluster com base em Windows 2000 Server.
  • Você instalou a atualização de software MS04-012.

    Observação A atualização de software MS04-012 está inclusa no pacote cumulativo do hotfix 27 do Windows 2000 pós-Service Pack 4 COM+.
A atualização de software MS04-012 inclui uma alteração no proxy do MSDTC (Msdtcprx.dll). A atualização de software revela o requisito para que o serviço MSDTC seja configurado como um recurso agrupado. Após instalar a atualização, é possível iniciar o serviço MSDTC no cluster local, já que o serviço é inicializado antes do serviço de cluster ser iniciado. Entretanto, se o serviço MSDTC for interrompido após a execução do serviço Cluster, não será possível reiniciar o MSDTC até que o servidor seja reiniciado.

Para obter mais informações sobre a atualização MS04-012, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
822473  (http://support.microsoft.com/kb/822473/ ) Erro quando uma instância independente do SQL Server está em ambiente de cluster
Observação Se você instalar o MSDTC como recurso não agrupado, essa configuração poderá gerar transações órfãs. Transações órfãs podem causar corrupção de dados se ocorre falha no cluster. Não recomendamos ou oferecemos suporte para essa configuração. Por padrão, o Microsoft Windows Server 2003 requer a instalação do MSDTC como recurso agrupado.

Resolução

Para resolver esse problema, execute as seguintes etapas:

Aviso O uso incorreto do Editor do Registro pode causar sérios problemas que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor do Registro possam ser solucionados. O uso do Editor do Registro é de sua responsabilidade.
  1. Conecte com ambos os nós usando um cliente do Terminal Services ou no console.
  2. Mova todos os recursos para um único nó. Esse nó se torna o nó ativo.
  3. Em ambos os nós, use o Editor do Registro para excluir as seguintes subchaves do Registro:
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
    • HKEY_CLASSES_ROOT\CID
    Para fazer isto, execute as seguintes etapas:
    1. Clique em Iniciar, em Executar, digite regedit e clique em OK.
    2. Localize e clique com o botão direito do mouse na seguinte subchave do Registro:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
    3. Clique em Excluir.
    4. Clique em Sim para confirmar a exclusão.
    5. Repita as etapas de a até d para as subchaves
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
      e
      HKEY_CLASSES_ROOT\CID
      .
    6. Encerre o Editor do Registro.
  4. No nó ativo, crie a pasta "DTClog" na unidade de quorum. Por exemplo, crie a pasta Q:\DTClog.
  5. Se não for possível visualizar a unidade de quorum no Windows Explorer ou no prompt de comando, use o utilitário DCOMCNFG (Dcomcnfg.exe) para verificar a configuração. Para usar o utilitário DCOMCNFG, execute as seguintes etapas:

    Observação Se tiver o Oracle instalado, esse procedimento talvez redefina os valores e trave as contas de administrador e a conta do sistema.
    1. Clique em Iniciar, em Executar, digite dcomcnfg e clique em OK.
    2. Clique na guia Segurança padrão.
    3. Em Permissões padrão de acesso, clique em Editar Padrão.
    4. Verifique as seguintes permissões de acesso padrão:
      • SYSTEM Permitir acesso
      • INTERATIVO Permitir acesso
      • Administradores Permitir acesso
      Se uma entrada estiver faltando, clique em Adicionar, clique na conta que deseja adicionar, clique em Adicionar e clique em OK.

      Observação É possível observar uma conta da conta de administrador de cluster. Essa conta faz parte do grupo dos administradores. Por exemplo, se a conta de administrador de cluster for chamada CLUSADMIN, pode ser possível visualizar Permitir acesso CLUSADMIN.
    5. Quando concluir, clique em OK.
    6. Em Permissões padrão para iniciar, clique em Editar padrão.
    7. Verifique as seguintes permissões:
      • SYSTEM Permitir inicialização
      • INTERATIVO Permitir inicialização
      • Administradores Permitir acesso
      Se uma entrada estiver faltando, clique em Adicionar, clique na conta que deseja adicionar, clique em Adicionar e clique em OK.
    8. Ao terminar, clique em OK duas vezes.
    9. Se alterar a configuração do utilitário DCOMCNFG, será necessário efetuar logoff e depois efetuar logon novamente para ter as permissões de acesso.
  6. Em ambos os nós, interrompa o serviço MSDTC. Para fazer isto, digite o seguinte comando em um prompt de comando e pressione ENTER:
    net stop msdtc
    Verifique se uma mensagem, indicando que o serviço MSDTC foi interrompido com êxito é exibida.
  7. Em ambos nós, remova o MSDTC. Para fazer isto, digite o seguinte comando em um prompt de comando e pressione ENTER:
    msdtc -uninstall
  8. Em ambos os nós, verifique se o serviço Coordenador de transações distribuídas foi removido do snap-in Serviços. Para iniciar o snap-in Serviços, clique em Iniciar, em Executar, digite services.msc e clique emOK.
  9. Instale o MSDTC como recurso de cluster em ambos os nós, o ativo e o passivo. Primeiro, instale o MSDTC no nó ativo. Depois, instale o MSDTC no nó passivo. Para fazer isto, execute as seguintes etapas:
    1. No nó ativo, digite o seguinte comando no prompt de comando e pressione ENTER:
      comclust
      Após a conclusão do Assistente do cluster COM (Comclust.exe), o programa retornará ao prompt de comando. Não feche o prompt de comando.
    2. No nó passivo, digite o seguinte comando no prompt de comando e pressione ENTER:
      comclust
      Após a conclusão do Assistente do cluster COM, o programa retornará ao prompt de comando.
    3. Feche o prompt de comando no nó passivo. É necessário fechar o prompt de comando no nó passivo primeiro.
    4. Feche o prompt de comando no nó ativo.
    Para obter mais informações sobre como instalar o MSDTC como recurso agrupado em um ambiente do Windows 2000, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês).
    290624  (http://support.microsoft.com/kb/290624/ ) Como configurar o MSDTC em um ambiente de cluster do Windows 2000
  10. Verifique se nenhuma mensagem de erro é exibida e que o serviço MSDTC está instalado. Além disso, verifique se o recurso MSDTC foi adicionado ao grupo de cluster.

    Observação Se a seguinte mensagem de erro for exibida, reinicie todos os nós e tente a etapa 9 novamente:

    C:\Documents and Settings\Administrator>comclust Setting up MS DTC. A instalação detectou que a configuração atual do cluster não contém nenhum grupo de recursos no qual o MSDTC possa ser criado. A instalação do MSDTC requer que o cluster contenha pelo menos um grupo de recursos que contenha um recurso de nome de rede e um de disco compartilhado. A instalação também requer que esse grupo de recursos pertença ao primeiro nó no cluster em que será executada. Execute a instalação novamente após realizar as alterações apropriadas à configuração do cluster.
  11. Verifique se o recurso agrupado MSDTC está funcionando corretamente. Para fazer isto, tente o seguinte:
    1. Verifique se é possível mover o grupo de cluster de um nó para outro e de volta para o primeiro nó.
    2. Verifique se é possível executar o snap-in Serviços de componente sem erros. Para fazer isto, clique em Iniciar, aponte para Programas, para Ferramentas administrativas e clique em Serviços de componente. No snap-in Serviços do componente, expanda Serviços do componente, expanda Computadores, expanda Meu computador e expanda Aplicativos COM+.
    3. Use o Visualizador de eventos para verificar o log de eventos do sistema e o log de eventos do aplicativo quanto a mensagens de erro relacionadas.

Referências

Para obter mais informações sobre o MSDTC como recurso agrupado, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
305742  (http://support.microsoft.com/kb/305742/ ) Mensagens de erro ao iniciar o MSDTC em um nó de servidor cluster podem ser exibidas
296313  (http://support.microsoft.com/kb/296313/ ) Falha na Instalação quando o MSDTC não está configurado como recurso de cluster
301600  (http://support.microsoft.com/kb/301600/ ) Como configurar o Coordenador de transações distribuídas da Microsoft em um cluster do Windows Server 2003

A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Advanced Server
Palavras-chave: 
kbclustering kberrmsg kbtshoot kbprb KB867520