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, который предшествовал вызову. Конечно, это работает и для более глубоких уровней вложенности.