Freigeben über


Transaktionen (Transact-SQL)

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceLager in Microsoft FabricSQL-Datenbank in Microsoft Fabric

Eine Transaktion ist eine einzelne Arbeitseinheit. 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. Treten während einer Transaktion Fehler auf, die den Abbruch oder ein Rollback der Transaktion erfordern, werden alle Datenänderungen rückgängig gemacht.

SQL Server wird in den folgenden Transaktionsmodi ausgeführt:

Transaktionsmodus Description
AutoCommit-Transaktionen Jede einzelne Anweisung ist eine Transaktion.
Explizite Transaktionen Jede Transaktion wird explizit mit der BEGIN TRANSACTION Anweisung gestartet und explizit mit einer oder COMMIT einer ROLLBACK Anweisung beendet.
Implizite Transaktionen Eine neue Transaktion wird implizit gestartet, wenn die vorherige Transaktion abgeschlossen ist, aber jede Transaktion wird explizit mit einer oder COMMIT einer ROLLBACK Anweisung abgeschlossen.
Batchbezogene Transaktionen Trifft nur auf MARS (Multiple Active Result Sets) zu; eine explizite oder implizite Transact-SQL-Transaktion, die unter einer MARS-Sitzung gestartet wird, wird zu einer Transaktion im Batchbereich. Eine Batch-bezogenen Transaktion, die nicht zugesichert oder zurückgesetzt wird, wenn ein Batch abgeschlossen wird, wird von SQL Server automatisch zurückgesetzt.

Besondere Aspekte im Zusammenhang mit Data Warehouse-Produkten finden Sie unter Transaktionen in Fabric Data Warehouse oder Transactions (Azure Synapse Analytics).For special considerations related to data warehouse products, see Transactions in Fabric Data Warehouse or Transactions (Azure Synapse Analytics).

Syntax der Transaktionssteuerung

Das SQL-Datenbankmodul stellt die folgenden Transaktionsanweisungen bereit: