Bieżący identyfikator transakcji w wyzwalaczu kontroli

Szukałem przechowywania jakiejś postaci identyfikatora transakcji z wyzwalacza kontroli. Rozwiązaniem wydawało się użycie sys.dm_tran_current_transaction jak w tym pościeWyzwalacze SQL Server - grupowanie według transakcji.

Nie mogę jednak tego użyć, ponieważ konto użytkownika z uruchomionymi instrukcjami sql nie będzie miało uprawnienia „VIEW SERVER STATE” i spowoduje błąd:

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

Czy ktoś zna alternatywę dla tego widoku, która zapewni podobny identyfikator transakcji lub sposób użycia „WITH EXECUTE AS” na wyzwalaczu, aby umożliwić wybór z tego widoku.

Z moich prób „WITH EXECUTE AS” wynika, że ​​uprawnienia na poziomie serwera nie są przenoszone, co jest oczekiwane, ponieważ podszywa się pod użytkownika bazy danych.

questionAnswers(5)

yourAnswerToTheQuestion