Antwort

6

Diese MSDN articl e ist eine gute Referenz. Zitat:

Sowohl die XACT_STATE und @@ TRANCOUNT Funktionen verwendet werden können zu erkennen, ob die aktuelle Anforderung eine aktive Benutzertransaktion hat. @@ TRANCOUNT kann nicht verwendet werden, um zu bestimmen, ob diese Transaktion als eine nicht commitable Transaktion klassifiziert wurde. XACT_STATE kann nicht verwendet werden, um zu ermitteln, ob verschachtelte Transaktionen vorhanden sind.

Sagen Sie bitte, dass Sie XACT_STATE eine Transaktion unter bestimmten Umständen, dann wird Ihnen helfen, hier als das wird erkennen, ob es möglich ist, zu begehen oder nicht während @@ TRANCOUNT konnte nicht sagen, um potenziell COMMIT wollte. Wenn Sie nur ein ROLLBACK machen wollen, würde jeder die Arbeit machen, also kommt es darauf an, was Sie wirklich brauchen.