MVC 3 : The MSDTC transaction manager was unable to pull the transaction from the source

I also encountered this error even though the config, firewalls and netbios/dns were set up correctly. The two servers in my setup were clones of one another, so MSDTC on each server had the same CID value, which makes them not able to interoperate.

Here are some other things to think about when troubleshooting MSDTC http://msdn.microsoft.com/en-us/library/aa561924.aspx My situation is described under Ensure that MSDTC is assigned a unique CID value

The MSDTC feature of the Windows operating system requires unique CID values to ensure that MSDTC functionality between computers works correctly. Disk duplicate images of Windows installations must have unique CID values or MSDTC functionality may be impaired. This can occur when using virtual hard disks to deploy an operating system to a virtual machine.

To determine if MSDTC CID values for computers that are running the Windows operating system are unique, check the values for the entries under the HKEY_CLASSES_ROOT\CID registry key on both computers. If these values are not unique for each computer then follow the steps in the section Consider reinstalling the Distributed Transaction Coordinator service if other troubleshooting steps are not successful to reinstall MSDTC on one of the computers, which will then generate unique MSDTC CID values for that computer and accommodate proper MSDTC operations.

To reset the CIDs on a Windows 2012 Server use the following Powershell script:

#View: CIDs (These must be different on all systems)
ls Microsoft.PowerShell.Core\Registry::HKEY_CLASSES_ROOT\CID | select Name


#reinstall MSDTC to regenerate CIDs. 
msdtc -uninstall
sleep 5
msdtc -install
sleep 5
Set-Service msdtc -startuptype "auto"
#then reboot for changes to take effect

The error implies that MSDTC is either not running on the database server that contains the database which _repositoryHistory targets; or that there is a network issue preventing propagation of the transaction to that machine.

Check that MSDTC is installed and running on the database server.

Check whether Windows Firewall is running on the target server; if it is, check the firewall exclusions for MSDTC. This link helps with that: http://technet.microsoft.com/en-us/library/cc725913(v=ws.10).aspx


Use DTCPing to troubleshoot DTC related errors. This has been the go to tool for me for many years to troubleshoot distributed transaction writes in our system.