sys.dm_xe_session_targets 세부

By | 2025-07-24

sys.dm_xe_session_targets 뷰는 SQL Server의 Extended Events (확장 이벤트) 기능에서 사용 중인 타겟(target) 에 대한 정보를 제공합니다. 이 DMV는 실행 중인 XE 세션의 타겟 구성과 상태를 실시간으로 모니터링할 때 유용합니다.


📌 개념 요약

  • 확장 이벤트 타겟(Target): 이벤트 데이터를 저장하거나 처리하는 위치 (예: 메모리, 파일 등).
  • sys.dm_xe_session_targets: 현재 실행 중인 세션에 연결된 타겟들의 정보 제공.

📋 주요 컬럼 설명

컬럼명설명
event_session_address세션의 메모리 주소 (XE 세션과 조인 시 사용)
target_address타겟의 메모리 주소
target_name타겟의 이름 (예: ring_bufferevent_fileevent_counter)
execution_count타겟이 실행된 횟수
last_execution_time마지막으로 타겟이 실행된 시간
target_data수집된 타겟 데이터 (XML 형식 또는 바이너리)

📂 대표적인 타겟 종류

타겟 이름설명
ring_buffer메모리에 이벤트 데이터를 저장 (휘발성)
event_file이벤트 데이터를 파일에 저장 (영속성)
histogram통계 정보를 히스토그램 형태로 저장
event_counter이벤트 발생 횟수만 저장

🔍 활용 예제 1: ring_buffer에서 이벤트 보기

SELECT 
    s.name AS session_name,
    t.target_name,
    CAST(t.target_data AS XML) AS target_data_xml
FROM 
    sys.dm_xe_session_targets t
JOIN 
    sys.dm_xe_sessions s ON t.event_session_address = s.address
WHERE 
    t.target_name = 'ring_buffer';

이 결과의 target_data_xml 컬럼은 이벤트 데이터가 XML로 포함되어 있습니다.


🔍 활용 예제 2: event_file 사용 중인 타겟 확인

SELECT 
    s.name AS session_name,
    t.target_name,
    CAST(t.target_data AS XML) AS target_data
FROM 
    sys.dm_xe_session_targets t
JOIN 
    sys.dm_xe_sessions s ON t.event_session_address = s.address
WHERE 
    t.target_name = 'event_file';

XML 내부에는 이벤트 파일 경로 등 메타데이터가 들어 있습니다.


🧩 함께 사용하면 좋은 DMV들

DMV설명
sys.dm_xe_sessions현재 실행 중인 XE 세션 목록
sys.dm_xe_session_events세션에서 수집하고 있는 이벤트 정보
sys.dm_xe_session_event_actions이벤트에 연결된 액션 정보

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다