MSSQL-识别扩展extended event(扩展事件)中的时间单位

发布时间:2024年01月16日

经常使用sqlserver extended event(扩展事件),但是总是忘记扩展事件使用的时间单位,不确定它们是 秒、毫秒、还是微秒?
以下下代码能够从 相关DMV中提取description字段内容来识别时间单位:

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 [c].[description]
                        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';

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_43230594/article/details/135621478
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。