Microsoft® Distributed Transaction Coordinator (MS DTC) external transactions are used when the transaction includes more actions than simply sending or retrieving MSMQ messages (more than one resource manager is used). In this case, the application must ask MS DTC for a transaction object and explicitly reference that object each time it sends a message, retrieves a message, or executes an action of another resource manager.
When an application is performing an MS DTC transaction, MSMQ is acting as part of a transaction processing system that includes a transaction manager and any number of resource managers.
The following illustration shows the basic model for the transaction processing system. This model demonstrates a typical system with MS DTC as the transaction manager and MSMQ and SQL as resource managers. The application must work with the transaction manager and with each relevant resource manager.
For an example of an MS DTC external transaction, see: