我正在运行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
根据我的计算*,经过时间应该在349,103左右,而不是1,419,976。相差四分之一。
*根据当前时间与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 1)
有什么想法可能导致这种差异吗?