Problem
When your application uses the distribution transaction then you may encounter below error.
Error: The operation could not be performed because OLE DB provider “SQLNCLI11” for linked server “Linked_Server_Name” was unable to begin a distribution transaction. [SQLSTATE 42000] (Error 7391) OLE DB provider “SQLNCLI11” for linked server “Linked_Server_Name”return message “The partner transaction manager has disabled its support for remote/network transaction.”.
Solution
Step 1: You need to check if the Inbound and outbound are enabled for MSTDC service on the source server.
Go To windows search –> Open “component Services” –> Brows “Local DTC” –> Right Click on it –> Select “Properties”
Set the setting as described in the screenshot below.
Step 2: You need to check if the Inbound and outbound is enabled for MSTDC service on the source server.
Go To windows search –> Open “component Services” –> Brows “Local DTC” –> Right Click on it –> Select “Properties”
Set the setting as described in the screenshot below.
Once after setting the MSDTC, execute the below script from the source server against the linked server.
Begin distributed transaction Select [name] from Linked_server_name.master.sys.databases Commit
if the above query gives you the list of databases present on the target server, then the MSTDC is working fine. Else you will need to check the firewall. I will write the article on the firewall issues for MSDTC next.