sys.dm_pdw_exec_requests (Transact-SQL)

适用于: Azure Synapse Analytics 分析平台系统 (PDW)

保存有关 Azure Synapse Analytics 专用 SQL 池和分析平台系统(PDW)中当前或最近处于活动状态的所有请求的信息。 它为每个请求/查询列出一行。

注意

Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。 对于无服务器 SQL 池,请使用 sys.dm_exec_requests

列名称 数据类型 说明 范围
request_id nvarchar(32) 此视图的键。 与请求关联的唯一数值 ID。 在系统中的所有请求中唯一。
session_id nvarchar(32) 与运行此查询的会话关联的唯一数值 ID。 请参阅 sys.dm_pdw_exec_sessions
status nvarchar(32) 请求的当前状态。 Running、、SuspendedCompletedCancelled. Failed
submit_time datetime 请求提交执行的时间。 有效 日期/时间 小于或等于当前时间和 start_time
start_time datetime 启动请求执行的时间。 NULL 用于排队请求;否则,有效 日期/时间 小于或等于当前时间。
end_compile_time datetime 引擎完成编译请求的时间。 NULL 对于尚未编译的请求;否则,有效 日期/时间 小于 start_time 或等于当前时间。
end_time datetime 请求执行完成、失败或取消的时间。 NULL 用于排队或活动请求;否则,有效的 日期/时间 小于或等于当前时间。
total_elapsed_time int 自请求启动以来的执行时间(以毫秒为单位)。 介于 0 和两者之间的submit_time区别。end_time

如果 total_elapsed_time 超出整数的最大值, total_elapsed_time 则继续为最大值。 此条件将生成警告“已超出最大值”。
最大值(以毫秒为单位)与 24.8 天相同。
label nvarchar(255) 与某些 SELECT 查询语句关联的可选标签字符串。 包含 a-zA-Z0-9的任何_字符串。
error_id nvarchar(36) 与此步骤关联的错误的唯一 ID(如果有)。 NULL 如果未发生错误,则为 。 request_id可以与request_idsys.dm_pdw_errors匹配,以查看该特定request_id的所有列出的错误。
database_id int 显式上下文使用的数据库标识符(例如, USE DB_X)。 请参阅 database_id sys.databases
command nvarchar(4000) 保存用户提交的请求全文。 任何有效的查询或请求文本。 超过 4,000 字节的查询将被截断。
resource_class nvarchar(20) 用于此请求的工作负荷组。 静态资源类
staticrc10
staticrc20
staticrc30
staticrc40
staticrc50
staticrc60
staticrc70
staticrc80

动态资源类
SmallRC
MediumRC
LargeRC
XLargeRC
importance nvarchar(128) 执行请求的重要性设置。 这是此工作负荷组中请求相对于共享资源的工作负荷组的相对重要性。 分类器中指定的重要性会替代工作负荷组重要性设置。

适用对象:Azure Synapse Analytics
NULL
low
below_normal
normal(默认值)
above_normal
high
group_name sysname 对于使用资源的请求, group_name 请求正在其下运行的工作负荷组的名称。 如果请求未利用资源, group_name 则为 NULL

适用对象:Azure Synapse Analytics
classifier_name sysname 对于使用资源的请求,用于分配资源和重要性的分类器的名称。
resource_allocation_percentage 十进制(5,2) 分配给请求的资源的百分比。

适用对象:Azure Synapse Analytics
result_cache_hit int 详细说明已完成的查询是否使用了结果集缓存。

适用对象:Azure Synapse Analytics
1 = 结果集缓存命中数
0 = 结果集缓存未命中数
负整数值 = 未使用结果集缓存的原因。 有关详细信息,请参阅备注部分。
client_correlation_id nvarchar(255) 客户端会话的可选用户定义名称。 若要为会话设置,请调用 sp_set_session_context 'client_correlation_id', <CorrelationIDName>。 可以使用 . 检索其值 SELECT SESSION_CONTEXT (N'client_correlation_id')。 有关详细信息,请参阅 sp_set_session_context
command2 nvarchar(max) 保存用户提交的请求全文。 保存长度超过 4,000 个字符的查询。 任何有效的查询或请求文本。 NULL = 长度或更少长度为 4000 个字符的查询。 对于这些查询,可以在列下 command 找到全文。

注解

有关此视图保留的最大行的信息,请参阅容量限制文章中的“元数据”部分。

列中的负整数值 result_cache_hit 是无法缓存查询结果集的所有已应用原因的位图值。 此列可以是 |(按位或) 以下一个或多个值的乘积。 例如, -36 可能是两个 原因的按位 OR-0x04-4) 和 -0x20-32)。

值(采用十进制) 说明
1 1 结果集缓存命中数
0x00 0 结果集缓存未命中
-0x01 -1 在数据库上禁用结果集缓存。
-0x02 -2 会话上禁用了结果集缓存。
-0x04 -4 由于查询没有数据源,因此禁用了结果集缓存。
-0x08 -8 由于行级别安全谓词,结果集缓存被禁用。
-0x10 -16 由于查询中使用系统表、临时表或外部表,因此禁用了结果集缓存。
-0x20 -32 由于查询包含运行时常量、用户定义的函数或不确定函数,因此禁用了结果集缓存。
-0x40 -64 由于估计的结果集大小大于 10 GB,因此禁用了结果集缓存。
-0x80 -128 由于结果集包含大小较大(大于 64 KB)的行,因此禁用了结果集缓存。
-0x100 -256 由于使用了精细动态数据掩码,因此禁用了结果集缓存。

权限

需要 VIEW DATABASE STATE 权限。

安全性

sys.dm_pdw_exec_requests 不会根据特定于数据库的权限筛选查询结果。 具有权限的 VIEW DATABASE STATE 登录名可以获取所有数据库的结果查询结果。

警告

攻击者可以通过 sys.dm_pdw_exec_requests 仅具有 VIEW DATABASE STATE 权限和不具有特定于数据库的权限来检索有关特定数据库对象的信息。