DTC Administration Guide

You can administer distributed transactions through the Microsoft Distributed Transaction Coordinator (DTC), which is included with the Component Services administrative tool. The DTC provides services designed to ensure successful and complete transactions, even with system failures, process failures, and communication failures. For step-by-step instructions on how to perform specific DTC administrative tasks, see the Help documentation for the Component Services administrative tool on your system.

Note

When a transaction updates data on more than one networked computer, it is called a distributed transaction. Many aspects of a distributed transaction are identical to a transaction whose scope is a single database. For example, a distributed transaction provides predictable behavior by enforcing the ACID properties that define all transactions.

Each computer participating in a distributed transaction manages its own resources and data and also acts in concert with other computers in the transaction. Above all, a distributed transaction must commit or abort its work entirely on all participating computers. The DTC performs the transaction coordination role for the components involved and acts as a transaction manager for each computer that manages transactions.

The DTC uses the two-phase commit protocol. Phase one involves the transaction manager requesting each enlisted component to prepare to commit; in phase two, if all enlistees successfully prepare, the transaction manager broadcasts the commit decision.

In general, transactions involve the following steps:

Applications call the transaction manager to begin a transaction.

When the application has prepared its changes, it asks the transaction manager to commit the transaction. The transaction manager keeps a sequential transaction log so that its commit or abort decisions will be durable.

If all components are prepared, the transaction manager commits the transaction and the log is cleared.

If any component cannot prepare, the transaction manager broadcasts an abort decision to all elements involved in the transaction.

While a component remains prepared but not committed or aborted, it is in doubt about whether the transaction committed or aborted. If a component or transaction manager fails, it reconciles in-doubt transactions when it reconnects.

See the topics described in the following table for background information about specific DTC administration topics.