확장 된 이벤트 기간 밀리 초 또는 마이크로 초?


답변:


30

Millisecond, 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 가지 다른 값을 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오

NULL의 경우 가장 좋은 옵션은 (가능한 경우 시작 및 종료 시간으로) 실행하고 장치가 무엇인지 찾는 것입니다.

나는 vnext SQL Server에 대해 동일한 쿼리를 실행했으며 미래에도 같은 혼란을 겪을 것이라고 확인했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.