小编Joe*_*ias的帖子

DMV sys.dm_exec_requests 中的 total_elapsed_time 是否完全不准确?

我正在运行 SQL Server 2012 并尝试将一些查询放在一起以使用 DMV 进行监控。但是,当查看DMV中的total_elapsed_time字段时sys.dm_exec_requests,这些数字看起来相差甚远。下面是一个例子:

SELECT
  session_id, RunTime = CURRENT_TIMESTAMP,
  start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE session_id = 284;

session_id  RunTime                 start_time              total_elapsed_time
284         2016-04-07 16:14:03.690 2016-04-07 16:08:14.587 1419976
Run Code Online (Sandbox Code Playgroud)

根据我的计算*,经过的时间应该在 349,103 左右——而不是 1,419,976。这减少了超过 4 倍。

* 从当前时间和start_time之间的差异,以毫秒为单位,即
SELECT DATEDIFF(MILLISECOND, '2016-04-07T16:08:14.587', '2016-04-07T16:14:03.690');

这是服务器信息:

SELECT @@VERSION;

Microsoft SQL Server 2012 - 11.0.5592.0 (X64) 
    Apr 17 2015 15:18:46 
    Copyright (c) Microsoft Corporation
    Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack …
Run Code Online (Sandbox Code Playgroud)

sql-server dmv sql-server-2012

13
推荐指数
2
解决办法
4782
查看次数

标签 统计

dmv ×1

sql-server ×1

sql-server-2012 ×1