SQL Server - トレースイベントに対応する拡張イベントを確認するクエリ
拡張イベントを調べています。勉強した小ネタを残していこうと思います。
今回はトレースイベントに対応する拡張イベントを確認するクエリです。sys.trace_eventsとsys.trace_xe_event_mapを使います。
例として次の2つのトレースイベントに対応する拡張イベントを取得したいとします。
クエリは次のような感じに。
-- トレースイベントに対応する拡張イベントを確認する select te.trace_event_id as te_event_id, -- トレースイベントID te.name as te_event_name, -- トレースイベント名 xe.package_name as xe_package_name, -- 拡張イベントパッケージ名 xe.xe_event_name as xe_event_name -- 拡張イベント名 from sys.trace_events as te inner join sys.trace_xe_event_map as xe on te.trace_event_id = xe.trace_event_id where te.name in (N'RPC:Completed', N'SQL:BatchCompleted'); -- 結果 /* te_event_id te_event_name xe_package_name xe_event_name ------------ -------------------- -------------------- -------------------- 10 RPC:Completed sqlserver rpc_completed 12 SQL:BatchCompleted sqlserver sql_batch_completed */
いずれは拡張イベントでいわゆるスロークエリを取得したいと思っているのでこの2つのイベントを例として選んでみました。