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不同,这是可配置的设置。 有关详细信息,请参阅 CPU Threshold Exceeded 事件类。 |
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 | 此工作负荷组中请求的相对重要性的当前配置值。 重要性是以下项之一,中等为默认值:低、中或高。 不可为 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。 要执行在 SQL Server 以外的代码(例如,扩展存储过程和分布式查询),则必须在非抢先计划程序的控制范围以外执行该线程。 若要这样做,工作线程将切换到抢先模式。 |
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_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 的范围可以是 integer 1-100。 有关详细信息,请参阅 CREATE WORKLOAD GROUP。不可为 null。 |
pdw_node_id | int | 适用于:Azure Synapse Analytics、Analytics Platform System (PDW) 此分发所在节点的标识符。 |
注解
此动态管理视图显示了内存中配置。 若要查看存储的配置元数据,请使用 sys.resource_governor_workload_groups (Transact-SQL) 目录视图。
成功执行后ALTER RESOURCE GOVERNOR RESET STATISTICS
,将重置以下计数器:statistics_start_time
、max_request_cpu_time_ms
total_cpu_limit_violation_count
total_lock_wait_time_ms
total_queued_request_count
total_lock_wait_count
total_request_count
total_cpu_usage_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 权限。