延长的事件持续时间是毫秒还是微秒?


Answers:


31

它混合了毫秒,微秒和一些未知数。最简单的查找方法我在tsql代码下面使用以确定哪个是什么。

SELECT p.name package_name,
       o.name event_name,
       c.name event_field,
       DurationUnit= CASE
                         WHEN c.description LIKE '%milli%' 
                         THEN SUBSTRING(c.description, CHARINDEX('milli', c.description),12)
                         WHEN c.description LIKE '%micro%' 
                         THEN SUBSTRING(c.description, CHARINDEX('micro', c.description),12)
                         ELSE NULL
                     END,
       c.type_name field_type,
       c.column_type column_type
FROM sys.dm_xe_objects o
JOIN sys.dm_xe_packages p ON o.package_guid = p.guid
JOIN sys.dm_xe_object_columns c ON o.name = c.object_name
WHERE o.object_type = 'event'
AND c.name ='duration'

这是来自SQL 2016 SP1服务器的结果集。我只张贴了一部分。查看DurationUnit列,您可以看到3个不同的值。

在此处输入图片说明

对于NULL,我发现最好的选择是运行(如果可能,可以使用开始时间和结束时间)并找到单位。

我对vnext SQL Server进行了相同的查询,并确认我们将在未来带来同样的困惑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.