Как вы получаете доступ к переменной Context_Info () в SQL2005 Profiler? - PullRequest
1 голос
/ 26 июня 2009

Я использую переменную Context_Info () для отслеживания пользователя, который выполняет хранимую процедуру и в свободной форме sql. При устранении неполадок на этом сервере каждый сеанс проходит. Я хотел бы иметь возможность ввести значение переменной context_info () и фильтр на его основе.

1 Ответ

3 голосов
/ 30 июня 2009

Вы можете использовать События UserConfigurable вместе с sp_trace_generateevent (EventId's 82-91) при установке context_info () для вывода значений в трассировку. Вы можете сделать это или отследить операторы, устанавливающие 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
...