ID da transação atual em um acionador de auditoria

Eu estava olhando para armazenar alguma forma de identificação de transação de um gatilho de auditoria. A solução parece ser usar sys.dm_tran_current_transaction como neste postTriggers do SQL Server - agrupando por transações.

No entanto, não posso usar isso porque a conta de usuário executando instruções sql não terá a permissão "VIEW SERVER STATE" e resultará no erro:

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

Alguém sabe de uma alternativa para essa exibição que fornecerá um ID de transação semelhante ou uma maneira de usar "WITH EXECUTE AS" no gatilho para permitir a seleção dessa exibição.

De minhas tentativas em "COM EXECUTAR COMO", parece que as permissões de nível de servidor não são transportadas, o que é esperado realmente porque está representando um usuário do banco de dados.