ID de transacción actual en un activador de auditoría
Estaba buscando almacenar alguna forma de identificación de transacción desde un activador de auditoría. La solución parecía ser usar sys.dm_tran_current_transaction como en esta publicaciónDesencadenadores de SQL Server - agrupación por transacciones.
Sin embargo, no puedo usar esto porque la cuenta de usuario que ejecuta las declaraciones en SQL no tendrá el permiso "VER ESTADO DEL SERVIDOR" y da como resultado el error:
Msg 297, Level 16, State 1, Line 3 The user does not have permission to perform this action.
¿Alguien sabe de una alternativa a esta vista que proporcione un ID de transacción similar o una forma de usar "CON EJECUTAR COMO" en el activador para permitir la selección desde esta vista?
De mis intentos de "CON EJECUTAR COMO", parece que los permisos a nivel de servidor no se transfieren, lo que se espera realmente ya que se hace pasar por un usuario de la base de datos.