【发布时间】:2008-12-11 19:09:45
【问题描述】:
我想知道是否可以在 Sql Server Profiler 中查看其他存储过程正在执行的存储过程,是否可以,如果可以,如何?
【问题讨论】:
标签: sql-server sql-server-2005 sql-server-profiler
我想知道是否可以在 Sql Server Profiler 中查看其他存储过程正在执行的存储过程,是否可以,如果可以,如何?
【问题讨论】:
标签: sql-server sql-server-2005 sql-server-profiler
如果您使用 SP::Starting 事件进行分析,您可以看到所有已执行的存储过程。您要确保包含几个配置文件列:
NestLevel - 这显示了相互调用的 SP 的嵌套级别 - 因此,如果 Test 调用 EmbeddedTest,则 Test 的 SP::Starting 事件将显示 NestLevel=1,而 EmbeddedTest 的事件将显示 NestLevel=2
ObjectName - 显示正在执行的存储过程的名称
SPID - 连接的会话 ID
因此,要查找调用序列,您需要查找 NestLevel 大于 1 的事件,然后在调用之前的同一 SPID 上查找 NestLevel=1。当然,这也适用于更深的嵌套级别。
【讨论】: