Probleme mit @@Error

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.

/* übernommen aus der Original sqlfaq.de */