Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL database in Microsoft Fabric Preview
A transaction is a single unit of work. If a transaction is successful, all of the data modifications made during the transaction are committed and become a permanent part of the database. If a transaction encounters errors and must be canceled or rolled back, then all of the data modifications are erased.
SQL Server operates in the following transaction modes:
Transaction mode | Description |
---|---|
Autocommit transactions | Each individual statement is a transaction. |
Explicit transactions | Each transaction is explicitly started with the BEGIN TRANSACTION statement and explicitly ended with a COMMIT or ROLLBACK statement. |
Implicit transactions | A new transaction is implicitly started when the prior transaction completes, but each transaction is explicitly completed with a COMMIT or ROLLBACK statement. |
Batch-scoped transactions | Applicable only to multiple active result sets (MARS), a Transact-SQL explicit or implicit transaction that starts under a MARS session becomes a batch-scoped transaction. A batch-scoped transaction that isn't committed or rolled back when a batch completes is automatically rolled back by SQL Server. |
For special considerations related to Data Warehouse products, see Transactions (Azure Synapse Analytics and Microsoft Fabric).
In this section
SQL Server provides the following transaction statements:
- BEGIN DISTRIBUTED TRANSACTION
- ROLLBACK TRANSACTION
- BEGIN TRANSACTION
- ROLLBACK WORK
- COMMIT TRANSACTION
- SAVE TRANSACTION
- COMMIT WORK