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