MSDTC Falha ao autenticar mutuamente quando computadores não são executados no mesmo domínio

O suporte para o Windows Server 2003 termina em 14 de julho de 2015.

A Microsoft terminou o suporte para o Windows Server 2003 em 14 de julho de 2015. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

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: 827805
Sintomas
Quando dois computadores que não estejam executando no mesmo domínio usam o Microsoft Distributed Transaction Coordinator (MSDTC) para comunicação e para transações distribuídas, a autenticação mútua pode falhar.

Quando você executa uma transação distribuída em um servidor vinculado no Microsoft SQL Server 2000 em um computador que está executando o Microsoft Windows Server 2003 Enterprise Edition, você receberá a seguinte mensagem de erro:
Servidor: Mensagem 7391, nível 16, estado 1, linha 2
A operação não pôde ser executada porque o provedor OLE DB 'SQLOLEDB' não pôde iniciar uma transação distribuída. Provedor OLE/DB retornado mensagem: nova transação não pode se inscrever no coordenador de transação especificada.
Causa
O proxy MSDTC pode não autenticar MSDTC corretamente quando os computadores estão se comunicando não estão no mesmo domínio.
Como Contornar
importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows


Para obter informações sobre como editar o registro, consulte o tópico da Ajuda "Alterar chaves e valores" no Editor do Registro (Regedit.exe) ou tópicos de Ajuda "Adicionar e excluir informações no Registro" e "Editar dados de registro" no Regedt32.exe. Microsoft recomenda que você faça backup do registro antes de editá-lo.

Para contornar este problema, desative o RPC segurança nos computadores Windows Server 2003. Segurança RPC é um DTC novo recurso do Windows Server 2003. Quando você desativar a segurança RPC, o DTC nível de segurança de autenticação para chamadas RPC volta a um nível que está disponível no Microsoft Windows 2000 Server. Para fazer isso, siga estas etapas para definir o valor DWORD para o valor de registro TurnOffRpcSecurity para 1:
  1. Inicie o Editor do Registro (Regedt32.exe).
  2. Localize a seguinte chave no Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
  3. No menu Editar , clique em Adicionar valor e adicione o seguinte valor do Registro:
    Nome do valorTipo de dadosValor
    TurnOffRpcSecurityREG_DWORD1
  4. Feche o Editor do Registro.
Observação Após a instalação do Windows Server 2003 Service Pack 1, a entrada do Registro TurnOffRpcSecurity é definida como 0. Você precisará restaurar o valor para 1 usando o Editor do registro antes de reiniciar o computador.
Situação
Esse comportamento é por design.
Mais Informações

Etapas para reproduzir o comportamento

  1. Verifique se ambos os computadores estão executando o Windows Server 2003.
  2. Instale o SQL Server 2000 com Service Pack 3 (SP3) nos dois computadores.
  3. Certifique-se que o MSDTC esteja iniciado nos dois computadores.
  4. No primeiro computador, inicie o SQL Query Analyzer (Isqlw.exe) utilitário e conecte ao SQL Server local.
  5. Adicione o segundo computador como o servidor vinculado. Para fazer isso, execute a seguinte instrução Transact-SQL no SQL Query Analyzer:
    EXEC sp_addlinkedserver  'remote_server',  N'SQL SERVER'GO
    Observação substituir remote_server com o nome do segundo computador.
  6. Execute a seguinte instrução Transact-SQL no SQL Query Analyzer:
    SET xact_abort ON GOUSE  pubsGOBEGIN DISTRIBUTED TRANSACTIONSELECT  *  FROM remote_server.pubs.dbo.authorsCOMMIT TRANGO
    você pode receber a mensagem de erro mencionada na "Sintomas" seção deste artigo.
Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
329332Erro 7391 quando você executa uma transação distribuída em um servidor vinculado
Para obter mais informações sobre Microsoft COM + 1.5, visite o seguinte site da Web Microsoft Developer Network (MSDN):

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 827805 - Última Revisão: 12/05/2007 09:36:35 - Revisão: 4.7

Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft SQL Server 2000 Enterprise Edition, Microsoft COM+ 1.5

  • kbmt kbinfo kbtshoot kbtransaction kbsecurity kbrpc kbauthentication kbdtc kbdomain KB827805 KbMtpt
Comentários