Идентификатор текущей транзакции в триггере аудита
Я смотрел на сохранение какой-либо формы идентификатора транзакции из триггера аудита. Похоже, что решением было использовать sys.dm_tran_current_transaction, как в этом посте.Триггеры SQL Server - группировка по транзакциям.
Однако я не могу использовать это, поскольку учетная запись пользователя, выполняющая операторы sql, не будет иметь & quot; VIEW SERVER STATE & quot; разрешение и приводит к ошибке:
Msg 297, Level 16, State 1, Line 3 The user does not have permission to perform this action.
Кто-нибудь знает альтернативу этому представлению, которая предоставит аналогичный идентификатор транзакции или способ использования «С ВЫПОЛНИТЬ КАК»? на триггере, чтобы разрешить выбор из этого представления.
Из моих попыток "С ВЫПОЛНИТЬ КАК" Похоже, что права на уровне сервера не переносятся, что на самом деле ожидается, поскольку оно олицетворяет пользователя базы данных.