| title | Performing Distributed Transactions | Microsoft Docs | |||||
|---|---|---|---|---|---|---|
| ms.custom | ||||||
| ms.date | 03/06/2017 | |||||
| ms.prod | sql-server-2014 | |||||
| ms.reviewer | ||||||
| ms.technology | native-client | |||||
| ms.topic | reference | |||||
| helpviewer_keywords |
|
|||||
| ms.assetid | 2c17fba0-7a3c-453c-91b7-f801e7b39ccb | |||||
| author | MightyPen | |||||
| ms.author | genemi | |||||
| manager | craigg |
The Microsoft Distributed Transaction Coordinator (MS DTC) allows applications to extend transactions across two or more instances of [!INCLUDEssNoVersion]. It also allows applications to participate in transactions managed by transaction managers that comply with the Open Group DTP XA standard.
Normally, all transaction management commands are sent through the [!INCLUDEssNoVersion] Native Client ODBC driver to the server. The application starts a transaction by calling SQLSetConnectAttr with the autocommit mode turned off. The application then performs the updates comprising the transaction and calls SQLEndTran with either the SQL_COMMIT or SQL_ROLLBACK option.
When using MS DTC, however, MS DTC becomes the transaction manager and the application no longer uses SQLEndTran.
When enlisted in a distributed transaction, and then enlist in a second distributed transaction, the [!INCLUDEssNoVersion] Native Client ODBC Driver defects from the original distributed transaction and enlists in the new transaction. For more information, see DTC Programmer's Reference.