Performance Statistics 이벤트 클래스

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Performance Statistics 이벤트 클래스는 실행 중인 쿼리, 저장 프로시저 및 트리거의 성능을 모니터링하는 데 사용할 수 있습니다. 6개의 이벤트 서브클래스는 각각 시스템 내의 쿼리, 저장 프로시저 및 트리거의 수명 동안 이벤트를 나타냅니다. 이러한 이벤트 하위 클래스와 연결된 sys.dm_exec_query_stats, sys.dm_exec_procedure_stats 및 sys.dm_exec_trigger_stats 동적 관리 뷰의 조합을 사용하여 지정된 쿼리, 저장 프로시저 또는 트리거의 성능 기록을 다시 구성할 수 있습니다.

성능 통계 이벤트 클래스 데이터 열

다음 표에서는 EventSubClass 0, EventSubClass 1, EventSubClass 2, EventSubClass 3, EventSubClass 4 및 EventSubClass 5의 각 이벤트 서브클래스와 연결된 이벤트 클래스 데이터 열을 설명합니다.

EventSubClass 0

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
BigintData1 bigint NULL 52
BinaryData image NULL 2
DatabaseID int 지정된 인스턴스에 대해 USE 데이터베이스 문이 실행되지 않은 경우 USE 데이터베이스 문 또는 기본 데이터베이스에 지정된 데이터베이스의 ID입니다. Sql Server Profiler는 ServerName 데이터 열이 추적에 캡처되고 서버를 사용할 수 있는 경우 데이터베이스의 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. 3
EventSequence int 요청 내에 지정된 이벤트 시퀀스입니다. 51 없음
EventSubClass int 이벤트 하위 클래스의 유형입니다.

0 = 현재 캐시에 없는 새 일괄 처리 SQL 텍스트입니다.

다음 EventSubClass 형식은 임시 일괄 처리에 대한 추적에서 생성됩니다.

n개의 쿼리가 있는 임시 일괄 처리의 경우:

형식 0 중 1
21
IntegerData2 int NULL 55
ObjectID int NULL 22
Offset int NULL 61
PlanHandle Image NULL 65
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. 64
SPID int 이벤트가 발생한 세션의 ID입니다. 12
SqlHandle image sys.dm_exec_sql_text 동적 관리 뷰를 사용하여 일괄 처리 SQL 텍스트를 가져오는 데 사용할 수 있는 SQL 핸들입니다. 63
StartTime datetime 이벤트가 시작된 시간(사용 가능한 경우)입니다. 14
TextData ntext 일괄 처리의 SQL 텍스트입니다. 1

EventSubClass 1

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
BigintData1 bigint 이 계획이 다시 컴파일된 누적 횟수입니다. 52
BinaryData image 컴파일된 계획의 이진 XML입니다. 2
DatabaseID int 지정된 인스턴스에 대해 USE 데이터베이스 문이 실행되지 않은 경우 USE 데이터베이스 문 또는 기본 데이터베이스에 지정된 데이터베이스의 ID입니다. Sql Server Profiler는 ServerName 데이터 열이 추적에 캡처되고 서버를 사용할 수 있는 경우 데이터베이스의 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. 3
EventSequence int 요청 내에 지정된 이벤트 시퀀스입니다. 51 없음
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. 64
EventSubClass int 이벤트 하위 클래스의 유형입니다.

1 = 저장 프로시저 내의 쿼리가 컴파일되었습니다.

저장 프로시저에 대한 추적에서 다음 EventSubClass 유형이 생성됩니다.

쿼리 수가 n 인 저장 프로시저

형식 1의 n 번호
21
IntegerData2 int 저장 프로시저 내의 문의 끝입니다.

저장 프로시저 끝의 경우 -1입니다.
55
ObjectID int 개체의 시스템 할당 ID입니다. 22
Offset int 저장 프로시저나 일괄 처리 내에 있는 문의 시작 오프셋입니다. 61
SPID int 이벤트가 발생한 세션의 ID입니다. 12
SqlHandle image dm_exec_sql_text 동적 관리 뷰를 사용하여 저장 프로시저의 SQL 텍스트를 가져오는 데 사용할 수 있는 SQL 핸들입니다. 63
StartTime datetime 이벤트가 시작된 시간(사용 가능한 경우)입니다. 14
TextData ntext NULL 1
PlanHandle image 저장 프로시저에 대해 컴파일된 계획의 계획 핸들입니다. sys.dm_exec_query_plan 동적 관리 뷰를 사용하여 XML 계획을 가져오는 데 사용할 수 있습니다. 65
ObjectType int 이벤트에 관련된 개체의 형식을 나타내는 값입니다.

8272 = 저장 프로시저
28
BigintData2 bigint 컴파일 중에 사용되는 총 메모리(킬로바이트)입니다. 53
CPU int 컴파일하는 동안 소요된 총 CPU 시간(밀리초)입니다. 18
기간 int 컴파일하는 동안 소요된 총 시간(마이크로초)입니다. 13
IntegerData int 컴파일된 계획의 크기(KB)입니다. 25

EventSubClass 2

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
BigintData1 bigint 이 계획이 다시 컴파일된 누적 횟수입니다. 52
BinaryData image 컴파일된 계획의 이진 XML입니다. 2
DatabaseID int 지정된 인스턴스에 대해 USE 데이터베이스 문이 실행되지 않은 경우 USE 데이터베이스 문 또는 기본 데이터베이스에 지정된 데이터베이스의 ID입니다. Sql Server Profiler는 ServerName 데이터 열이 추적에 캡처되고 서버를 사용할 수 있는 경우 데이터베이스의 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. 3
EventSequence int 요청 내에 지정된 이벤트 시퀀스입니다. 51 없음
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. 64
EventSubClass int 이벤트 하위 클래스의 유형입니다.

2 = 임시 SQL 문 내의 쿼리가 컴파일되었습니다.

다음 EventSubClass 형식은 임시 일괄 처리에 대한 추적에서 생성됩니다.

n개의 쿼리가 있는 임시 일괄 처리의 경우:

형식 2의 n 번호
21
IntegerData2 int 일괄 처리 내에 있는 문의 끝입니다.

-1은 일괄 처리의 끝입니다.
55
ObjectID int 해당 없음 22
Offset int 일괄 처리 내에서 문의 시작 오프셋입니다.

0은 일괄 처리의 시작입니다.
61
SPID int 이벤트가 발생한 세션의 ID입니다. 12
SqlHandle image SQL 핸들입니다. dm_exec_sql_text 동적 관리 뷰를 사용하여 일괄 처리 SQL 텍스트를 가져오는 데 사용할 수 있습니다. 63
StartTime datetime 이벤트가 시작된 시간(사용 가능한 경우)입니다. 14
TextData ntext NULL 1
PlanHandle image 일괄 처리에 대해 컴파일된 계획의 계획 핸들입니다. dm_exec_query_plan 동적 관리 뷰를 사용하여 일괄 처리 XML 계획을 가져오는 데 사용할 수 있습니다. 65
BigintData2 bigint 컴파일 중에 사용되는 총 메모리(킬로바이트)입니다. 53
CPU int 컴파일 시 소요되는 총 CPU 시간(마이크로초)입니다. 18
기간 int 컴파일하는 동안 소요된 총 시간(밀리초)입니다. 13
IntegerData int 컴파일된 계획의 크기(KB)입니다. 25

EventSubClass 3

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
BigintData1 bigint 이 계획이 다시 컴파일된 누적 횟수입니다. 52
BinaryData image NULL 2
DatabaseID int 지정된 인스턴스에 대해 USE 데이터베이스 문이 실행되지 않은 경우 USE 데이터베이스 문 또는 기본 데이터베이스에 지정된 데이터베이스의 ID입니다. Sql Server Profiler는 ServerName 데이터 열이 추적에 캡처되고 서버를 사용할 수 있는 경우 데이터베이스의 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. 3
EventSequence int 요청 내에 지정된 이벤트 시퀀스입니다. 51 없음
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. 64
EventSubClass int 이벤트 하위 클래스의 유형입니다.

3 = 캐시된 쿼리가 삭제되었으며 계획과 연결된 기록 성능 데이터가 제거될 예정입니다.

추적에서 생성되는 EventSubClass 형식은 다음과 같습니다.

n개의 쿼리가 있는 임시 일괄 처리의 경우:

쿼리가 캐시에서 플러시될 때 유형 3인 쿼리 한 개

쿼리 수가 n 인 저장 프로시저

쿼리가 캐시에서 플러시되는 경우 유형 3 중 1개입니다.
21
IntegerData2 int 저장 프로시저나 일괄 처리 내에 있는 문의 끝입니다.

저장 프로시저 또는 일괄 처리의 끝 부분에 대해 -1입니다.
55
ObjectID int NULL 22
Offset int 저장 프로시저나 일괄 처리 내에 있는 문의 시작 오프셋입니다.

0은 저장 프로시저나 일괄 처리의 시작입니다.
61
SPID int 이벤트가 발생한 세션의 ID입니다. 12
SqlHandle image dm_exec_sql_text 동적 관리 뷰를 사용하여 저장 프로시저 또는 일괄 처리 SQL 텍스트를 가져오는 데 사용할 수 있는 SQL 핸들입니다. 63
StartTime datetime 이벤트가 시작된 시간(사용 가능한 경우)입니다. 14
TextData ntext QueryExecutionStats 1
PlanHandle image 저장 프로시저 또는 일괄 처리에 대해 컴파일된 계획의 계획 핸들입니다. dm_exec_query_plan 동적 관리 뷰를 사용하여 XML 계획을 가져오는 데 사용할 수 있습니다. 65
GroupID int SQL Trace 이벤트가 발생하는 워크로드 그룹의 ID입니다. 66

EventSubClass 4

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
BigintData1 bigint NULL 52
BinaryData image NULL 2
DatabaseID int 지정된 저장 프로시저가 있는 데이터베이스의 ID입니다. 3
EventSequence int 요청 내에 지정된 이벤트 시퀀스입니다. 51 없음
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. 64
EventSubClass int 이벤트 하위 클래스의 유형입니다.

4 = 캐시된 저장 프로시저가 캐시에서 제거되고 연결된 기록 성능 데이터가 제거됩니다.
21
IntegerData2 int NULL 55
ObjectID int 저장 프로시저의 ID입니다. 이는 sys.procedures의 object_id 열과 동일합니다. 22
Offset int NULL 61
SPID int 이벤트가 발생한 세션의 ID입니다. 12
SqlHandle image dm_exec_sql_text 동적 관리 뷰를 사용하여 실행된 저장 프로시저 SQL 텍스트를 가져오는 데 사용할 수 있는 SQL 핸들입니다. 63
StartTime datetime 이벤트가 시작된 시간(사용 가능한 경우)입니다. 14
TextData ntext ProcedureExecutionStats 1
PlanHandle image 저장 프로시저에 대해 컴파일된 계획의 계획 핸들입니다. dm_exec_query_plan 동적 관리 뷰를 사용하여 XML 계획을 가져오는 데 사용할 수 있습니다. 65
GroupID int SQL Trace 이벤트가 발생하는 워크로드 그룹의 ID입니다. 66

EventSubClass 5

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
BigintData1 bigint NULL 52
BinaryData image NULL 2
DatabaseID int 지정된 트리거가 있는 데이터베이스의 ID입니다. 3
EventSequence int 요청 내에 지정된 이벤트 시퀀스입니다. 51 없음
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. 64
EventSubClass int 이벤트 하위 클래스의 유형입니다.

5 = 캐시된 트리거가 캐시에서 제거되었으며 연결된 기록 성능 데이터가 제거됩니다.
21
IntegerData2 int NULL 55
ObjectID int 트리거의 ID입니다. 이는 sys.triggers/sys.server_triggers 카탈로그 뷰의 object_id 열과 동일합니다. 22
Offset int NULL 61
SPID int 이벤트가 발생한 세션의 ID입니다. 12
SqlHandle image dm_exec_sql_text 동적 관리 뷰를 사용하여 트리거의 SQL 텍스트를 가져오는 데 사용할 수 있는 SQL 핸들입니다. 63
StartTime datetime 이벤트가 시작된 시간(사용 가능한 경우)입니다. 14
TextData ntext TriggerExecutionStats 1
PlanHandle image 트리거에 대해 컴파일된 계획의 계획 핸들입니다. dm_exec_query_plan 동적 관리 뷰를 사용하여 XML 계획을 가져오는 데 사용할 수 있습니다. 65
GroupID int SQL Trace 이벤트가 발생하는 워크로드 그룹의 ID입니다. 66

참고 항목

확장 이벤트
sp_trace_setevent(Transact-SQL)
Showplan XML for Query Compile 이벤트 클래스
동적 관리 뷰 및 함수(Transact-SQL)