Aktuelle Transaktions-ID in einem Prüfauslöser

Ich habe versucht, eine Transaktions-ID aus einem Prüfauslöser zu speichern. Die Lösung schien zu sein, sys.dm_tran_current_transaction wie in diesem Beitrag zu verwendenSQL Server-Trigger - Gruppierung nach Transaktionen.

Ich kann dies jedoch nicht verwenden, da das Benutzerkonto, in dem SQL-Anweisungen ausgeführt werden, nicht über die Berechtigung "VIEW SERVER STATE" verfügt und der folgende Fehler auftritt:

Msg 297, Level 16, State 1, Line 3
The user does not have permission to perform this action.

Kennt jemand eine Alternative zu dieser Ansicht, die eine ähnliche Transaktions-ID oder eine Möglichkeit bietet, "WITH EXECUTE AS" für den Trigger zu verwenden, um die Auswahl aus dieser Ansicht zu ermöglichen?

Aus meinen Versuchen bei "WITH EXECUTE AS" geht hervor, dass Berechtigungen auf Serverebene nicht übertragen werden, was tatsächlich erwartet wird, da es sich als Datenbankbenutzer ausgibt.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage