分享方式:


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_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 呼叫之後的毫秒。

備註

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)