| title | CLR Integration and Transactions | Microsoft Docs | ||||||
|---|---|---|---|---|---|---|---|
| ms.custom | |||||||
| ms.date | 03/14/2017 | ||||||
| ms.prod | sql | ||||||
| ms.reviewer | |||||||
| ms.technology | clr | ||||||
| ms.topic | reference | ||||||
| helpviewer_keywords |
|
||||||
| ms.assetid | 381d206e-06e2-48d0-8206-295fcf06ac98 | ||||||
| author | rothja | ||||||
| ms.author | jroth |
[!INCLUDEappliesto-ss-xxxx-xxxx-xxx-md] The System.Transactions namespace provides a transaction framework that is fully integrated with ADO.NET and [!INCLUDEssNoVersion] 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.
Note
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.
Transaction Promotion
Describes the ability to promote transactions, and how to use this feature.
Accessing the Current Transaction
Describes how to access a transaction currently running in-process on [!INCLUDEssNoVersion].
Using System.Transactions
Describes how to use the System.Transactions application programming interface (API) in your managed application.
Transaction Lifetimes
Describes the difference in lifetime between transactions started in [!INCLUDEtsql] stored procedures and transactions started in CLR applications.