返回 Azure SQL 托管实例 的 CPU 使用率、IO 和存储数据。 在五分在 5 到 10 分钟的时间间隔内收集、汇总并更新数据。 其中有一行用于显示每隔 15 秒报告的信息。 返回的数据包括 CPU 使用率、存储容量、IO 利用率和 SKU。 历史数据保留大约 14 天。
sys.server_resource_stats视图的定义取决于数据库所关联的 Azure SQL 托管实例 版本。 考虑这些差异以及升级到新服务器版本时应用需要的任何修改。
注意
这个动态管理视图仅适用于 Azure SQL 托管实例。 对于Azure SQL 数据库的等效视图,请使用sys.resource_stats。
下表描述了可用的列:
| Columns | 数据类型 | 说明 |
|---|---|---|
| 开始时间 | datetime2 | UTC时间,表示十五秒报告间隔开始 |
| 结束时间 (end_time) | datetime | UTC时间,表示十五秒报告间隔结束 |
| resource_type | Nvarchar(128) | 指标所提供的资源类型 |
| resource_name | nvarchar(128) | 资源的名称。 |
| sku | nvarchar(128) | 实例的托管实例服务层。 以下是可能的数值:
|
| hardware_generation | nvarchar(128) | 硬件世代标识符:如Gen 4或Gen 5 |
| virtual_core_count | int | 表示每个实例的虚拟核心数量 |
| avg_cpu_percent | 十进制(5,2) | 平均计算利用率占实例所使用的 托管实例 服务层限制的百分比。 计算方式是实例中所有数据库资源池的CPU时间总和,除以该层在给定区间内可用的CPU时间。 |
| reserved_storage_mb | bigint | 每个实例的预留存储(客户为托管实例购买的存储空间) |
| storage_space_used_mb | 十进制(18,2) | 托管实例中所有数据库文件(包括用户和系统数据库)使用的存储空间 |
| io_request | bigint | 区间内的物理输入/输出操作总数 |
| io_bytes_read | bigint | 区间内读取的物理字节数 |
| io_bytes_written | bigint | 区间内写入的物理字节数 |
Tip
有关这些限制和服务层级的更多背景,请参见托管实例服务层级相关主题。
权限
查询动态管理视图需要 VIEW 服务器状态 权限。
注解
返回的数据 sys.server_resource_stats 以字节或兆字节(列名 avg_cpu中注明)的总使用量表示,除 之外,这表示为你所运行服务层级/性能水平的最大允许上限的百分比。
注意
关于如何利用动态管理视图排查CPU利用率的更多信息,请参见“识别Microsoft Azure SQL 托管实例性能中的CPU性能问题与DMVs。
示例
以下示例返回了过去七天的平均CPU使用率。
DECLARE @s datetime;
DECLARE @e datetime;
SET @s= DateAdd(d,-7,GetUTCDate());
SET @e= GETUTCDATE();
SELECT AVG(avg_cpu_percent) AS Average_Compute_Utilization
FROM sys.server_resource_stats
WHERE start_time BETWEEN @s AND @e;
GO