Ada pertanyaan di forum ini tentang module_end
unit durasi Acara yang Diperpanjang , yang saya jawab. Detail di sini .
Apakah selalu dalam mikrodetik untuk semua acara?
sumber
Ada pertanyaan di forum ini tentang module_end
unit durasi Acara yang Diperpanjang , yang saya jawab. Detail di sini .
Apakah selalu dalam mikrodetik untuk semua acara?
Ini adalah campuran dari Millisecond, Microsecond dan beberapa tidak diketahui. Cara termudah untuk menemukan saya menggunakan kode tsql di bawah ini untuk menentukan yang mana.
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'
Berikut adalah hasil yang ditetapkan dari server SQL 2016 SP1. Saya hanya memposting sebagian saja. Lihatlah kolom DurationUnit dan Anda bisa melihat 3 nilai berbeda.
Untuk yang NULL saya menemukan opsi terbaik adalah menjalankan (jika mungkin dengan waktu mulai dan berakhir) dan temukan unitnya.
Saya menjalankan kueri yang sama terhadap SQL Server vnext dan mengkonfirmasi kami akan membawa kebingungan yang sama ke masa depan.