Sql server sql事件探查器中存储过程的执行
我有一个带有int输出参数的存储过程。如果运行SQL Server Profiler,通过一些.Net代码执行存储过程,并捕获RPC:Completed事件,则文本数据如下所示:Sql server sql事件探查器中存储过程的执行,sql-server,Sql Server,我有一个带有int输出参数的存储过程。如果运行SQL Server Profiler,通过一些.Net代码执行存储过程,并捕获RPC:Completed事件,则文本数据如下所示: declare @p1 int set @p1=13 exec spStoredProcedure @OutParam=@p1 output select @p1 为什么它看起来像是在执行存储过程之前获取输出参数的值 我发现答案是RPC:completedevent类。所以当时已经知道结果了。但我无法理解为什么在完成
declare @p1 int
set @p1=13
exec spStoredProcedure @OutParam=@p1 output
select @p1
为什么它看起来像是在执行存储过程之前获取输出参数的值
我发现答案是
RPC:completed
event类。所以当时已经知道结果了。但我无法理解为什么在完成RPC:completed
事件后会出现exec语句。在探查器(或扩展事件)跟踪中看到的RPC completed TextData只是RPC请求的呈现,而不是SQL Server执行的实际语句。这有助于将文本复制/粘贴到SSMS窗口中,以便作为SQL批处理临时执行
由于实际输出值在RPC完成后已知,因此跟踪文本使用实际值初始化参数变量。可能更清楚的是,它在执行之前被初始化为NULL