sys.dm_exec_xml_handles (Transact-SQL)
適用於:SQL ServerAzure 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_preparedocumen t 呼叫之後的 毫秒。 |
備註
sql_handles 存 留期,用來擷取執行呼叫的 SQL 文字,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)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應