SQL 추적 및 확장 이벤트의 이벤트 대응을 얻습니다.
5784 단어 SQLServer
동기
SQL Server에서 확장 이벤트 세션을 설정하는 동안 "SQL 추적에서 말하는 이벤트가 없어요 ..."라는 장면이 드물게 자주 있습니다.
구체적으로는 SP:Completed
에 해당하는 이벤트를 찾을 수 없어서 곤란했습니다.
조사 방법
그럴 때는 아래 기사를 참고하여 이벤트의 대응을 확인하는 쿼리를 실행합시다.
SQL 추적 이벤트 클래스와 동등한 확장 이벤트 확인
쿼리
USE MASTER;
GO
SELECT DISTINCT
tb.trace_event_id,
te.name AS 'Event Class',
em.package_name AS 'Package',
em.xe_event_name AS 'XEvent Name',
tb.trace_column_id,
tc.name AS 'SQL Trace Column',
am.xe_action_name AS 'Extended Events action'
FROM
sys.trace_events te
LEFT JOIN sys.trace_xe_event_map em ON te.trace_event_id = em.trace_event_id
LEFT JOIN sys.trace_event_bindings tb ON em.trace_event_id = tb.trace_event_id
LEFT JOIN sys.trace_columns tc ON tb.trace_column_id = tc.trace_column_id
LEFT JOIN sys.trace_xe_action_map am ON tc.trace_column_id = am.trace_column_id
ORDER BY te.name, tc.name
결과 (일부 발췌)
trace_event_id
이벤트 클래스
Package
XEvent Name
trace_column_id
SQL Trace Column
Extended Events action
43
SP:Completed
sqlserver
module_end
1
TextData
NULL
43
SP:Completed
sqlserver
module_end
2
BinaryData
NULL
43
SP:Completed
sqlserver
module_end
3
DatabaseID
database_id
43
SP:Completed
sqlserver
module_end
4
TransactionID
transaction_id
43
SP:Completed
sqlserver
module_end
5
LineNumber
tsql_frame
43
SP:Completed
sqlserver
module_end
6
NTUserName
nt_username
43
SP:Completed
sqlserver
module_end
7
NTDomainName
nt_username
43
SP:Completed
sqlserver
module_end
8
HostName
client_hostname
43
SP:Completed
sqlserver
module_end
9
ClientProcessID
client_pid
43
SP:Completed
sqlserver
module_end
10
ApplicationName
client_app_name
43
SP:Completed
sqlserver
module_end
11
LoginName
server_principal_name
43
SP:Completed
sqlserver
module_end
12
SPID
session_id
SQL 트레이스에서 말하는 SP:Completed
를 확장 이벤트로 취득하려면 module_end
로 취득하면 좋은 것을 알았습니다.
여담
이벤트를 찾는 목적으로 세션을 만들 때 필터링할 수 있습니다.RPC:Completed
는 rpc_completed
SP:StmtCompleted
는 sp_statement_completed
SP:Completed
는 sp_completed
그렇군요-라고 생각하면 설마의 module_end
이었던 것이 아니라고 생각했습니다, 반성.
Reference
이 문제에 관하여(SQL 추적 및 확장 이벤트의 이벤트 대응을 얻습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_ksuke/items/791c72d58a2bb0669953
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그럴 때는 아래 기사를 참고하여 이벤트의 대응을 확인하는 쿼리를 실행합시다.
SQL 추적 이벤트 클래스와 동등한 확장 이벤트 확인
쿼리
USE MASTER;
GO
SELECT DISTINCT
tb.trace_event_id,
te.name AS 'Event Class',
em.package_name AS 'Package',
em.xe_event_name AS 'XEvent Name',
tb.trace_column_id,
tc.name AS 'SQL Trace Column',
am.xe_action_name AS 'Extended Events action'
FROM
sys.trace_events te
LEFT JOIN sys.trace_xe_event_map em ON te.trace_event_id = em.trace_event_id
LEFT JOIN sys.trace_event_bindings tb ON em.trace_event_id = tb.trace_event_id
LEFT JOIN sys.trace_columns tc ON tb.trace_column_id = tc.trace_column_id
LEFT JOIN sys.trace_xe_action_map am ON tc.trace_column_id = am.trace_column_id
ORDER BY te.name, tc.name
결과 (일부 발췌)
trace_event_id
이벤트 클래스
Package
XEvent Name
trace_column_id
SQL Trace Column
Extended Events action
43
SP:Completed
sqlserver
module_end
1
TextData
NULL
43
SP:Completed
sqlserver
module_end
2
BinaryData
NULL
43
SP:Completed
sqlserver
module_end
3
DatabaseID
database_id
43
SP:Completed
sqlserver
module_end
4
TransactionID
transaction_id
43
SP:Completed
sqlserver
module_end
5
LineNumber
tsql_frame
43
SP:Completed
sqlserver
module_end
6
NTUserName
nt_username
43
SP:Completed
sqlserver
module_end
7
NTDomainName
nt_username
43
SP:Completed
sqlserver
module_end
8
HostName
client_hostname
43
SP:Completed
sqlserver
module_end
9
ClientProcessID
client_pid
43
SP:Completed
sqlserver
module_end
10
ApplicationName
client_app_name
43
SP:Completed
sqlserver
module_end
11
LoginName
server_principal_name
43
SP:Completed
sqlserver
module_end
12
SPID
session_id
SQL 트레이스에서 말하는
SP:Completed
를 확장 이벤트로 취득하려면 module_end
로 취득하면 좋은 것을 알았습니다.여담
이벤트를 찾는 목적으로 세션을 만들 때 필터링할 수 있습니다.RPC:Completed
는 rpc_completed
SP:StmtCompleted
는 sp_statement_completed
SP:Completed
는 sp_completed
그렇군요-라고 생각하면 설마의 module_end
이었던 것이 아니라고 생각했습니다, 반성.
Reference
이 문제에 관하여(SQL 추적 및 확장 이벤트의 이벤트 대응을 얻습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_ksuke/items/791c72d58a2bb0669953
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SQL 추적 및 확장 이벤트의 이벤트 대응을 얻습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_ksuke/items/791c72d58a2bb0669953텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)