2009-06-26 5 views
1

J'utilise la variable Context_Info() pour garder trace de l'utilisateur qui exécute une procédure stockée et sql de forme libre. Lors de la résolution des problèmes sur ce serveur, toutes les sessions sont terminées. Je voudrais pouvoir introduire la valeur de la variable context_info() et filtrer en fonction de celle-ci.Comment accéder à la variable Context_Info() dans SQL2005 Profiler?

Répondre

3

Vous pouvez utiliser les événements UserConfigurable avec sp_trace_generateevent (EventId's 82-91) lors de la définition de context_info() pour afficher les valeurs dans la trace. Vous pouvez soit faire cela, soit tracer les instructions en définissant context_info(). Vous ne serez pas en mesure d'obtenir la valeur d'une autre façon, sauf si vous écrivez un processus pour vider la sortie de sys.dm_exec_sessions dans une boucle alors que la trace est en cours d'exécution:

select session_id, cast(context_info as varchar(128)) as context_info 
from sys.dm_exec_sessions 
where session_id > 50 -- user sessions 

pour SQL 2000, vous pouvez utiliser sysprocesses:

select spid, cast(context_info as varchar(128)) as context_info 
from sysprocesses 
where sid > 50 -- user sessions 
Questions connexes