Platform SDK: Transaction Server

Resource Manager Explicitly Initiated Transactions

Some OLE Transactions-compliant resource managers provide facilities for initiating and committing MS DTC transactions from within the resource manager. For example, a relational database system might provide stored procedure programming language calls or dynamic SQL calls for beginning, committing, and aborting MS DTC transactions.

Resource manager explicitly initiated transactions are advantageous because they:

  1. Simplify application programming—the resource manager provides simple interfaces for beginning, committing, and aborting distributed transactions.
  2. Lowers the cost of committing a transaction when the resource manager begins and commits the transaction. When the resource manager initiates the MS DTC transaction, the transaction manager on the resource manager’s system always acts as the transaction coordinator. This can reduce the cost of committing the transaction because the transaction manager on the client application's system need not participate in the two-phase commit protocol.
  3. Minimizes setup and administration—there is no need to install MS DTC on client machines.

Microsoft SQL Server is an example of a resource manager that supports explicit initiation of MS DTC transactions. The following example illustrates how other resource managers could exploit MS DTC transactions.