适用于:Azure SQL 数据库
Azure SQL 托管实例
每行表示Azure SQL 数据库和Azure SQL 托管实例中资源池统计信息的定期快照。 数据库引擎启动时,每隔几秒钟创建一次快照。 当前快照和上一快照之间的间隔可能会有所不同,并在 duration_ms
列中提供。 返回最新的可用快照,每个资源池最多 128 个快照。
列名称 | 数据类型 | 描述 |
---|---|---|
pool_id |
int | 资源池的 ID。 不可为 Null。 |
name |
sysname | 资源池的名称。 不可为 Null。 |
snapshot_time |
datetime2 | 创建资源池统计信息快照的时间。 |
duration_ms |
int | 当前快照和上一快照之间的持续时间。 |
statistics_start_time |
datetime2 | 启动此池的统计信息跟踪的时间。 不可为 Null。 |
active_session_count |
int | 当前快照中的活动会话总数。 |
active_worker_count |
int | 当前快照中的辅助角色总数。 |
delta_cpu_usage_ms |
int | 自上次快照以来的 CPU 使用率(以毫秒为单位)。 不可为 Null。 |
delta_cpu_usage_preemptive_ms |
int | 自上次快照以来,先发制人 Win32 调用不受 SQL CPU 资源治理的约束。 |
used_data_space_kb |
bigint | 与用户池关联的用户数据库中使用的总空间。 |
allocated_disk_space_kb |
bigint | 与用户池关联的用户数据库的总数据文件大小。 |
target_memory_kb |
bigint | 资源池尝试达到的目标查询工作区内存量(以 KB 为单位)。 基于当前设置和服务器状态。 在内存压力下可能会降低。 不可为 Null。 |
used_memory_kb |
bigint | 此资源池已用的内存量(以 KB 为单位)。 不可为 Null。 |
cache_memory_kb |
bigint | 当前的缓存内存总用量(以 KB 为单位)。 不可为 Null。 |
compile_memory_kb |
bigint | 当前总的内存盗用量(以 KB 为单位)。 大多数此用法用于编译和优化,但它也可以包括其他内存用户。 不可为 Null。 |
active_memgrant_count |
bigint | 当前内存授予计数。 不可为 Null。 |
active_memgrant_kb |
bigint | 当前内存授予总量(以 KB 为单位)。 不可为 Null。 |
used_memgrant_kb |
bigint | 内存授予的当前已用内存(被盗)内存总数。 不可为 Null。 |
delta_memgrant_timeout_count |
int | 此时间段内此资源池中的内存授予超时计数。 不可为 Null。 |
delta_memgrant_waiter_count |
int | 当前正在等待内存授予的查询计数。 不可为 Null。 |
delta_out_of_memory_count |
int | 自上次快照以来池中失败的内存分配数。 不可为 Null。 |
delta_read_io_queued |
int | 自上次快照以来排队的读取 IO 总数。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
delta_read_io_issued |
int | 自上次快照以来颁发的读取 IO 总数。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
delta_read_io_completed |
int | 自上次快照以来已完成的读取 IO 总数。 不可为 Null。 |
delta_read_io_throttled |
int | 自快照以来限制的读取 IO 总数。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
delta_read_bytes |
bigint | 自上次快照以来读取的总字节数。 不可为 Null。 |
delta_read_io_stall_ms |
int | 自上次快照以来读取 IO 到达和完成之间的总时间(以毫秒为单位)。 不可为 Null。 |
delta_read_io_stall_queued_ms |
int | 自上次快照以来读取 IO 到达和问题之间的总时间(以毫秒为单位)。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 非零 delta_read_io_stall_queued_ms 意味着 IO 因资源治理而延迟。 |
delta_write_io_queued |
int | 自上次快照以来排队的总写入 IO 数。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
delta_write_io_issued |
int | 自上次快照以来颁发的写入 IO 总数。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
delta_write_io_completed |
int | 自上次快照以来完成的总写入 IO 数。 不可为 Null。 |
delta_write_io_throttled |
int | 自上次快照以来限制的总写入 IO 数。 不可为 Null。 |
delta_write_bytes |
bigint | 自上次快照以来写入的字节总数。 不可为 Null。 |
delta_write_io_stall_ms |
int | 自上次快照以来写入 IO 到达和完成之间的总时间(以毫秒为单位)。 不可为 Null。 |
delta_write_io_stall_queued_ms |
int | 写入 IO 到达和自上次快照以来的问题之间的总时间(以毫秒为单位)。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
delta_io_issue_delay_ms |
int | 自上次快照以来的计划问题与 IO 的实际问题之间的总时间(以毫秒为单位)。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
max_iops_per_volume |
int | 此池的每个磁盘卷设置的最大 IO/秒(IOPS)。 Nullable。 如果资源池未针对 IO 进行治理,则为 Null。 |
max_memory_kb |
bigint | 资源池可以用作查询工作区内存的最大内存量(以 KB 为单位)。 查询工作区内存是服务器目标内存的子集,在内存压力下可以进一步降低。 不可为 Null。 |
max_log_rate_kb |
bigint | 资源池的最大日志速率(以 KB/秒为单位)。 |
max_data_space_kb |
bigint | 此资源池的最大存储限制设置(以 KB 为单位)。 |
max_session |
int | 池的会话限制。 |
max_worker |
int | 池的工作器限制。 |
min_cpu_percent |
int | 存在 CPU 争用时,资源池中所有请求的保证平均 CPU 带宽的当前配置。 不可为 Null。 |
max_cpu_percent |
int | 当存在 CPU 争用时,资源池中所有请求允许的最大平均 CPU 带宽的当前配置。 不可为 Null。 |
cap_cpu_percent |
int | 资源池中所有请求接收的 CPU 带宽的硬上限。 将 CPU 最大带宽级别限制为指定的级别。 value 的允许范围是 1 到 100。 不可为 Null。 |
min_vcores |
十进制(5,2) | 存在 CPU 争用时,资源池中所有请求的保证平均 CPU 带宽的当前配置。 以 vCore 单位表示,可能不会反映数据库、弹性池或 SQL 托管实例可用的 vCore 数或逻辑 CPU 总数。 |
max_vcores |
十进制(5,2) | 当存在 CPU 争用时,资源池中所有请求允许的最大平均 CPU 带宽的当前配置。 以 vCore 单位表示,可能不会反映数据库、弹性池或 SQL 托管实例可用的 vCore 数或逻辑 CPU 总数。 |
cap_vcores |
十进制(5,2) | 资源池中所有请求接收的 CPU 带宽的硬上限。 以 vCore 单位表示,可能不会反映数据库、弹性池或 SQL 托管实例可用的 vCore 数或逻辑 CPU 总数。 |
instance_cpu_count |
int | 为实例配置的 CPU 数。 |
instance_cpu_percent |
十进制(5,2) | 为实例配置的 CPU 百分比。 |
instance_vcores |
十进制(5,2) | 为实例配置的 vCore 数。 可能不会反映数据库、弹性池或 SQL 托管实例可用的 vCore 或逻辑 CPU 总数。 |
delta_log_bytes_used |
十进制(5,2) | 自上次快照以来资源池的总日志生成量(以字节为单位)。 |
avg_login_rate_percent |
十进制(5,2) | 与登录限制相比,自上次快照以来的登录次数。 |
delta_vcores_used |
十进制(5,2) | 自上次快照以来 vCore 单元中的计算利用率。 |
cap_vcores_used_percent |
十进制(5,2) | 以池的限制百分比形式表示的平均计算使用率。 |
instance_vcores_used_percent |
十进制(5,2) | SQL 实例限制百分比的平均计算利用率。 |
avg_data_io_percent |
十进制(5,2) | 以基于池的限制的百分比形式表示的平均 I/O 使用率。 |
avg_log_write_percent |
十进制(5,2) | 以池的限制百分比形式表示的平均写入资源使用率。 |
avg_storage_percent |
十进制(5,2) | 以池的存储限制百分比形式表示的平均存储使用率。 |
avg_allocated_storage_percent |
十进制(5,2) | 弹性池中所有数据库分配的数据空间百分比。 这是分配给弹性池的数据最大大小的数据空间的比率。 有关详细信息,请访问SQL 数据库中的文件空间管理。 |
max_worker_percent |
十进制(5,2) | 根据池的限制,最大并发辅助角色百分比。 |
max_session_percent |
十进制(5,2) | 以基于池的限制的百分比形式表示的最大并发会话(请求)数量。 |
active_outbound_connection_worker_count |
int | 当前快照中的出站连接辅助角色总数。 |
max_outbound_connection_worker |
int | 池的出站连接辅助角色限制。 |
max_outbound_connection_worker_percent |
十进制(5,2) | 根据池的限制,最大并发出站连接辅助角色百分比。 |
权限
需要 VIEW SERVER PERFORMANCE STATE
权限。
注解
用户可以访问此动态管理视图,以监视 Azure SQL 数据库和 Azure SQL 托管实例中用户工作负荷池和系统内部池的近实时资源消耗。
连接到弹性池中的数据库时,资源池表示可用于整个弹性池的资源。 连接到单个数据库时,资源池表示数据库可用的资源。
重要
此 DMV 中的大部分数据用于内部使用,并且可能会更改。
示例
以下示例按用户池返回每个快照的最大日志速率数据和消耗量:
SELECT snapshot_time,
name,
max_log_rate_kb,
delta_log_bytes_used
FROM sys.dm_resource_governor_resource_pools_history_ex
WHERE name LIKE 'SloSharedPool1'
ORDER BY snapshot_time DESC;