イベント期間の延長はミリ秒またはマイクロ秒ですか?


15

このフォーラムには、延長イベントmodule_end期間ユニットに関する質問がありました。詳細はこちら

すべてのイベントで常にマイクロ秒単位ですか?

回答:


30

これは、ミリ秒、マイクロ秒、およびいくつかは不明です。見つける最も簡単な方法は、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に対して同じクエリを実行し、将来も同じ混乱をもたらすことを確認しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.