ขยายระยะเวลาเหตุการณ์มิลลิวินาทีหรือไมโครวินาที?


15

มีคำถามในฟอรัมนี้เกี่ยวกับmodule_endหน่วยระยะเวลาขยายกิจกรรมซึ่งฉันตอบ รายละเอียดที่นี่

มันเป็นไมโครวินาทีสำหรับเหตุการณ์ทั้งหมดหรือไม่

คำตอบ:


31

มันเป็นการผสมผสานของมิลลิวินาที Microsecond และบางส่วนไม่เป็นที่รู้จัก วิธีที่ง่ายที่สุดในการค้นหาฉันใช้โค้ด 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 ค่า

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับคนที่เป็นโมฆะฉันพบตัวเลือกที่ดีที่สุดคือการทำงาน (ถ้าเป็นไปได้ด้วยเวลาเริ่มต้นและสิ้นสุด) และค้นหาสิ่งที่หน่วย

ฉันเรียกใช้แบบสอบถามเดียวกันกับ vnext SQL Server และยืนยันว่าเราจะมีความสับสนในอนาคต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.