sys.dm_resource_governor_workload_groups (Transact-SQL)
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
返回工作负荷组统计信息和工作负荷组当前在内存中的配置。 可以使用 sys.dm_resource_governor_resource_pools 联接此视图以获取资源池名称。
注意
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_resource_governor_workload_groups。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
列名称 | 数据类型 | 描述 |
---|---|---|
group_id |
int | 工作负荷组的 ID。 不可为 null。 |
name |
sysname | 工作负荷组的名称。 不可为 null。 |
pool_id |
int | 资源池的 ID。 不可为 null。 |
external_pool_id |
int |
适用于:从 SQL Server 2016(13.x)开始。 外部资源池的 ID。 不可为 null。 |
statistics_start_time |
datetime | 工作负荷组的统计信息收集开始的时间。 不可为 null。 |
total_request_count |
bigint | 工作负荷组中已完成请求的累计计数。 不可为 null。 |
total_queued_request_count |
bigint | 达到 GROUP_MAX_REQUESTS 限制后排队的请求的累积计数。 不可为 null。 |
active_request_count |
int | 当前请求计数。 不可为 null。 |
queued_request_count |
int | 当前排队请求计数。 不可为 null。 |
total_cpu_limit_violation_count |
bigint | 超出 CPU 限制的请求累计计数。 不可为 null。 |
total_cpu_usage_ms |
bigint | 此工作负荷组的累计 CPU 使用情况,以毫秒为单位。 不可为 null。 |
max_request_cpu_time_ms |
bigint | 单个请求的最大 CPU 使用情况,以毫秒为单位。 不可为 null。 注意: 这是一个度量值,与 request_max_cpu_time_sec 不同,这是可配置的设置。 有关详细信息,请参阅 REQUEST_MAX_CPU_TIME_SEC。 |
blocked_task_count |
int | 已阻塞任务的当前计数。 不可为 null。 |
total_lock_wait_count |
bigint | 发生的锁等待累计计数。 不可为 null。 |
total_lock_wait_time_ms |
bigint | 保留锁的已用时间累积总和(以毫秒为单位)。 不可为 null。 |
total_query_optimization_count |
bigint | 此工作负荷组中的查询优化累计计数。 不可为 null。 |
total_suboptimal_plan_generation_count |
bigint | 由于内存不足,在此工作负荷组中出现的不理想计划生成的累计计数。 不可为 null。 |
total_reduced_memgrant_count |
bigint | 达到每个请求内存授予大小的最大限制的内存授予的累积计数。 不可为 null。 |
max_request_grant_memory_kb |
bigint | 统计信息重置之后单个请求的最大内存授予大小,以千字节为单位。 不可为 null。 |
active_parallel_thread_count |
bigint | 并行线程使用情况的当前计数。 不可为 null。 |
importance |
sysname | 此工作负荷组中请求的相对重要性的当前配置值。 重要性是以下项之一,Medium 为默认值:Low 、Medium 或 High 。不可为 null。 |
request_max_memory_grant_percent |
int | 单个请求的最大内存授予的当前设置,以百分比表示。 不可为 null。 |
request_max_cpu_time_sec |
int | 单个请求的最大 CPU 使用限制的当前设置,以秒为单位。 不可为 null。 |
request_memory_grant_timeout_sec |
int | 单个请求的内存授予超时的当前设置,以秒为单位。 不可为 null。 |
group_max_requests |
int | 工作负荷组中最大并发请求数的当前设置。 不可为 null。 |
max_dop |
int | 为工作负荷组配置最大并行度。 默认值为 0,表示使用全局设置。 不可为 null。 |
effective_max_dop |
int |
适用于:从 SQL Server 2012(11.x)开始。 工作负荷组的有效最大并行度。 不可为 null。 |
total_cpu_usage_preemptive_ms |
bigint |
适用于:从 SQL Server 2016(13.x)开始。 在工作负荷组的抢先模式计划中使用的总 CPU 时间(以毫秒为单位)。 不可为 null。 若要执行数据库引擎外部的代码(例如扩展存储过程和分布式查询),线程必须从非抢占计划程序的控制之外执行。 若要这样做,工作线程将切换到抢先模式。 |
request_max_memory_grant_percent_numeric |
float |
适用于:Azure SQL 托管实例和从 SQL Server 2019(15.x)开始。 单个请求的最大内存授予的当前设置,以百分比表示。 该值类似于 request_max_memory_grant_percent 。 但是,与返回 integer 值的 request_max_memory_grant_percent 不同,request_max_memory_grant_percent_numeric 返回 float 值。 从 SQL Server 2019(15.x)开始,参数 REQUEST_MAX_MEMORY_GRANT_PERCENT 接受可能范围为 0-100 的值,并将其存储为 float 数据类型。 在 SQL Server 2019(15.x)之前,REQUEST_MAX_MEMORY_GRANT_PERCENT 是一个可能范围为 1-100 的 integer 。 有关详细信息,请参阅 CREATE WORKLOAD GROUP。不可为 null。 |
pdw_node_id |
int | 适用于:Azure Synapse Analytics、Analytics Platform System (PDW) 此分发所在节点的标识符。 |
注解
此动态管理视图显示了内存中配置。 若要查看存储的配置元数据,请使用 sys.resource_governor_workload_groups 目录视图。
成功执行后ALTER RESOURCE GOVERNOR RESET STATISTICS
,将重置以下计数器:statistics_start_time
、total_request_count
total_queued_request_count
total_cpu_limit_violation_count
total_cpu_usage_ms
max_request_cpu_time_ms
total_lock_wait_count
total_lock_wait_time_ms
、、、total_query_optimization_count
、、total_suboptimal_plan_generation_count
、 total_reduced_memgrant_count
和。max_request_grant_memory_kb
statistics_start_time
计数器设置为当前系统日期和时间,其他计数器设置为零(0)。
权限
需要 VIEW SERVER STATE
权限。
SQL Server 2022 及更高版本的权限
需要对服务器具有 VIEW SERVER PERFORMANCE STATE
权限。