sys.dm_exec_xml_handles (Transact-SQL)
sp_xml_preparedocument で開かれたアクティブ ハンドルに関する情報を返します。
構文
dm_exec_xml_handles (session_id | 0 )
引数
session_id | 0,
セッションの ID を指定します。 session_id を指定した場合、この関数では指定したセッションの XML ハンドルに関する情報が返されます。0 を指定した場合、この関数ではすべてのセッションのすべての XML ハンドルに関する情報が返されます。
返されるテーブル
列名 |
データ型 |
説明 |
---|---|---|
session_id |
int |
この XML ドキュメント ハンドルを保持しているセッションのセッション ID。 |
document_id |
int |
sp_xml_preparedocument から返される XML ドキュメント ハンドル ID。 |
namespace_document_id |
int |
sp_xml_preparedocument に 3 つ目のパラメーターとして渡されている、関連付けられた名前空間ドキュメントに使用される内部ハンドル ID。 名前空間ドキュメントがない場合は NULL になります。 |
sql_handle |
varbinary(64) |
ハンドルが定義されている SQL コードのテキストへのハンドル。 |
statement_start_offset |
int |
現在実行中のバッチまたはストアド プロシージャに含まれる、sp_xml_preparedocument の呼び出しが行われるまでの文字数。 sql_handle、statement_end_offset、sys.dm_exec_sql_text 動的管理関数と共に使用して、要求に対して現在実行中のステートメントを取得できます。 |
statement_end_offset |
int |
現在実行中のバッチまたはストアド プロシージャに含まれる、sp_xml_preparedocument の呼び出しが行われるまでの文字数。 sql_handle、statement_start_offset、sys.dm_exec_sql_text 動的管理関数と共に使用して、要求に対して現在実行中のステートメントを取得できます。 |
creation_time |
datetime |
sp_xml_preparedocument が呼び出されたときのタイムスタンプ。 |
original_document_size_bytes |
bigint |
未解析の XML ドキュメントのサイズ (バイト単位)。 |
original_namespace_document_size_bytes |
bigint |
未解析の XML 名前空間ドキュメントのサイズ (バイト単位)。 名前空間ドキュメントがない場合は NULL になります。 |
num_openxml_calls |
bigint |
このドキュメント ハンドルを使用する OPENXML 呼び出しの数。 |
row_count |
bigint |
このドキュメント ハンドルに対する前のすべての OPENXML 呼び出しによって返される行数。 |
dormant_duration_ms |
bigint |
最後に OPENXML が呼び出されてから経過した時間 (ミリ秒)。 OPENXML が呼び出されていない場合は、sp_xml_preparedocumen が呼び出されてから経過した時間 (ミリ秒) が返されます。 |
説明
sp_xml_preparedocument への呼び出しを実行した SQL テキストの取得に使用される sql_handles の有効期間は、クエリの実行に使用されるキャッシュ済みのプランよりも長くなります。 クエリ テキストがキャッシュ内で使用できない場合は、関数の結果に示された情報を使用してデータを取得することはできません。 この状況は、大きなバッチを多数実行している場合に発生する可能性があります。
権限
呼び出し元が所有していないすべてのセッションまたはセッション ID を参照するには、サーバーに対する VIEW SERVER STATE 権限が必要です。 呼び出し元は常に自分の現在のセッション ID のデータを参照できます。
使用例
次の例では、アクティブ ハンドルをすべて選択します。
select * from sys.dm_exec_xml_handles(0)