看看sp_execute正在做什么

Tys*_*Tys 11 .net sql t-sql sql-server-2008

在我的MS SQL Profiler中,我看到了很多这些小问题.

exec sp_execute 1,@ p0 = 15954

我知道这在理论上是有效的,这是执行先前创建的查询并传入特定参数.但问题是我不确定导致这些查询的原因.

有没有办法查看这些查询的TSQL内容?

lis*_*son 14

在Sql Profiler中,我使用Event StoredProcedure >> SP:CacheHit.我在链接中读到了它.捕获SQL:StmtCompleted和RPC:已完成DIDNT捕获sp_execute的参数


小智 9

这看起来像是在运行准备好的查询.要做的一件事是查看探查器跟踪以查看是否可以找到生成此特定句柄的sp_prepare查询.

另一个选项是查询系统视图以查找基础文本.

如果它当前正在运行,这将为您提供查询

select text
    from sys.dm_exec_requests
    cross apply sys.dm_exec_sql_text(plan_handle)
    where session_id = <SPID FROM PROFILER>
Run Code Online (Sandbox Code Playgroud)

  • 我也使用过 SQL Server Profiler。对我来说,我检查了跟踪属性的“存储过程”部分下的 SP:StmtStarting,然后运行跟踪,我可以看到频繁的 sp_execute 调用下面的 TSQL。 (2认同)