Welcome to Sign in | Help

Re: Preluarea user-ului curent pentru audit

  •  11-04-2008, 10:08 AM

    Re: Preluarea user-ului curent pentru audit

    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
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems