Distributed Transaction Controller (DTC)
The K2 server makes use of Microsoft’s Distributed Transaction Coordinator (DTC) to ensure data integrity between the K2 server and the database. It must be set to start automatically and be configured appropriately as described in this topic.

DTC is a service that coordinates transactions that span multiple resource managers, such as databases, message queues, and file systems. If this service is stopped, these transactions do not occur. If this service is disabled, any services that explicitly depend on it fail to start.
The DTC is provided as a standard service with the Windows Server operating system, but does not start up automatically as a service.
To configure the service to start automatically, follow these steps:
- Open the Services Manager (Administrative Tools > Services).
- Locate the Distributed Transaction Coordinator service in the list of services.
- To configure the service to start automatically, right click on the Distributed Transaction Coordinator Service and select Properties
In the dialog that appears, locate the drop down menu for Startup type and select the Automatic option, and then click OK.
- If the service is not started, click on the Start button. If the action is successful, the service's status is set to Started.

To configure DTC, follow these steps:
- Open Component Services (Administrative Tools > Component Services).
- From the Console Node expand the following nodes Component Services > Computers > My Computer.
- From the My Computer node, locate the new node Distributed Transaction Coordinator.
- Expand the node to view the Local DTC.
- Right click on Local DTC and select properties.
- On the Local DTC Properties tab, click the Security tab, and configure the properties as follows:
- Network DTC Access: Checked.
- Allow Remote Clients: Checked.
- Allow Inbound: Checked.
- Allow Outbound: Checked.
- Incoming Caller Authentication Required: Selected.
- Click OK, and in the warning dialog that appears, click Yes.
- When the MS DTC service has been restarted, you can click OK on all the dialogs and close Component Management.

The following configuration is performed using the dcomcnfg.exe application located in the Windows\System32 folder.
Firewall Configuration |
---|
Configure firewall to allow MSDTC access with the following command: netsh advfirewall firewall add rule name="MSDTC" dir=in action=allow program="%windir%\system32\msdtc.exe" enable=yes These firewall settings must be activated on SQL server in order for MSDTC to work:
For information please see the Knowledge base article KB001318 - K2 and Firewalls. And this MSDN blog:Windows 2008 SQL Server Cluster (with MSDTC) when using the Windows Firewall with Advanced Security. |
While infrastructure changes are required by K2, each environment is different and has its peculiarities which must be taken into account. Modifying the infrastructure could have unforeseen results if the changes are not appropriately understood or managed. Given the broad spectrum of underlying infrastructure utilized, it is recommended that a panel or committee with appropriate skill in each area concerned be assembled to outline the underlying infrastructure changes and gauge the impact of the required changes.