
rpc_completed工期(micro_sec) = rpc_starting.timestamp - rpc_completed.timestamp吗?在我的例子中,我看到了他们之间的巨大差异。持续时间只有几千秒,其中rpc_starting.timestamp - rpc_completed.timestamp是6-10秒.

我在Enterprise2016sp2-cu14上,持续时间字段是微秒。我为捕获sp_statement_starting和sp_statement_completed、sp_batch_starting/sp_batch_ rpc_starting和rpc_completed做了类似的事情。这表明了同样的情况。我的问题是“哪一个人告诉我查询实际花费了多少时间?在sp_statement_completed中是持续时间,还是开始和完成之间的区别?”
发布于 2020-12-05 21:12:44
我不认为工期列表示timestamp_UTC列在rpc_starting和rpc_completed事件之间的时间差。假设您在Server的任何版本(2008年R2+)上,该列以微秒为单位(任何旧版本,以毫秒为单位),因此在示例中是一个非常小的值(例如,1,872微秒= 0.00187秒)。
我基于微软的描述的猜测是,从字面上讲,这个事件发生和被记录需要多长时间。
发布于 2020-12-07 21:50:53
我的问题是“哪一个人告诉我查询实际花费了多少时间?在sp_statement_completed中是持续时间,还是开始和完成之间的区别?”
sp_statement_completed事件中的“持续时间”是查询在服务器上实际花费的时间。它不包括向客户端发送结果所花费的时间(通常,有关详细信息,请参阅这里 )。
我不确定为什么Extended时间戳列显示“开始”和“已完成”事件之间存在如此大的差异,但这不是您想要集中注意力的地方。
https://dba.stackexchange.com/questions/280973
复制相似问题