sys.dm_exec_xml_handles (Transact-SQL)
傳回 sp_xml_preparedocument 已開啟的使用中控制代碼資訊。
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
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 後經過的毫秒。 |
備註
用以擷取對 sp_xml_preparedocument 執行呼叫的 SQL 文字之 sql_handles 的存留期間,比用以執行查詢的快取計畫還久。 如果在快取中沒有查詢文字,就不能使用函數結果中提供的資訊來擷取資料。 如果您執行許多大型批次就有可能發生這種情況。
Permissions
需要伺服器上的 VIEW SERVER STATE 權限,以查看呼叫端未擁有的所有工作階段或工作階段識別碼。 呼叫端永遠都可以查看自己目前工作階段識別碼的資料。
範例
下列範例選取了所有使用中的控制代碼。
SELECT * FROM sys.dm_exec_xml_handles(0);