sys.dm_exec_xml_handles (Transact-SQL)
適用于:SQL Server
Azure 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_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_preparedocument 呼叫以來的毫秒數。 |
備註
用來擷取 SQL 文字的 sql_handles存留 期,用來擷取呼叫來 sp_xml_preparedocument 執行查詢的快取計畫。 如果在快取中沒有查詢文字,就不能使用函數結果中提供的資訊來擷取資料。 如果您執行許多大型批次就有可能發生這種情況。
權限
需要伺服器上的 VIEW SERVER STATE 權限,以查看呼叫端未擁有的所有工作階段或工作階段識別碼。 呼叫端永遠都可以查看自己目前工作階段識別碼的資料。
SQL Server 2022 和更新版本的許可權
需要伺服器上的 VIEW SERVER PERFORMANCE STATE 許可權。
範例
下列範例選取了所有使用中的控制代碼。
SELECT * FROM sys.dm_exec_xml_handles(0);
另請參閱
動態管理檢視和函數 (Transact-SQL)
執行相關的動態管理檢視和函數 (Transact-SQL)
sp_xml_preparedocument (Transact-SQL)
sp_xml_removedocument (Transact-SQL)