SQL Server Implicitly Initiated Transactions

The Transact-SQL BEGIN DISTRIBUTED TRANSACTION statement provides an explicit way for a Transact-SQL application to begin a distributed transaction. However, you must change existing Transact-SQL applications to initiate MS DTC transactions in this way. SQL Server provides a way for you to use MS DTC transactions without any change to your existing Transact-SQL application. SQL Server implicitly initiated transactions share all of the benefits of explicitly initiated transactions but have these additional advantages:

SQL clients and the SQL system administrator control whether SQL Server implicitly initiates MS DTC transactions. There are two SQL Server options for controlling implicit transactions:

The REMOTE_PROC_TRANSACTIONS session-level option and the REMOTE PROC TRANS server configuration parameter have no affect on programs that initiate MS DTC transactions explicitly by using the BEGIN DISTRIBUTED TRANSACTION statement.

The first example illustrates the REMOTE_PROC_TRANSACTIONS session-level option and the second illustrates the REMOTE PROC TRANS server configuration parameter.