locked
Erro na transação distribuída - SQL SERVER 2008 RRS feed

  • Pergunta

  • Pessoal bom dia,

    Não estou conseguindo executar uma transação distribuída. Aparece o erro abaixo:

    OLE DB provider "SQLNCLI10" for linked server "SRV_RM4" returned message "The transaction manager has disabled its support for remote/network transactions."

     

    Query:

    SET REMOTE_PROC_TRANSACTIONS ON
    BEGIN DISTRIBUTED TRANSACTION
    begin try

    commit
    end try
    begin catch

     rollback
    end catch;'

     

    Existem portas específicas para liberar no firewall?

     

    abs,

    quinta-feira, 24 de novembro de 2011 12:54

Respostas

  • MJSIQ

    Verifique se opcao de Distributed Transaction esta ativada no MSDTC

    Sart / All programs / Administrative Tools / Component Services

    Expanda a Component Services / Computers

    Se for Win 2008
       Expanda My Computer / Distributor Transaction Coordinator / botao direito em Local DTC e properties

    Vá até a aba Security e marque as opcoes
    - Network DTC Access
    - Allow Inbound
    - Allow Outbound
    - No Authentication Required

    Reinicie o DTC

    Se For Win 2003
     Clique com o botao direito em My Computers e cliquem em properties
    Clique no botão Secutiy e marque as opcoes

     Allow Inbound
    - Allow Outbound
    - No Authentication Required



    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    terça-feira, 29 de novembro de 2011 13:56
    Moderador

Todas as Respostas

  • MJSIQ,

    Como você esta realizando uma transação distribuída, é necessário que alguns protocolos de rede estejam ativos, verifique o protocolo Named Pipes.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 26 de novembro de 2011 23:53
    Moderador
  • Olá Junior,

    Obrigado pelo retorno. Já está habiliatdo o protocolo Named Pipes.

    A query é a seguinte:

    BEGIN TRANSACTION
       insert into SRV_FINAL.CEREBRO20.dbo.Pais_Pais(Pais_nome) values('teste transacao2')
    COMMIT

    A mensagem de erro:

    OLE DB provider "SQLNCLI10" for linked server "SRV_FINAL" returned message "No transaction is active.".
    Msg 7391, Level 16, State 2, Line 2
    The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "SRV_FINAL" was unable to begin a distributed transaction.

     

    abs,

     

     

    segunda-feira, 28 de novembro de 2011 18:42
  • Mj,

     

    Faça 2 testes:

    Validação do linked server: Faça um select utilizando o linked server e veja se funcionar

    Se funcionar, va em services do windows, e veja se um servico chamado "Distributed Transaction Coordinator" esta iniciado.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 29 de novembro de 2011 12:53
    Moderador
  • MJSIQ

    Verifique se opcao de Distributed Transaction esta ativada no MSDTC

    Sart / All programs / Administrative Tools / Component Services

    Expanda a Component Services / Computers

    Se for Win 2008
       Expanda My Computer / Distributor Transaction Coordinator / botao direito em Local DTC e properties

    Vá até a aba Security e marque as opcoes
    - Network DTC Access
    - Allow Inbound
    - Allow Outbound
    - No Authentication Required

    Reinicie o DTC

    Se For Win 2003
     Clique com o botao direito em My Computers e cliquem em properties
    Clique no botão Secutiy e marque as opcoes

     Allow Inbound
    - Allow Outbound
    - No Authentication Required



    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    terça-feira, 29 de novembro de 2011 13:56
    Moderador
  • Olá Marcelo, obrigado pelo retorno.

    Já fiz isso..E nada..

    Uma dúvida: Nesse processo estão envolvidos dois servidores, onde um está  na nuvem e outro na minha rede interna. Eu fiz isso nos dois..É isso mesmo?

    Perguntas:

    - Tem portas específicas para serem liberadas no firewall?

    - Com eu faço pra atualizar o SQL, inclusive com as atualização cumulativas?

     

    abs,

     

    quarta-feira, 30 de novembro de 2011 11:17
  • Olá Fabrizzio, obrigado pelo retorno.

    O linked server está funcionando..e o serviço também está iniciado..

    Uma dúvida: Nesse processo estão envolvidos dois servidores, onde um está na nuvem e outro na minha rede interna.

    Perguntas:

    - Tem portas específicas para serem liberadas no firewall?

    - Com eu faço pra atualizar o SQL, inclusive com as atualização cumulativas?

     

    abs,

    quarta-feira, 30 de novembro de 2011 11:19