Olá Pessoal,
Quando você criar um linked server entre servidores SQL Server, ao tentar utilizá-lo você pode ter o seguinte erro:
1 2 3 |
OLE DB provider "SQLNCLI11" for linked server "XYZLink" returned message "The transaction manager has disabled its support for remote/network transactions.". <span style="color: #ff0000;">Msg 7391, Level 16, State 2, Procedure up_abcd, Line 74</span> <span style="color: #ff0000;">The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "XYZLink" was unable to begin a distributed transaction.</span> |
Em meu caso, eu tinha uma procedure que iria chamar outra procedure localizada em outro servidor, onde ocorreu o erro acima.
Para solucionar este problema, você deverá localizar o serviço MSDTC rodando em seu servidor:
A solução consiste em você configurar apropriadamente este serviço indo em “Control Panel\System and Security\Administrative Tools” e abrindo “Component Services”. Após abrir, vá em “Properties”:
Será exibida uma nova tela, onde você irá configurar da seguinte forma:
Após configurar será exibida uma mensagem mostrando a necessidade de reiniciar o serviço MSDTC, faça isso através do Windows Service, localizando o serviço de nome “Distributed Transaction Coordinator”.
1 2 3 4 5 6 7 |
PS C:\Windows\system32> net stop msdtc The Distributed Transaction Coordinator service is stopping. The Distributed Transaction Coordinator service was stopped successfully. PS C:\Windows\system32> net start msdtc The Distributed Transaction Coordinator service is starting. The Distributed Transaction Coordinator service was started successfully. |
Faça esta configuração em ambos servidores envolvidos no Linked Server, ou seja, o servidor de origem e destino.
Em meu caso resolveu e no seu?
Até a próxima pessoal.
Obrigado por estar aqui.
Vithor da Silva e Silva | DBA SQL Server
vithor@vssti.com.br
Outras fontes:
http://blog.sqlauthority.com/2016/01/12/sql-server-fix-msg-7395-level-16-state-2-unable-to-start-a-nested-transaction-for-ole-db-provider/
Excelente tutorial, resolveu meu problema. Obrigado.
Que bom amigo! Agradeço o feedback!
Aqui apareceu outro erro, mensagem 3910, o contexto da transação esta sendo usado por outra seção