Platform SDK: Transaction Server |
Some OLE Transactions resource managers may want to implicitly initiate MS DTC transactions on behalf of an application. For example, Microsoft SQL Server implicitly initiates MS DTC transactions when needed by a stored procedure.
There may be other uses for implicitly initiated MS DTC transactions. For example, a database system might automatically initiate an MS DTC transaction when no distributed transaction is in force and a stored procedure in one database system invokes a remote stored procedure in another database system. By doing this, the database system protects the work done in both databases using a single distributed transaction.
Resource manager implicitly initiated transactions are advantageous for four reasons:
The Remote Procedure Transactions option controls whether SQL Server initiates an MS DTC distributed transaction or an existing SQL Server local transaction. The option is present for compatibility. When the option is reset, which it is by default, the old behavior is preserved and no MS DTC transaction is initiated. When the option is set, SQL Server starts an MS DTC transaction.