sys.dm_exec_xml_handles (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

返回有关sp_xml_preparedocument已打开的活动句柄的信息。

语法

  
dm_exec_xml_handles (session_id | 0 )  

参数

session_id |0,
会话的 ID。 如果指定 了session_id ,此函数将返回有关指定会话中的 XML 句柄的信息。

如果指定 0,该函数将返回所有会话中的所有 XML 句柄的信息。

返回的表

列名称 数据类型 说明
session_id int 持有 XML 文档句柄的会话的会话 ID。
document_id int sp_xml_preparedocument返回的 XML 文档句柄 ID。
namespace_document_id int 用于已作为第三个参数传递给 sp_xml_preparedocument的关联命名空间文档的内部句柄 ID。 如果没有命名空间文档,则为 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 的生存期将长于用于执行查询的缓存计划。 如果查询文本在缓存中不可用,则无法使用函数结果中提供的信息来检索数据。 如果您正在运行多个大型批处理,则可能出现上述情况。

权限

要求对服务器拥有 VIEW SERVER STATE 权限,以查看不归调用者所有的全部会话或会话 ID。 调用者始终可以查看自己的当前会话 ID 的数据。

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)