When using a remote SQL server as the database for PolicyPak Group Policy Compliance Reporter, the snapshot operation may fail with the following error.
The Server debug log will contain the following error as well:
System.Runtime.InteropServices.COMException: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B)
To enable diagnostic logging, follow the directions in the article here
The resulting GPCR Server log can be found in: C:\ProgramData\PolicyPak\PolicyPak Group Policy Compliance Reporter Server\Diagnostics
When a server VM is cloned, the DTC ID remains the unchanged on the new server copy. In this case, although you have communication with the SQL server, the ability to connect to port 1433, and GPCR is able to successfully accept workstation audits, attempting a snapshot results in the error above. When enabling the server debugging log, it shows “communication problems” as the cause.
Resolution
To resolve the error and allow snapshots to complete successfully, you must re-install MS DTC on one of the computers
Re-install DTC
- Open a command prompt “… as administrator”
- Uninstall MSDTC: msdtc -uninstall and hit enter
- Install MSDTC: msdtc -install and hit enter
- Verify service is installed and running: sc query msdtc and hit enter
note: this can also be performed after the uninstall to verify it was removed