「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、実行プランの属性情報の出力について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_exec_plan_attributes」における、実行プランの属性情報の出力について解説します。対応バージョンは、SQL Server(サポートされている全てのバージョン)です。
SQL Serverではクエリを実行する際には、クエリテキストや統計情報を使用してコンパイル処理が実行され、コンパイル結果は「実行プラン」としてプランキャッシュに保存されます。次回以降の実行では、コンパイル前にプランキャッシュが確認され、実行プランが保存されている場合にはコンパイルは行われません。
実行プランにはツリー構造の実行計画が含まれますが、実行計画以外にも、データベースIDやセッション言語の情報、実行コンテキストの数などの属性情報が含まれています。
「sys.dm_exec_plan_attributes」動的管理関数を使用すると、実行プランの属性情報を出力できます。
構文 sys.dm_exec_plan_attributes ( plan_handle )
引数名 | データ型 | 説明 |
---|---|---|
plan_handle | varbinary(64) | プランキャッシュに格納されている実行プランの一意の識別子 「sys.dm_exec_cached_plans」動的管理ビューを参照することで、プランキャッシュに格納された実行プランのプランハンドルを取得できる |
結果は、属性ごとに1行のデータが出力されます。
列名 | データ型 | 説明 |
---|---|---|
attribute | varchar(128) | プランに関連付けられている属性の名前 (属性の一覧項参照) |
value | sql_variant | プランに関連付けられている属性の値 |
is_cache_key | bit | この属性が、プランに対するキャッシュ参照キーの一部として使用されているかどうか |
Copyright © ITmedia, Inc. All Rights Reserved.