sys.dm_exec_trigger_stats (Transact-SQL)

キャッシュされたトリガーの集計パフォーマンス統計を返します。このビューには、トリガーごとに 1 行が含まれており、その行の有効期間はトリガーがキャッシュに残っている間になります。つまり、トリガーがキャッシュから削除されると、対応する行もこのビューから削除されます。その時点で、sys.dm_exec_query_stats と同様にパフォーマンス統計 SQL トレース イベントが発生します。

列名

データ型

説明

database_id

int

トリガーが存在するデータベースの ID。

object_id

int

トリガーのオブジェクト ID 番号。

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

datetime

トリガーがキャッシュに追加された時刻。

last_execution_time

datetime

前回トリガーが実行された時刻。

execution_count

bigint

前回のコンパイル時以降に、トリガーが実行された回数。

total_worker_time

bigint

コンパイル後にこのトリガーの実行で使用された CPU 時間の合計 (マイクロ秒単位)。

last_worker_time

bigint

トリガーを前回実行したときに使用された CPU 時間 (マイクロ秒単位)。

min_worker_time

bigint

このトリガーの 1 回の実行で使用された最大 CPU 時間 (マイクロ秒単位)。

max_worker_time

bigint

このトリガーの 1 回の実行で使用された最大 CPU 時間 (マイクロ秒単位)。

total_physical_reads

bigint

コンパイル後にこのトリガーの実行で行われた物理読み取りの合計数。

last_physical_reads

bigint

トリガーを前回実行したときに行われた物理読み取りの数。

min_physical_reads

bigint

このトリガーの 1 回の実行で行われた物理読み取りの最小数。

max_physical_reads

bigint

このトリガーの 1 回の実行で行われた物理読み取りの最大数。

total_logical_writes

bigint

コンパイル後にこのトリガーの実行で行われた論理書き込みの合計数。

last_logical_writes

bigint

トリガーを前回実行したときに行われた論理書き込みの数。

min_logical_writes

bigint

このトリガーの 1 回の実行で行われた論理書き込みの最小数。

max_logical_writes

bigint

このトリガーの 1 回の実行で行われた論理書き込みの最大数。

total_logical_reads

bigint

コンパイル後にこのトリガーの実行で行われた論理読み取りの合計数。

last_logical_reads

bigint

トリガーを前回実行したときに行われた論理読み取りの数。

min_logical_reads

bigint

このトリガーの 1 回の実行で行われた論理読み取りの最小数。

max_logical_reads

bigint

このトリガーの 1 回の実行で行われた論理読み取りの最大数。

total_elapsed_time

bigint

このトリガーの実行完了までの経過時間の合計 (マイクロ秒単位)。

last_elapsed_time

bigint

このトリガーの前回の実行完了までの経過時間 (マイクロ秒単位)。

min_elapsed_time

bigint

このトリガーの任意の実行完了までの最小経過時間 (マイクロ秒単位)。

max_elapsed_time

bigint

このトリガーの任意の実行完了までの最大経過時間 (マイクロ秒単位)。

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。

説明

ビュー内の統計は、クエリが完了したときに更新されます。

次の例では、平均経過時間で識別される上位 5 つのトリガーに関する情報を返します。

PRINT '--top 5 CPU consuming triggers ';
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;