Performance Statistics 이벤트 클래스
적용 대상: SQL Server Azure SQL 데이터베이스 Azure 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 | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 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 | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 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 | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 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 | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 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 | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 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 | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 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)