3902: Die COMMIT TRANSACTION-Anforderung hat keine entsprechende BEGIN TRANSACTION-Anweisung.
Fehlermeldung:
Meldung 3902, Ebene 16, Status 1, Zeile 5
Die COMMIT TRANSACTION-Anforderung hat keine entsprechende BEGIN TRANSACTION-Anweisung.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, explizit eine Transaktion zu committen, ohne das die entsprechende Transaktion begonnen wurde.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Entweder muss das COMMIT TRANSACTION entfernt werden, oder das entsprechende BEGIN TRANSACTION hinzugefügt werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempDB
IF OBJECT_ID('t') IS NOT NULL
DROP TABLE t
GO
CREATE TABLE t
(
ID int PRIMARY KEY,
)
COMMIT TRAN
Anmerkungen:
Im obigen Beispiel wird versucht, eine Transaktion zu committen, ohne das diese überhaupt begonnen wurde. Dies löst den Fehler aus.