SQL Server 2005 - Просмотр SP, выполняющихся внутри SP

Мне интересно, возможно ли увидеть хранимые процессы, которые выполняются другими хранимыми процессами в Sql Server Profiler, возможно ли это, и если да, то как?

1 ответ

Решение

Если вы профилируете, используя событие SP::Starting, вы можете увидеть все хранимые процедуры, которые выполняются. Вы хотите убедиться, что пара столбцов профиля включена:

NestLevel - показывает уровень вложенности SP, вызывающих друг друга - поэтому, если Test вызывает EmbeddedTest, событие SP::Starting для Test покажет NestLevel=1, а событие для EmbeddedTest покажет NestLevel = 2

ObjectName - показывает имя хранимой процедуры, которая выполняется

SPID - идентификатор сеанса для соединения

Таким образом, чтобы найти последовательность вызова, вам нужно найти событие с NestLevel больше 1, а затем найти NestLevel=1 для того же SPID, который предшествовал вызову. Конечно, это работает и для более глубоких уровней вложенности.

Другие вопросы по тегам