Frage:
Eine Gespeicherte Prozedur beinhaltet eine Fehlerbehandlung über @@Error.
Bei Verwendung von Transaktionen funktioniert die Fehlerbehandlung jedoch nicht mehr.
Lösung:
Nach Begin Transaction sollte direkt Set Nocount On folgen. Dadurch kann der Wert in @@Error wieder ausgelesen werden.
Die Nocount-Einstellung muss vor dem Commit wieder mit Set Nocount Off ausgeschaltet werden.