什么是SQL事件探查器的持续时间测量?

时间:2017-12-11 15:57:19

标签: sql-server sql-server-2008-r2 sql-server-2014

我在服务器上遇到奇怪的超时错误以进行简单的查询(即使没有其他服务器负载也会花费太长时间)。

使用扩展事件 SQL事件探查器,我监控了一个查询:

  • 时间戳:12/7/2017 12:14:36 PM
  • 名称:sql_batch_completed
  • 批处理文字SELECT 'Testing Connection...
  • 结果:确定
  • 行数:1
  • 逻辑阅读:0
  • CPU时间:78,000 us(78 ms)
  • 持续时间:15,796,907我们( 15,797 ms

出于某种原因查询:

  

选择'测试连接...'

15秒完成。

但是花了15秒才完成?它只花了78ms的CPU时间。在另外14.2秒内又是什么?

SQL Profiler(和扩展事件)正在衡量的持续时间是什么?

是时间到最后一个字节发送给客户端了吗?如果是这样,它如何知道最后一个字节何时被传送到客户端?

如果确实包含网络时间,那么有时这是一个相当慢的局域网。

联机丛书

从SQL Server 2000联机丛书(最后一次记录Profiler):

  

SQL事件探查器数据列

     

SQL事件探查器允许您在创建模板时选择数据列。这些数据列表示在跟踪运行时要返回的信息。 SQL事件探查器中显示的数据可以按事件发生的顺序显示,也可以基于一个或多个数据列组合显示在组中。

     

下表介绍了SQL事件探查器数据列,以及默认选择的列。

| Data Column | Column Number | Description                                           |
|-------------|---------------|-------------------------------------------------------|
| Duration    | 13            | Amount of time (in milliseconds) taken by the event.  |

奖金阅读

0 个答案:

没有答案