확장 이벤트를 사용하여 시스템 작업 모니터링
적용 대상: SQL Server Azure SQL Database
이 절차에서는 ETW(Windows용 이벤트 추적)와 함께 확장 이벤트를 사용하여 시스템 활동을 모니터링하는 방법을 보여 줍니다. 또한 이 절차에서는 CREATE EVENT SESSION, ALTER EVENT SESSION 및 DROP EVENT SESSION 문을 사용하는 방법을 보여 줍니다.
이 태스크를 수행하려면 SQL Server Management Studio에서 쿼리 편집기를 사용하여 다음 절차를 수행해야 합니다. 또한 이 절차를 수행하려면 명령 프롬프트를 사용하여 ETW 명령을 실행해야 합니다.
확장 이벤트를 사용하여 시스템 활동 모니터링하기
쿼리 편집기에서 다음 문을 실행하여 이벤트 세션을 만들고 두 개의 이벤트를 추가합니다. checkpoint_begin 및 checkpoint_end 이벤트는 데이터베이스 검사점의 시작과 끝에서 발생합니다.
CREATE EVENT SESSION test0 ON SERVER ADD EVENT sqlserver.checkpoint_begin, ADD EVENT sqlserver.checkpoint_end WITH (MAX_DISPATCH_LATENCY = 1 SECONDS) go
버킷이 32개인 버킷팅 대상을 추가하여 데이터베이스 ID를 기준으로 검사점 수를 계산합니다.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.histogram ( SET slots = 32, filtering_event_name = 'sqlserver.checkpoint_end', source_type = 0, source = 'database_id' ) go
ETW 대상을 추가하려면 다음 문을 실행합니다. 이를 통해 검사점이 걸리는 시간을 결정하는 데 사용되는 시작 및 종료 이벤트를 볼 수 있습니다.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.etw_classic_sync_target go
다음 문을 실행하여 세션을 시작하고 이벤트 컬렉션을 시작합니다.
ALTER EVENT SESSION test0 ON SERVER STATE = start go
다음 문을 실행하여 세 이벤트를 실행합니다.
USE tempdb checkpoint go USE master checkpoint checkpoint go
다음 문을 실행하여 이벤트 수를 확인합니다.
SELECT CAST(xest.target_data AS xml) Bucketizer_Target_Data_in_XML FROM sys.dm_xe_session_targets xest JOIN sys.dm_xe_sessions xes ON xes.address = xest.event_session_address JOIN sys.server_event_sessions ses ON xes.name = ses.name WHERE xest.target_name = 'histogram' AND xes.name = 'test0' go
명령 프롬프트에서 다음 명령을 실행하여 ETW 데이터를 봅니다.
참고 항목
tracerpt 명령에 대한 도움말을 보려면 명령 프롬프트에서
tracerpt /?
를 입력합니다.logman query -ets --- List the ETW sessions. This is optional. logman update XE_DEFAULT_ETW_SESSION -fd -ets --- Flush the ETW log. tracerpt %temp%\xeetw.etl -o xeetw.txt --- Dump the events so they can be seen.
다음 문을 실행하여 이벤트 세션을 중지하고 서버에서 제거합니다.
ALTER EVENT SESSION test0 ON SERVER STATE = STOP go DROP EVENT SESSION test0 ON SERVER go
참고 항목
CREATE EVENT SESSION(Transact-SQL)
ALTER EVENT SESSION(Transact-SQL)
DROP EVENT SESSION(Transact-SQL)
확장 이벤트 카탈로그 뷰(Transact-SQL)
확장 이벤트 동적 관리 뷰
SQL Server 확장 이벤트 대상