Có một câu hỏi trong diễn đàn này về module_end
đơn vị thời lượng Sự kiện mở rộng , mà tôi đã trả lời. Chi tiết tại đây .
Có phải luôn luôn tính bằng micro giây cho tất cả các sự kiện?
Có một câu hỏi trong diễn đàn này về module_end
đơn vị thời lượng Sự kiện mở rộng , mà tôi đã trả lời. Chi tiết tại đây .
Có phải luôn luôn tính bằng micro giây cho tất cả các sự kiện?
Câu trả lời:
Nó là sự pha trộn của Millisecond, microsecond và một số không xác định. Cách dễ nhất để tìm Tôi đã sử dụng bên dưới mã tsql để xác định đó là cái gì.
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'
Đây là tập kết quả từ máy chủ SQL 2016 SP1. Tôi chỉ đăng một phần của nó. Nhìn vào cột WeatherUnit và bạn có thể thấy 3 giá trị khác nhau.
Đối với những người NULL tôi thấy tùy chọn tốt nhất là chạy (nếu có thể với thời gian bắt đầu và kết thúc) và tìm đơn vị là gì.
Tôi đã chạy cùng một truy vấn đối với SQL Server vnext và xác nhận rằng chúng tôi sẽ mang cùng một sự nhầm lẫn cho tương lai.