Freigeben über


Implizite Transaktionen

Wenn eine Verbindung sich im impliziten Transaktionsmodus befindet, startet SQL Server-Datenbankmodul automatisch eine neue Transaktion, nachdem für die aktuelle Transaktion ein Commit oder Rollback ausgeführt wurde. Die Kennzeichnung des Starts einer Transaktion entfällt; Sie führen nur einen Commit oder Rollback für die einzelnen Transaktionen aus. Im impliziten Transaktionsmodus wird eine fortlaufende Kette von Transaktionen generiert.

Nachdem der implizite Transaktionsmodus für eine Verbindung aktiviert wurde, startet Datenbankmodul automatisch eine Transaktion, wenn eine dieser Anweisungen zum ersten Mal ausgeführt wird:

ALTER TABLE

INSERT

CREATE

OPEN

DELETE

REVOKE

DROP

SELECT

FETCH

TRUNCATE TABLE

GRANT

UPDATE

Die Transaktion bleibt so lange aktiv, bis Sie eine COMMIT- oder eine ROLLBACK-Anweisung eingeben. Nachdem ein Commit oder Rollback für die erste Transaktion ausgeführt wurde, startet Datenbankmodul automatisch eine neue Transaktion, wenn eine dieser Anweisungen von der Verbindung ausgeführt wird. Die Instanz generiert so lange eine Kette impliziter Transaktionen, bis der implizite Transaktionsmodus deaktiviert wird.

Der implizite Transaktionsmodus wird entweder mithilfe der SET-Anweisung von Transact-SQL oder über Datenbank-API-Funktionen und -Methoden festgelegt.

ms188317.note(de-de,SQL.90).gifHinweis:
In einer MARS-Sitzung (Multiple Active Result Sets) wird eine implizite Transact-SQL-Transaktion zu einer Transaktion mit Batchbereich. Wenn für die Transaktion mit Batchbereich beim Beenden des Batches noch kein Commit oder Rollback ausgeführt wurde, führt SQL Server ein automatisches Rollback der Transaktion aus. Weitere Informationen finden Sie unter Steuern von Transaktionen (Datenbankmodul) und Transaktionen (Transact-SQL).

Siehe auch

Konzepte

Implizite Transact-SQL-Transaktionen
Implizite API-Transaktionen

Hilfe und Informationen

Informationsquellen für SQL Server 2005