Transaktionen (Transact-SQL)Transactions (Transact-SQL)

Gilt für: JaSQL Server JaAzure SQL-Datenbank JaAzure Synapse Analytics (SQL DW) JaParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Eine Transaktion ist eine einzelne Arbeitseinheit.A transaction is a single unit of work. Ist eine Transaktion erfolgreich, wird für alle Datenänderungen, die während der Transaktion vorgenommen wurden, ein Commit ausgeführt, und sie werden dauerhaft in der Datenbank gespeichert.If a transaction is successful, all of the data modifications made during the transaction are committed and become a permanent part of the database. Treten während einer Transaktion Fehler auf, die den Abbruch oder ein Rollback der Transaktion erfordern, werden alle Datenänderungen rückgängig gemacht.If a transaction encounters errors and must be canceled or rolled back, then all of the data modifications are erased.

SQL ServerSQL Server wird in den folgenden Transaktionsmodi ausgeführt:operates in the following transaction modes:

AutocommittransaktionenAutocommit transactions
Jede einzelne Anweisung ist eine Transaktion.Each individual statement is a transaction.

Explizite TransaktionenExplicit transactions
Jede Transaktion wird explizit mit der BEGIN TRANSACTION-Anweisung gestartet und explizit mit einer COMMIT- oder ROLLBACK-Anweisung beendet.Each transaction is explicitly started with the BEGIN TRANSACTION statement and explicitly ended with a COMMIT or ROLLBACK statement.

Implizite TransaktionenImplicit transactions
Eine neue Transaktion wird implizit gestartet, sobald die vorhergehende Transaktion abgeschlossen ist. Jede Transaktion wird jedoch explizit mit einer COMMIT- oder ROLLBACK-Anweisung beendet.A new transaction is implicitly started when the prior transaction completes, but each transaction is explicitly completed with a COMMIT or ROLLBACK statement.

Transaktionen mit BatchbereichBatch-scoped transactions
Trifft nur auf MARS (Multiple Active Result Sets) zu; eine explizite oder implizite Transact-SQLTransact-SQL-Transaktion, die unter einer MARS-Sitzung gestartet wird, wird zu einer Transaktion im Batchbereich.Applicable only to multiple active result sets (MARS), a Transact-SQLTransact-SQL explicit or implicit transaction that starts under a MARS session becomes a batch-scoped transaction. Für eine Transaktionen mit Batchbereich, für die nach Abschluss des Batches kein Commit oder Rollback ausgeführt wird, wird das Rollback automatisch durch SQL ServerSQL Server vorgenommen.A batch-scoped transaction that is not committed or rolled back when a batch completes is automatically rolled back by SQL ServerSQL Server.

Hinweis

Besondere Aspekte im Zusammenhang mit Data Warehouse-Produkten finden Sie unter Transaktionen (SQL Data Warehouse).For special considerations related to Data Warehouse products, see Transactions (SQL Data Warehouse).

In diesem AbschnittIn This Section

SQL ServerSQL Server stellt die folgenden Transaktionsanweisungen bereit:provides the following transaction statements:

BEGIN DISTRIBUTED TRANSACTIONBEGIN DISTRIBUTED TRANSACTION ROLLBACK TRANSACTIONROLLBACK TRANSACTION
BEGIN TRANSACTIONBEGIN TRANSACTION ROLLBACK WORKROLLBACK WORK
COMMIT TRANSACTIONCOMMIT TRANSACTION SAVE TRANSACTIONSAVE TRANSACTION
COMMIT WORKCOMMIT WORK

Weitere InformationenSee Also

SET IMPLICIT_TRANSACTIONS (Transact-SQL) SET IMPLICIT_TRANSACTIONS (Transact-SQL)
@@TRANCOUNT (Transact-SQL)@@TRANCOUNT (Transact-SQL)