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

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

Neste artigo

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:
    Recolher esta tabelaExpandir esta tabela
    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 
    GO
    USE  pubs
    GO
    BEGIN DISTRIBUTED TRANSACTION
    SELECT  *  FROM remote_server.pubs.dbo.authors
    COMMIT TRAN
    GO
    
    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):
http://msdn2.microsoft.com/en-us/library/ms687608.aspx

Propriedades

ID do artigo: 827805 - Última revisão: quarta-feira, 5 de dezembro de 2007 - Revisão: 4.7
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft COM+ 1.5
Palavras-chave: 
kbmt kbinfo kbtshoot kbtransaction kbsecurity kbrpc kbauthentication kbdtc kbdomain KB827805 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: 827805

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