sys.dm_exec_xml_handles (Transact-SQL)
适用于: SQL Server Azure 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_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_handles的生存期,用于检索执行调用的 SQL 文本,sp_xml_preparedocument超时用于执行查询的缓存计划。 如果查询文本在缓存中不可用,则无法使用函数结果中提供的信息来检索数据。 如果您正在运行多个大型批处理,则可能出现上述情况。
权限
要求对服务器拥有 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)