sys.dm_exec_trigger_stats(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric의 SQL 데이터베이스

캐시된 트리거에 대한 집계 성능 통계를 반환합니다. 뷰에는 트리거당 하나의 행이 포함되며, 트리거가 캐시된 상태로 유지되는 한 행의 수명은 유지됩니다. 캐시에서 트리거가 제거되면 이 뷰에서도 해당 행이 제거됩니다. 이때 성능 통계 SQL 추적 이벤트는 sys.dm_exec_query_stats와 유사하게 발생합니다.

열 이름 데이터 형식 설명
database_id int 트리거가 있는 데이터베이스 ID입니다.

Azure SQL Database에서 값은 단일 데이터베이스 또는 탄력적 풀 내에서 고유하지만 논리 서버 내에는 고유하지 않습니다.
object_id int 트리거의 개체 식별 번호입니다.
type char(2) 개체의 형식:

TA = CLR(어셈블리) 트리거

TR = SQL 트리거
Type_desc nvarchar(60) 개체 형식에 대한 설명:

CLR_TRIGGER

SQL_TRIGGER
sql_handle varbinary(64) 이 트리거 내에서 실행된 sys.dm_exec_query_stats 쿼리와 상관 관계를 지정하는 데 사용할 수 있습니다.
plan_handle varbinary(64) 메모리 내 계획의 식별자입니다. 이 식별자는 일시적이며 계획이 캐시에 남아 있는 동안에만 일정하게 유지됩니다. 이 값은 sys.dm_exec_cached_plans 동적 관리 뷰와 함께 사용할 수 있습니다.
cached_time 날짜/시간 이 트리거가 캐시에 추가된 시간입니다.
last_execution_time 날짜/시간 트리거가 마지막으로 실행된 시간입니다.
execution_count bigint 트리거가 마지막으로 컴파일된 이후 실행된 횟수입니다.
total_worker_time bigint 컴파일된 이후 이 트리거의 실행에 사용된 총 CPU 시간(마이크로초)입니다.
last_worker_time bigint 트리거가 마지막으로 실행되었을 때 사용된 CPU 시간(마이크로초)입니다.
min_worker_time bigint 이 트리거가 단일 실행 중에 사용한 최대 CPU 시간(마이크로초)입니다.
max_worker_time bigint 이 트리거가 단일 실행 중에 사용한 최대 CPU 시간(마이크로초)입니다.
total_physical_reads bigint 컴파일된 이후 이 트리거의 실행에 의해 수행된 실제 읽기의 총 수입니다.
last_physical_reads bigint 트리거가 마지막으로 실행되었을 때 수행된 실제 읽기 수입니다.
min_physical_reads bigint 이 트리거가 단일 실행 중에 수행한 최소 물리적 읽기 수입니다.
max_physical_reads bigint 이 트리거가 단일 실행 중에 수행한 최대 물리적 읽기 수입니다.
total_logical_writes bigint 컴파일된 이후 이 트리거의 실행에 의해 수행된 논리적 쓰기의 총 수입니다.
last_logical_writes bigint 트리거가 마지막으로 실행되었을 때 수행된 논리적 쓰기 수입니다.
min_logical_writes bigint 이 트리거가 단일 실행 중에 수행한 최소 논리 쓰기 수입니다.
max_logical_writes bigint 이 트리거가 단일 실행 중에 수행한 최대 논리 쓰기 수입니다.
total_logical_reads bigint 컴파일된 이후 이 트리거의 실행에 의해 수행된 총 논리 읽기 수입니다.
last_logical_reads bigint 트리거가 마지막으로 실행되었을 때 수행된 논리적 읽기 수입니다.
min_logical_reads bigint 이 트리거가 단일 실행 중에 수행한 최소 논리 읽기 수입니다.
max_logical_reads bigint 이 트리거가 단일 실행 중에 수행한 최대 논리 읽기 수입니다.
total_elapsed_time bigint 이 트리거의 완료된 실행에 대한 총 경과 시간(마이크로초)입니다.
last_elapsed_time bigint 가장 최근에 이 트리거의 실행을 완료하는 데 소요된 경과 시간(마이크로초)입니다.
min_elapsed_time bigint 이 트리거의 완료된 실행에 대한 최소 경과 시간(마이크로초)입니다.
max_elapsed_time bigint 이 트리거의 완료된 실행에 대한 최대 경과 시간(마이크로초)입니다.
total_spills bigint 컴파일된 이후 이 트리거를 실행하여 유출된 총 페이지 수입니다.

적용 대상: SQL Server 2017(14.x) CU3부터
last_spills bigint 트리거가 마지막으로 실행되었을 때 유출된 페이지 수입니다.

적용 대상: SQL Server 2017(14.x) CU3부터
min_spills bigint 단일 실행 중에 이 트리거가 유출된 최소 페이지 수입니다.

적용 대상: SQL Server 2017(14.x) CU3부터
max_spills bigint 단일 실행 중에 이 트리거가 유출한 최대 페이지 수입니다.

적용 대상: SQL Server 2017(14.x) CU3부터
total_page_server_reads bigint 컴파일된 이후 이 트리거의 실행에 의해 수행된 총 페이지 서버 읽기 수입니다.

적용 대상: Azure SQL Database 하이퍼스케일
last_page_server_reads bigint 트리거가 마지막으로 실행되었을 때 수행된 페이지 서버 읽기 수입니다.

적용 대상: Azure SQL Database 하이퍼스케일
min_page_server_reads bigint 단일 실행 중에 이 트리거가 수행한 최소 페이지 서버 읽기 수입니다.

적용 대상: Azure SQL Database 하이퍼스케일
max_page_server_reads bigint 단일 실행 중에 이 트리거가 수행한 최대 페이지 서버 읽기 수입니다.

적용 대상: Azure SQL Database 하이퍼스케일

설명

SQL Database에서 동적 관리 뷰는 데이터베이스 포함에 영향을 주는 정보를 노출하거나 사용자가 액세스할 수 있는 다른 데이터베이스에 대한 정보를 노출할 수 없습니다. 이 정보를 노출하지 않으려면 연결된 테넌트에 속하지 않는 데이터가 포함된 모든 행이 필터링됩니다.

뷰의 통계는 쿼리가 완료되면 업데이트됩니다.

사용 권한

SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE 권한이 필요합니다.

SQL Database Basic, S0S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##서버 역할의 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.

SQL Server 2022 이상에 대한 사용 권한

서버에 대한 SERVER PERFORMANCE STATE 권한이 필요합니다 VIEW .

예제

다음 예제에서는 평균 경과 시간으로 식별되는 상위 5개 트리거에 대한 정보를 반환합니다.

SELECT TOP 5 d.object_id, d.database_id, DB_NAME(database_id) AS 'database_name',   
    OBJECT_NAME(object_id, database_id) AS 'trigger_name', d.cached_time,  
    d.last_execution_time, d.total_elapsed_time,   
    d.total_elapsed_time/d.execution_count AS [avg_elapsed_time],   
    d.last_elapsed_time, d.execution_count  
FROM sys.dm_exec_trigger_stats AS d  
ORDER BY [total_worker_time] DESC;  

참고 항목

실행 관련 동적 관리 뷰 및 함수(Transact-SQL)
sys.dm_exec_sql_text(Transact-SQL)
sys.dm_exec_query_stats(Transact-SQL)
sys.dm_exec_procedure_stats(Transact-SQL)
sys.dm_exec_cached_plans(Transact-SQL)