共用方式為


sys.dm_exec_xml_handles (Transact-SQL)

傳回 sp_xml_preparedocument 已開啟的使用中控制代碼資訊。

語法

dm_exec_xml_handles (session_id | 0 )

引數

  • session_id | 0,
    工作階段的識別碼。如果有指定 session_id,這個函數將傳回指定工作階段中 XML 控制代碼的資訊。

    如果指定 0,這個函數會傳回所有工作階段的全部 XML 控制代碼資訊。

傳回的資料表

資料行名稱

資料類型

描述

session_id

int

儲存此 XML 文件控制代碼的工作階段之工作階段識別碼。

document_id

int

sp_xml_preparedocument 傳回的 XML 文件控制代碼識別碼。

namespace_document_id

int

已經做為第三個參數傳遞到 sp_xml_preparedocument 的相關聯命名空間文件所使用的內部控制代碼識別碼。如果沒有命名空間文件,則為 NULL。

sql_handle

varbinary(64)

已經定義控制代碼之 SQL 程式碼文字的控制代碼。

statement_start_offset

int

發生 sp_xml_preparedocument 呼叫所在的目前執行之批次或是預存程序中的字元數。可與 sql_handlestatement_end_offsetsys.dm_exec_sql_text 動態管理函數一起使用,來擷取該要求目前執行的陳述式。

statement_end_offset

int

發生 sp_xml_preparedocument 呼叫所在的目前執行之批次或是預存程序中的字元數。可與 sql_handlestatement_start_offsetsys.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_preparedocument 後經過的毫秒。

備註

用以擷取對 sp_xml_preparedocument 執行呼叫的 SQL 文字之 sql_handles 的存留期間,比用以執行查詢的快取計畫還久。如果在快取中沒有查詢文字,就不能使用函數結果中提供的資訊來擷取資料。如果您執行許多大型批次就有可能發生這種情況。

Permissions

需要伺服器上的 VIEW SERVER STATE 權限,以查看呼叫者未擁有的所有工作階段或工作階段識別碼。呼叫者永遠都可以查看自己目前工作階段識別碼的資料。

範例

下列範例選取了所有使用中的控制代碼。

select * from sys.dm_exec_xml_handles(0)