Freigeben über


Transaktionsanweisungen (Transact-SQL)

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.

  • Autocommit-Transaktionen
    Jede einzelne Anweisung ist eine Transaktion.

  • Explizite Transaktionen
    Jede Transaktion wird explizit mit der BEGIN TRANSACTION-Anweisung gestartet und explizit mit einer COMMIT- oder ROLLBACK-Anweisung beendet.

  • Implizite Transaktionen
    Eine neue Transaktion wird implizit gestartet, sobald die vorhergehende Transaktion abgeschlossen ist. Jede Transaktion wird jedoch explizit mit einer COMMIT- oder ROLLBACK-Anweisung beendet.

  • Transaktionen mit Batchbereich
    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 Transaktionen mit Batchbereich. Für eine Transaktion mit Batchbereich, für die beim Abschluss eines Batches kein Commit oder Rollback ausgeführt wird, führt SQL Server automatisch ein Rollback aus.

Weitere Informationen finden Sie unter Transaktionen (Datenbankmodul).