sys.dm_exec_trigger_stats (Transact-SQL)
キャッシュされたトリガーの集計パフォーマンス統計を返します。 このビューには、トリガーごとに 1 行が含まれており、その行の有効期間はトリガーがキャッシュに残っている間です。 つまり、トリガーがキャッシュから削除されると、対応する行もこのビューから削除されます。 その時点で、sys.dm_exec_query_stats と同様にパフォーマンス統計 SQL トレース イベントが発生します。
列名 |
データ型 |
説明 |
---|---|---|
database_id |
int |
トリガーが存在するデータベースの ID。 |
object_id |
int |
トリガーのオブジェクト ID 番号。 |
型 |
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;
関連項目
参照
実行関連の動的管理ビューおよび関数 (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)