Como solucionar problemas de firewall DTC da Microsoft

Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sumário
Este artigo descreve etapas de solução de problemas para ajudá-lo a habilitar o MS DTC (Coordenador de transações distribuídas da Microsoft) para se comunicar com outro MS DTC por um firewall. A seguinte lista contorna alguns dos problemas que podem ocorrer ao usar o MS DTC por meio de um firewall:
  • O aplicativo funciona com êxito quando a propriedade Suporte de transação dos componentes MTS ou COM+ estão definidas para Não suportado ou Suportado, mas não funciona com êxito quando essa propriedade está definida para Requer ou Requer novo.
  • A seguinte mensagem de erro é exibida:
    A nova transação não pode listar um coordenador de transação específico
  • A seguinte mensagem de erro é exibida:
    Erro 8004d00a. Erro de transação distribuído
Embora muitos outros documentos da Microsoft descrevam como corrigir o problema, este artigo resume a maioria deles.

Observação As seguintes etapas para solução de problemas foram desenvolvidas para usar apenas com os sistemas operacionais Microsoft Windows NT e Microsoft Windows 2000.
Mais Informações

Etapas para a solução de problemas:

  1. Verifique se o serviço MS DTC foi iniciado em ambos o servidores.
  2. Se o servidor estiver executando o Windows NT 4.0, será necessário reaplicar o Windows NT 4.0 Service Pack 6 (SP6) após a instalação do Windows NTOP (NT 4.0 Option Pack). Revise as versões de arquivo listadas na seguinte tabela para verificar se o Windows NT 4.0 SP6 foi reaplicado após a instalação do Windows NTOP:

    Nome do arquivoVersão após a instalação do NTOPVersão após a reinstalação do SP6
    Msdtcprx.dll1997.11.5321999.6.854.0
    Msdtctm.dll1997.11.5321999.6.854.0
    Xolehlp.dll1997.11.5321998.08.762

    Para obter mais informações sobre a instalação do Windows NTOP, consulte o seguinte documento da Microsoft:
    Procedimento de instalação recomendado do IIS 4.0
    http://support.microsoft.com/support/iis/install/install_iis4.asp
  3. Configure os dois servidores de modo que a comunicação do MS DTC flua entre o firewall. Para obter mais informações, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
    250367 INFORMAÇÕES: Configuração do DTC da Microsoft para funcionar por meio de um firewall.
    Para obter mais informações sobre como configurar as portas TCP no 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):
    300083 Como restringir as portas TCP/IP no Windows 2000 e no Windows XP
  4. Se o MS DTC ainda não funcionar por meio do firewall, baixe a ferramenta DTCPing.exe e instale-a nos dois servidores envolvidos.O seguinte arquivo está disponível para download na Central de Download da Microsoft:
    O arquivo DTCPing.exe contém os seguintes arquivos:
       Data         Hora    Versão          Tamanho    Nome do Arquivo   ----------------------------------------------------------   29-out-2003  22:56  1.8.0.1  274.490  Dtcping.exe   15-dez-2003  22:05             1.618  Eula.txt   24-nov-2003  20:59             1.560  Machinea_failure.log   24-nov-2003  20:21             1.901  Machinea_success.log   24-nov-2003  20:55               999  Machineb_failure.log   24-nov-2003  20:31             1.750  Machineb_success.log   24-nov-2003  20:15             2.325  Readme.txt
    Data de lançamento: 24 de novembro de 2003

    Para obter mais informações sobre como baixar os arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
    119591 Como obter os arquivos de suporte da Microsoft nos serviços online
    A Microsoft examinou esse arquivo em busca de vírus. A Microsoft utilizou o mais recente software de detecção de vírus disponível na data em que o arquivo foi publicado. O arquivo está armazenado em servidores de segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.
  5. Use o arquivo Readme.txt incluído no download da DTCPing.exe para testar a comunicação de RPC (Chamada de procedimento remoto) e DTC (Coordenador de transações distribuídas) do Servidor1 para o Servidor2. Se o teste tiver êxito, execute o teste do Servidor2 para o Servidor1.

    Observe que se a RPC não puder fluir em nenhuma direção, a comunicação do MS DTC falhará em ambas as direções. Se a comunicação RPC falhar, a janela DTCPing (ou um dos servidores) exibirá a falha, que também é salva no arquivo dtcping.log associado. Consulte o arquivo Readme.txt para obter mais informações. Se o teste falhar em uma das direções e o log indicar a falha na comunicação RPC, continue na próxima etapa. Se o teste falhar em uma das direções e o log indicar a falha na comunicação DTC, continue na etapa 9 abaixo.
  6. Se a RPC falhou em pelo menos uma direção (por exemplo, do Servidor1 para o Servidor2), instrua o administrador do seu firewall a verificar se o protocolo ICMP está aberto em ambas as direções.

    Observação É possível determinar normalmente se a RPC falhou lendo o arquivo dtcping.log.

    Por padrão, ICMP é a porta1. É possível verificar isto no seu arquivo de protocolo, localizado na pasta %windir%\WinNT\System32\Drivers\. Execute o ping no Servidor2 pelo nome NetBios a partir do Servidor1. Se o ping falhar, continue na próxima etapa. Caso contrário, continue na etapa 8.
  7. Execute o ping no Servidor2 pelo endereço IP a partir do Servidor1 para verificar se a porta correta está aberta para um ping no firewall. Um rastreamento do Monitor de rede pode verificar isto. Se o pingo do endereço IP tiver êxito e o ping do nome NetBios falhar, existirá um problema de resolução de nomes.

    Observação É possível usar o comando ipconfig /all para recuperar o endereço IP ou os endereços IP de um servidor.

    Uma maneira rápida de testar a resolução de nome é criar uma entrada no arquivo Hosts no servidor cliente. Este é o servidor no qual o ping do nome NetBios falha. É possível modelar a entrada com base na entrada de exemplo incluída no arquivo.

    Observação Faça uma entrada no arquivo Hosts apenas para fins de solução de problema. Se a nova entrada corrigir o problema de resolução de nome, remova a entrada do arquivo Hosts e crie a entrada necessária no DNS, no servidor WINS ou no arquivo LmHosts.

    Existem outras soluções para os problemas de resolução de nome, mas elas estão fora do escopo deste artigo.
  8. Se a execução do ping no Servidor2 a partir do Servidor1 pelo nome NetBios falhar, ou se a execução do ping no Servidor2 a partir do Servidor1 pelo nome NetBios tiver êxito, mas o teste DTCPing mostrar que a comunicação RPC ainda falha, possivelmente a Porta 135 (o Mapeador de ponto de extremidade ou EPM) não terá sido aberta de forma bidirecional no firewall. Verifique o firewall para certificar-se de que o EPM está aberto em ambas as direções. Neste ponto, um rastreamento do Monitor de rede pode ajudar a descobrir o problema.
  9. Você apenas atinge a etapa se o teste DTCPing indicar que a comunicação RPC funciona em ambas as direções. Se o DTCPing não indicar erros em nenhuma direção, as comunicações RPC e MS DTC estarão fluindo apropriadamente.
  10. Se DTCPing indicar que a comunicação DTC falhou em pelo menos uma direção (por exemplo, do Servidor1 para o Servidor2), instrua os administradores de firewall para verificar se as portas estão abertas, especificadas pelo desenvolvedor quando usou o artigo de configuração MS DTC (consulte a etapa 3). Além disso, algumas regras podem ser aplicadas ao firewall que proíbe os retornos de chamada RPC para um dos servidores (ou para ambos). Um rastreamento do Monitor de rede pode ajudá-lo a solucionar esta situação específica.
  11. Se o DTCPing retornar uma mensagem de erro semelhante à seguinte:
    Inesperado: Meu guia de sessão é o mesmo que o guia do parceiro
    verifique se o servidor atual foi duplicado ou clonado de outro servidor. Se tiver sido, localize a chave HKEY_CLASSES_ROOT\CID no Registro. Nesta chave, você poderá perceber mais de um GUID. Localize o GUID do qual a chave de Descrição seja MSDTC. Observe que o GUID também está listado na janela de saída do DTCPing. Se outros servidores tiverem o GUID exatamente igual para MS DTC em seu Registro, será necessário criar um novo GUID para MS DTC em um dos Registros. É possível usar o GuidGen para fazer isso.

    Após adicionar o novo GUID e, também, todas as chaves adjacentes à HKEY_CLASSES_ROOT\CID, lembre-se de excluir o GUID antigo que está sendo substituído.

    Se esta etapa resolver o problema, a leitura do seguinte artigo será altamente recomendada para saber mais sobre computadores que duplicam (ou "fantasmas"): Para obter mais informações, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
    162001 Não duplicar discos de versões instaladas do Windows
Propriedades

ID do Artigo: 306843 - Última Revisão: 10/29/2007 14:57:37 - Revisão: 4.1

Microsoft COM+ 1.0, Microsoft Transaction Services 2.0

  • kbproductlink kbdownload kbdtc kbhowto KB306843
Comentários