Din fraza "userii sunt stocati intr-o tabela separta in aplicatie", înţeleg că toţi user-ii se conectează la server prin acelaşi login, deci nu poţi să foloseşti USER_NAME() sau SUSER_SNAME(), care ar fi fost soluţia cea mai elegantă. În acest caz, în afară de HOST_NAME() şi APP_NAME(), ai putea să foloseşti CONTEXT_INFO() în felul următor:
1. De fiecare dată când deschizi o conexiune, scrii numele utilizatorului în context_info, astfel:
DECLARE @user varchar(128)
SET @user='Gigel'
DECLARE @context binary(128)
SET @context=CONVERT(binary(128),@user)
SET CONTEXT_INFO @context
2. În trigger-ul tău de audit, determini utilizatorul curent, folosind ceva de genul:
DECLARE @user varchar(128)
SET @user=REPLACE(CONVERT(varchar(128),CONTEXT_INFO()),CHAR(0),'')
--SELECT @user
Răzvan