Configuring MS SQL for Server link

When installing standalone data warehouse MS SQL database (deployment scenario First server installation with external data warehouse database) the Distributed Transaction Coordinator (MSDTC) has to be properly configured between both communicating databases - production database and data warehouse database.

MSDTC on virtual machines

When running databases on virtual machines, the MSDTC may still not work with the following error message (when executing any transnational procedure that uses server link)

OLE DB provider “SQLNCLI” for linked server “XXX” returned message “No transaction is active."

This is most likelly caused by the fact, that virtual machines are created through cloning, resulting in MSDTC on all VM's having the same unique identity, thus preventing the proper communication. To fix this issue, MSDTC needs to be uninstalled and installed again on both servers, following these steps:

  1. On the server hosting the production database. open the cmd console window

  2. Type and execute the below 3 commands
    net stop msdtc
    msdtc -uninstall
    msdtc -install

  3. MSDTC configuration will be most likely lost, follow the steps above

  4. Restart the server

  5. Repeat the same for the server hosting data warehouse database