CLR Integration and Transactions
The System.Transactions namespace is new in the Microsoft .NET Framework version 2.0. It provides a new transaction framework that is fully integrated with ADO.NET and SQL Server common language runtime (CLR) integration. System.Transactions and ADO.NET work together to extend and simplify the use of local and distributed transactions in managed applications.
A CLR user-defined procedure (UDP) cannot establish a connection to the same server it is running on (a loopback connection) and enlist in the same transaction. If this is attempted, the connection attempt will be blocked and control will not be passed back to the UDP. This will result in a timeout error (Msg 1206) on the UDP.
For more information about transactions and the .NET Framework, see "Performing Transactions" and "Leveraging Transactions" in the .NET Framework SDK.
For more information about transactions in SQL Server, see Transactions (Database Engine).