回答

收藏

查看sp_execute在做什么

技术问答 技术问答 203 人阅读 | 0 人回复 | 2023-09-14

在我的MS SQL Profiler中,我看到了很多这样的小查询。/ q5 N# k6 ?9 l' j3 p* w
% l/ A% i! j; h  p/ d
exec sp_execute 1,@ p0 = 15954
; K' `! N. ?# N; y  c
: C. F7 n+ p; y  S
从理论上讲,我知道这可以执行先前创建的查询并传递特定参数。但是问题是我不确定是什么原因导致了这些查询。. t/ Z# m, W0 L7 I, \
有没有办法查看这些查询的TSQL内容?
9 s$ ]- K& J! G' D5 n                & v, U- r9 l0 a% I8 q; U
解决方案:
$ L% K2 l5 x& f+ H  m                4 B$ ]: ~1 g0 A  }% e

' O  t( J; `: }. M) _4 K7 ~1 h  i& u
                看起来它正在运行一个准备好的查询。要做的一件事是浏览探查器跟踪,以查看是否可以找到生成此特定句柄的sp_prepare查询。
+ }' K' _0 m' k! k0 O. T9 D另一个选择是查询系统视图以查找基础文本。. e0 L5 G4 I6 e- j  N6 _8 x3 Y
如果当前正在运行,这将为您提供查询# A+ |5 x* ?9 a. q
select text1 b( ~; w+ E: L, ^
    from sys.dm_exec_requests& L, e- K9 U4 H8 ^0 M
    cross apply sys.dm_exec_sql_text(plan_handle)( y/ n$ e; F6 R/ C" x) c
    where session_id =
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则