sys.dm_exec_trigger_stats(Transact-SQL)

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

캐시된 트리거에 대한 집계 성능 통계를 반환합니다. 뷰에는 트리거당 하나의 행이 포함되며, 행의 수명은 트리거가 다시 캐시되는 한 기본. 캐시에서 트리거가 제거되면 이 뷰에서도 해당 행이 제거됩니다. 이때 성능 통계 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 이상에 대한 권한

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

예제

다음 예제에서는 평균 경과 시간으로 식별되는 상위 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)