Sql-server – Unable to begin a Distributed transaction

distributed-transactionssql server

Can someone help me to troubleshoot this error?

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

I am getting the error executing the code below.

CREATE TABLE #Drive
(
    drive char(1) Primary Key,
    freespace int null
)

Insert into #Drive
EXEC TESTSERV.MASTER.xp_fixedDrives

I've already done the following set up:

Allow Remote Clients
Allow Outbound

On Security tab of Local DTC Properties in Component Services:

  1. Go To Run, type comexp.msc.
  2. Double click "Console Root".
  3. Double click "Component Services.
  4. Double click "Computers".
  5. Double click "My Computer".
  6. Double click "Distributed Transaction Coordinator".
  7. Right click "Local DTC" under "Distributed Transaction Coordinator", and click properties.
  8. Click the "Security" tab.
  9. Put tick marks on the checkboxes "Allow Remote Clients" and "Allow Outbound".

Still not fixed.
Different clone is used here for remote machine.

Best Answer

Map a specific instance of SQL Server to a specific instance of MSDTC?

To map a SQL Server instance to an instance of MSDTC, open an administrative command prompt and use the msdtc.exe command.

The following command is used to create a mapping between an instance of SQL Server and an instance of MSDTC.

msdtc -tmMappingSet -name <MappingName> -service <SQLServerServiceName> ^
-ClusterResourceName <MSDTCResourceName>

https://blogs.msdn.microsoft.com/alwaysonpro/2014/01/15/msdtc-recommendations-on-sql-failover-cluster/