如何在SQL2005 Profiler中访问Context_Info()变量?

时间:2009-06-26 15:11:16

标签: sql-server sqlprofiler

我正在使用Context_Info()变量来跟踪正在执行存储过程和自由格式sql的用户。解决此服务器上的问题时,每个会话都会通过。我希望能够引入context_info()变量的值并根据它进行过滤。

1 个答案:

答案 0 :(得分:3)

设置context_info()以将值输出到跟踪时,可以使用UserConfigurable事件和sp_trace_generateevent(EventId的82-91)。您可以选择执行此操作,也可以跟踪设置context_info()的语句。除非您编写一个进程以在跟踪运行时在循环中转储sys.dm_exec_sessions的输出,否则您将无法以任何其他方式获取该值:

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

对于SQL 2000,您可以使用sysprocesses:

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