看看sp_execute正在做什么

时间:2012-04-30 16:20:28

标签: .net sql sql-server-2008 tsql

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

  

exec sp_execute 1,@ p0 = 15954

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

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

3 个答案:

答案 0 :(得分:12)

在Sql Profiler中,我使用Event StoredProcedure>> SP:CacheHit。我在link中读到了它。 Capture SQL:StmtCompleted和RPC:已完成DIDNT捕获sp_execute

的参数

答案 1 :(得分: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>

答案 2 :(得分:-3)

SQL Server 7.0及更高版本中的答案是“只是在SQL事件探查器中打开跟踪”。

也许你有SQL Profiler。如果是这样 - 使用它。

或者您可能有更新版本的MSSQL Express(不再捆绑SQL Profiler)。如果是这样,试试这个: