你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:Azure SQL 托管实例
本文概述了 Azure SQL 托管实例 的技术特性和资源限制。 它还提供了如何申请提高这些限额的信息。
注意
有关支持功能与 T-SQL 语句的差异,请参见 功能差异 和 T-SQL 语句支持。 关于Azure SQL 数据库和SQL 托管实例服务层级的一般区别,请查看通用服务层级和业务关键服务层级。
硬件配置特征
本节内容:
SQL 托管实例的某些特征和资源限制取决于底层基础结构和体系结构。 你可以在多代硬件上部署 SQL 托管实例。
各代硬件具有不同的特性,如下表所述:
| 特征 | 标准系列 (Gen5) | 高级系列 | 内存优化高级系列 |
|---|---|---|---|
| 中央处理器 | Intel® E5-2673 v4 (Broadwell) 2.3 GHz、Intel® SP-8160 (Skylake) 和 Intel® 8272CL (Cascade Lake) 2.5-GHz 处理器 | Intel® 8370C (Ice Lake) 2.8-GHz 处理器 | Intel® 8370C (Ice Lake) 2.8-GHz 处理器 |
|
vCore 数目 vCore=1 LP(超线程) |
21 -80 vCore | 21 -128 vCore | 4-128 个 vCore |
| 最大内存(内存/ vCore 比率) | 每个 vCore 5.1 GB - 上限 408 GB 添加更多 vCore 以获得更多内存。 |
每个 vCore 7 GB,最多 80 个 vCore - 上限 560 GB | 每个 vCore 13.6 GB,最多 64 个 vCore - 上限 870.4 GB |
| 最大内存中 OLTP 存储 | 实例限制:每个 vCore 0.8 - 1.65 GB | 实例限制:每个 vCore 1.1 - 2.3 GB | 实例限制:每个 vCore 2.2 - 4.5 GB |
| 实例保留存储上限2 |
常规用途: 最多 32 TB4 业务关键:最多 4 TB |
常规用途: 最多 32 TB4 业务关键:最多 16 TB3 |
常规用途: 最多 32 TB4 业务关键:最多 16 TB |
1 你只能在 实例池内部署一个2vcore实例。
2 具体取决于 vCore 的数量。
3以下区域 可以提供 16 TB 的存储,而其他区域将可用存储限制为 5.5 TB。
4 16 TB 用于经典常规用途。 仅32TB用于 下一代通用服务层
注意
如果工作负载需要的存储大小大于适用于 Azure SQL 托管实例的资源限制,请考虑使用 Azure SQL 数据库的“超大规模”服务层级。
区域支持内存优化的高级系列硬件和配备16TB存储的高端系列硬件
对配备 16 TB 存储的高级系列硬件的支持与对内存优化高级系列硬件的支持具有相同的可用性。 欲了解更多信息,请参阅区域 支持内存优化高级系列硬件和16TB存储高档系列硬件。
内存中 OLTP 可用空间
业务关键服务层的内存 OLTP 空间大小取决于 vCore 数量和硬件配置。 下表列出了内存 OLTP 对象可用的内存限制。
| vCore 数 | 标准系列 (Gen5) | 高级系列 | 内存优化高级系列 |
|---|---|---|---|
| 4 个 vCore | 3.14 吉字节 | 4.39 吉字节 | 8.79 吉字节 |
| 6 个 vCore | - | 6.59 吉字节 | 15.32 吉字节 |
| 8 个 vCore | 6.28吉字节 | 8.79 吉字节 | 22.06 吉字节 |
| 10 个 vCore | - | 12.11 吉字节 | 30.94 吉字节 |
| 12 个 vCore | - | 15.43 吉字节 | 39.82 吉字节 |
| 16 个 vCore | 15.77 吉字节 | 22.06 吉字节 | 57.58 吉字节 |
| 20 个 vCore | - | 28.70 吉字节 | 75.34 吉字节 |
| 24 个 vCore | 25.25 吉字节 | 35.34 吉字节 | 93.09 吉字节 |
| 32 个 vCore | 37.94 吉字节 | 53.09 吉字节 | 128.61 吉字节 |
| 40 个 vCore | 52.23 吉字节 | 73.09 吉字节 | 164.13 吉字节 |
| 48 个 vCore | - | 95.34 吉字节 | 199.64 吉字节 |
| 56 个 vCore | - | 117.58吉字节 | 244.13 吉字节 |
| 64 个 vCore | 99.9 吉字节 | 139.82 吉字节 | 288.61 吉字节 |
| 80 个 vCore | 131.68 吉字节 | 184.30 吉字节 | 288.61 吉字节 |
| 96 个 vCore | 空值 | 184.30 吉字节 | 288.61 吉字节 |
| 128 个 vCore | 空值 | 184.30 吉字节 | 288.61 吉字节 |
服务层特征
SQL 托管实例有两个服务层级:常规用途和业务关键。 可以选择使用升级后的 下一代常规用途服务层级。
重要
业务关键服务层为只读工作负载提供了额外的内置副本 SQL 托管实例(次级副本)。 如果你将读写查询与只读、分析查询或报告查询分开,你会以同样的价格获得两倍的 vCore 和内存。 次要副本可能会比主实例慢几秒钟,所以它的设计目的是卸载不需要精确当前状态的数据的报告和分析工作负载。 在下表中, 只读查询 是指在二级副本上运行的查询。
本节内容:
vCore 数目
| 硬件生成 | 常规用途 | 下一代常规用途 | 业务关键 |
|---|---|---|---|
| 标准系列 (Gen5) | 21, 4, 8, 16, 24, 32, 40, 64, 80 | 4、8、16、24、32、40、64、80 | 4、8、16、24、32、40、64、80 |
| 高级系列 | 21, 4, 8, 16, 24, 32, 40, 64, 80 | 4、6、8、10、12、16、20、24、32、40、48、56、64、80、96、128 | 4、6、8、10、12、16、20、24、32、40、48、56、64、80、96、128 |
| 内存优化高级系列 | 4、8、16、24、32、40、64、80 | 4、6、8、10、12、16、20、24、32、40、48、56、64、80、96、128 | 4、6、8、10、12、16、20、24、32、40、48、56、64、80、96、128 |
1 只能在实例池中部署 2-vCore 实例。
最大内存
| 硬件生成 | 常规用途 | 下一代常规用途 | 业务关键 |
|---|---|---|---|
| 标准系列 (Gen5) | 20.4GB - 408 GB 5.1 GB/vCore |
20.4GB - 408 GB 5.1 GB/vCore |
20.4GB - 408 GB 每个副本上的 5.1 GB/vCore |
| 高级系列 | 28 GB - 560 GB 7 GB/vCore |
28 GB - 560 GB 7 GB/vCore |
28 GB - 560 GB 7 GB/vCore,每个副本上最多 80 个 vCore1 |
| 内存优化高级系列 | 54.4 GB - 870.4 GB 13.6 GB/vCore |
54.4 GB - 870.4 GB 13.6 GB/vCore |
54.4 GB - 870.4 GB 13.6 GB/vCore,每个副本上最多 64 个 vCore1 |
1 对于高级系列硬件,此内存与 vCore 的比率仅适用于最多 80 个 vCore;对于内存优化高级系列,则仅适用于最多 64 个 vCore。 对于高于 80 的高级系列 vCore,最大内存上限为 560 GB;对于高于 64 的内存优化高级系列 vCore,最大内存上限为 870.4 GB。
最大实例存储大小(保留)
下表列出了基于每个硬件生成和服务层的 vCore 数的最大存储大小:
| 硬件生成 | 常规用途1 | 下一代常规用途 | 业务关键2 |
|---|---|---|---|
| 标准系列 (Gen5) | - 4 个 vCore 2 TB - 8 个 vCore 8 TB - 其他大小 16 TB |
- 4 个 vCore 2 TB - 8 个 vCore 8 TB - 16 TB(适用于 16、24 个 vCore) - 32 TB,适用于 32、40、64、80 个 vCore |
- 1 TB,适用于 4、8、16 个 vCore - 24 个 vCore 的 2 TB - 32、40、64、80 个 vCore 4 TB |
| 高级系列 | - 4 个 vCore 2 TB - 8 个 vCore 8 TB - 其他大小 16 TB |
- 2 TB,适用于 4 个、6 个 vCore - 8 TB,适用于 8 个、10 个、12 个 vCore - 16 TB,适用于 16、20、24 个 vCore - 32 TB,适用于 32、40、48、56、64、80、96、128 个 vCore |
- 1 TB 表示 4、6 个 vCore - 2 TB(适用于 8、10、12 个 vCore) - 4 TB,适用于 16 个、20 个 vCore - 5.5 TB,适用于 24 个、32 个、40 个、48 个、56 个 vCore - 5.5 TB 或 16 TB(具体取决于区域),64、80、96、128 个 vCore3 |
| 内存优化高级系列 | - 4 个 vCore 2 TB - 8 个 vCore 8 TB - 其他大小 16 TB |
- 2 TB,适用于 4 个、6 个 vCore - 8 TB,适用于 8 个、10 个、12 个 vCore - 16 TB,适用于 16、20、24 个 vCore - 32 TB,适用于 32、40、48、56、64、80、96、128 个 vCore |
- 1 TB 表示 4、6 个 vCore - 2 TB(适用于 8、10、12 个 vCore) - 4 TB,适用于 16 个、20 个 vCore - 5.5 TB,适用于 24 个 vCore - 5.5 TB 或 8 TB(具体取决于区域),32,40 个 vCore4 - 12 TB,适用于 48 个、56 个 vCore - 16 TB,适用于 64 个、80 个、96 个、128 个vCore |
1 在“常规用途”服务层级中, tempdb 使用本地 SSD 存储。
2 在业务关键服务层级中, tempdb 与数据和日志文件共享本地 SSD 存储。
tempdb大小可以增大到当前可用的实例存储大小。
3 只有 主要区域 可以为这些 CPU vCore 编号的高级系列硬件提供 16 TB 的存储。 较小的区域将可用存储限制为 5.5 TB。
4 只有 主要区域 可以为这些 CPU vCore 数提供高级系列内存优化硬件的 8 TB 存储。 较小的区域将可用存储限制为 5.5 TB。
服务层特征比较
| 特征 | 常规用途 | 下一代常规用途 | 业务关键 |
|---|---|---|---|
| 最大数据库大小 | 最大为当前可用实例大小(具体取决于 vCore 数)。 | 最大为当前可用实例大小(具体取决于 vCore 数)。 | 最大为当前可用实例大小(具体取决于 vCore 数)。 |
最大 tempdb 数据库大小 |
限制为 24 GB/vCore (96 - 1,920 GB) 和当前可用的实例存储大小。 添加更多 vCore 以获得更多 tempdb 空间。日志文件大小限制为 120 GB。 |
限制为 24 GB/vCore (96 - 1,920 GB) 和当前可用的实例存储大小。 添加更多 vCore 以获得更多 tempdb 空间。日志文件大小限制为 120 GB。 |
不超过当前可用的实例存储大小。 |
最大 tempdb 文件数 |
128 | 128 | 128 |
| 每个实例的数据库数目上限 | 提供 100 个用户数据库,除非已达到实例存储大小限制。 | 500 个用户数据库 | 提供 100 个用户数据库,除非已达到实例存储大小限制。 |
| 数据库文件数上限 | 除非已达到实例存储大小或 Azure 高级磁盘存储分配空间限制,否则每个实例最多可有 280 个。 | 每个数据库 4096 个文件 | 除非已达到实例存储大小限制,否则为每个数据库 32,767 个文件。 |
| 最大数据文件大小 | 每个数据文件的最大大小为 8 TB。 对于大于 8 TB 的数据库,请至少使用两个数据文件。 | 最大为当前可用实例大小(具体取决于 vCore 数)。 | 最大为当前可用实例大小(具体取决于 vCore 数)。 |
| 最大日志文件大小 | 限制为 2 TB 和当前可用的实例存储大小。 | 限制为 2 TB 和当前可用的实例存储大小。 | 限制为 2 TB 和当前可用的实例存储大小。 |
| 数据/日志 IOPS(近似值) | 500 - 7500(每个文件) * 增加文件大小以获得更多 IOPS |
保留存储空间 * 3 - 最高为 VM 限制。 对于 32 GB、64 GB 和 96 GB 的保留存储空间,则为 300。 VM 限制具体取决于 vCore 数 具有 4 个 vCore 的 VM 为 6400 IOPS - 具有 128 个 vCore 的 VM 为 80 K IOPS |
16 K - 320 K (4000 IOPS/vCore) 添加更多 Vcore 以获得更好的 IO 性能。 |
| 数据吞吐量(近似值) | 100 - 250 MiB/秒(每个文件) * 增加文件大小以获得更好的 IO 性能 |
IOPS / 30 MBps - 最高为 VM 限制。 对于 32 GB、64 GB 和 96 GB 的保留存储空间,则为 75 MBps。 | 无限制。 |
| 日志写入吞吐量限制(每个实例) | 4.5 MiB/秒(每个 vCore) 最大为 120 MiB/秒(每个实例) 每个数据库 22 - 65 MiB/秒(具体取决于日志文件大小) * 增加文件大小以获得更好的 IO 性能 |
标准系列: 4.5 MiB/秒(每个 vCore) 最大120 MiB/s 高级系列和内存优化高级系列: 4.5 MiB/秒(每个 vCore) 最大为 192 MiB/秒 |
标准系列: 每个vCore16 MiB/s 最大160 MiB/s 高级系列和内存优化高级系列: 每个vCore16 MiB/s 最大为 192 MiB/秒 |
| 存储 IO 延迟(大约1) | 5-10 毫秒 | 3-5 毫秒 | 1-2 毫秒 |
| 内存中 OLTP | 不支持 | 不支持 | 可用大小取决于 vCore 数 |
| 最大会话数 | 30000 | 30000 | 30000 |
| 最大并发辅助进程数 | 105 * vCore 数目 + 800 | 105 * vCore 数目 + 800 | 105 * vCore 数目 + 800 |
| 使用只读副本卸载只读查询工作负荷 | 0 | 0 | 1(包括在价格中) |
| 计算隔离 | 不支持常规用途实例可能会与其他实例共享物理硬件 | 不支持下一代常规用途实例可能会与其他实例共享物理硬件 |
标准系列(Gen5): 支持具有 64 个或多个 vCore 的配置 高级系列:支持具有 64 个或多个 vCore 的配置 内存优化高级系列:支持具有 64 个或更多 vCore 的配置 |
| 可用性副本 | 备用节点有助实现高可用性 | 备用节点有助实现高可用性 | 四个高可用性副本,1 也是读取扩展副本 |
| 启用了故障转移组的只读副本 | 另外一个只读副本。 总共两个可读副本,其中包含主要副本。 | 另外一个只读副本。 总共两个可读副本,其中包含主要副本。 | 另外两个只读副本,总共三个只读副本。 总共四个可读副本,其中包含主要副本。 |
| 定价/计费 |
vCore、保留存储和备份存储收费。 IOPS 不收费 |
vCore、保留存储空间、备份存储和 IOPS(通过免费配额)收费。 |
vCore、保留存储和备份存储收费。 IOPS 不收费。 |
| 折扣模型 |
Azure 预留 Azure 混合权益 - Azure SQL 数据库 & SQL 托管实例(在开发/测试订阅上不可用) 企业和即用即付开发/测试订阅 |
Azure 预留 Azure 混合权益 - Azure SQL 数据库 & SQL 托管实例(在开发/测试订阅上不可用) 企业和即用即付开发/测试订阅 |
Azure 预留 Azure 混合权益 - Azure SQL 数据库 & SQL 托管实例(在开发/测试订阅上不可用) 企业和即用即付开发/测试订阅 |
1 这是一个平均范围。 尽管绝大多数 IO 请求持续时间将归入范围顶部,但超出范围的离群值是可能的。
IOPS 和吞吐量
IOPS 和吞吐量是 IO 文件系统的特征。
IOPS 和吞吐量在以下方面因服务层而异:
- 在 业务关键 服务层级中,吞吐量不受限制。
- 在 “常规用途 ”服务层级中,吞吐量取决于文件大小。
- 在 “下一代常规用途 ”服务层级中,吞吐量按比例缩放,并分配给实例的 IOPS 数。
以下部分更详细地介绍了服务层级的 IO 特征。
常规用途服务层级中的 IOPS 和吞吐量
在常规用途服务层中,每个数据库文件都将获得专用 IOPS 和吞吐量,具体取决于文件大小。 较大的文件会获得更多的 IOPS 和吞吐量。
下表显示了 常规用途 服务层级中数据库文件的 IO 特征:
| 文件大小 | >=0,<=129 GiB | >129 和 <=513 GiB | >513 和 <=1025 GiB | >1025 和 <=2049 GiB | >2049 和 <=4097 GiB | >4097 GiB 和 <=8 TiB |
|---|---|---|---|---|---|---|
| 每个文件 |
500 | 2300 | 五千 | 7500 | 7500 | 7500 |
| 每个文件 |
100 MiB/秒 | 150 MiB/秒 | 200 MiB/秒 | 250 MiB/秒 | 250 MiB/秒 | 250 MiB/秒 |
如果注意到某个数据库文件的 IO 延迟较高,或者发现 IOPS/吞吐量即将达到限制,可以通过增大文件大小来提高性能。
最大日志写入吞吐量也存在实例级别的限制(请查看上表以获取值,例如 22 MiB/秒),因此,你可能无法达到日志文件的最大文件吞吐量,因为你即将达到实例吞吐量限制。
下一代常规用途服务层级中的 IOPS 和吞吐量
下一代常规用途服务层级具有以下 IOPS 特征:
- 最小保证 IOPS:无论保留存储如何,每个实例都保证至少为 300 IOPS。
- IOPS 随保留存储进行缩放:对于每 1GB 的保留存储,将获得 3 个内置 IOPS。 例如,如果有 1024 GB 的保留存储,则分配 3072 IOPS。
- 额外 IOPS:可以增加超出内置值的 IOPS 量,最大上限。
- 每个 vCore 计数的最大 IOPS 上限:每个 vCore 配置的最大 IOPS 限制,如每个 vCore 表显示的最大 IOPS 限制。
下一代常规用途服务层级具有以下吞吐量特征:
- 最小保证吞吐量:无论 vCore 数如何,每个实例都保证至少 75 MB/秒的吞吐量。
-
吞吐量使用 IOPS 进行缩放:吞吐量按比例缩放,并使用公式
throughput (MB/s) = IOPS / 30向实例分配的 IOPS 数。 例如,分配有 3,000 IOPS 的实例接收 100 MB/秒的吞吐量。 - 每个 vCore 计数的最大吞吐量上限:每个 vCore 配置的最大吞吐量限制,如每个 vCore 表显示的最大吞吐量。 预配所需的 IOPS 以达到此上限后,分配额外的 IOPS 会增加 IOPS 容量,但不会进一步增加吞吐量。 例如,4 个 vCore 实例(最大 6,400 IOPS)的吞吐量上限为 145 MB/秒,达到 4,350 IOPS。 将 IOPS 从 4,350 缩放到 6,400 可提供实例更多的 IOPS,但吞吐量仍上限为 145 MB/秒。 若要增加最大吞吐量,请添加更多 vCore。
下表显示了下一代常规用途服务层级中分配给实例的每个 vCore 数的最大 IOPS 和吞吐量:
| vCore 数目 | 最大 IOPS | 最大吞吐量(MB/秒) |
|---|---|---|
| 4 | 6,400 | 145 |
| 6 | 九千六百 | 217 |
| 8 | 12,800 | 290 |
| 10 | 16,000 | 367 |
| 12 | 一万九千二百 | 445 |
| 16 | 25,600 | 600 |
| 20 | 32,000 | 665 |
| 24 | 三万八千四百 | 730 |
| 32 | 五万一千二百 | 865 |
| 40 | 64,000 | 1,152 |
| 48 | 76,800 | 1,152 |
| 56 - 128 | 80,000 | 1,200 |
下一代常规用途中的 IOPS 定价
使用其他 IOPS 时,请考虑以下事项:
- 每个 IOPS/月收取额外的 IOPS 费用
- 可计费 IOPS 由以下公式计算:
Billable IOPS = Total IOPS - default IOPS
例如,如果具有具有 6400 IOPS 的即用即付 4 个 vCore 实例,则需付费:
- 4 个 vCore
- 4 个 vCore 的 SQL 许可证
- 1024 GB 的保留存储
- 计费 IOPS
(6400 - (1024*3) = 3328 IOPS)的 3328。
业务关键服务层级中的 IOPS 和吞吐量
在业务关键服务层级中,可用 IOPS 由使用公式 4000 IOPS/vCore的 vCore 数决定。 由于业务关键服务层级对数据和日志文件使用本地存储,因此吞吐量不受限制。
下表列出了基于 vCore 数的业务关键服务层级中可用的最大 IOPS:
| vCore 数目 | 业务关键 |
|---|---|
| 4 | 16,000 |
| 6 | 24,000 |
| 8 | 32,000 |
| 10 | 40,000 |
| 12 | 48,000 |
| 16 | 64,000 |
| 20 | 80,000 |
| 24 | 96,000 |
| 32 | 128,000 |
| 40 | 160,000 |
| 48 | 192,000 |
| 56 | 224,000 |
| 64 | 256,000 |
| 80 | 320,000 |
| 96 | 320,000 |
| 128 | 320,000 |
数据和日志存储
以下因素会影响数据和日志文件所占存储空间。 这些因素适用于通用层级和业务关键层级。
- 在“常规用途”服务层级中,
tempdb使用本地 SSD 存储,此存储成本包含在 vCore 价格中。 - 在业务关键服务层,将
tempdb本地SSD存储与数据和日志文件共享,tempdb存储成本包含在vCore价格中。 最大大小可tempdb调整到当前可用的实例存储大小。 - 您必须指定 SQL 托管实例 的最大存储容量,以 32 GB 为单位。
重要
在这两个服务层级中,你都为SQL 托管实例配置的最大存储容量付费。
若要监视 SQL 托管实例的已消耗实例存储大小总计,请使用 storage_space_used_mb指标。 若要使用 T-SQL 监视数据库中单个数据和日志文件的当前分配和使用存储大小,请使用 sys.database_files 视图和 FILEPROPERTY(... 'SpaceUsed') 函数。
提示
在某些情况下,可能需要收缩数据库以回收未使用的空间。 有关详细信息,请参阅 DBCC SHRINKFILE。
备份和存储
为数据库备份分配存储,以支持 SQL 托管实例的时间点还原 (PITR) 和长期保留 (LTR) 功能。 此存储独立于数据和日志文件存储,并单独计费。
PITR:在“常规用途”和“业务关键”层级中,各个数据库备份将自动复制到读取访问异地冗余 (RA-GRS) 存储。 创建新备份时,存储大小动态递增。 存储将由完整备份、差异备份和事务日志备份使用。 存储消耗量取决于数据库变化率以及为备份配置的保留期。 为每个数据库配置单独的保持期时,可以为 SQL 托管实例配置 1 到 35 天的保持期。 提供与配置的最大数据大小相等的备份存储量,不收取额外费用。
LTR:你还可以选择将完整备份的长期保留期配置为最多 10 年。 如果设置了 LTR 策略,则这些备份将自动存储在 RA-GRS 存储中,但你可以控制备份的复制频率。 为了满足不同的合规要求,你可以选择不同的保留期,分别用于每周、每月和每年备份。 所选配置决定了多少存储用于 LTR 备份。 有关详细信息,请参阅 长期保留 - Azure SQL 数据库和 Azure SQL 托管实例。
其他特征注意事项
当前可用实例存储大小是预留实例大小与已用存储空间之差。
与最大存储大小限制进行比较的实例存储大小同时包括用户数据库和系统数据库中的数据和日志文件大小。 可以使用 sys.master_files 系统视图来确定数据库使用的空间总量。 错误日志不会持久保存,不包括在大小中。 备份不包括在存储大小中。
常规用途层上的吞吐量和 IOPS 还要取决于未显式受到 SQL 托管实例限制的文件大小。
最大实例 IOPS 取决于工作负荷的文件布局和分布。 例如,如果你创建 7 个 1-TB 文件(每个文件最大 5K IOPS)和 7 个小文件(小于 128 GB,每个文件 500 IOPS),并且工作负载可以使用所有文件,则每个实例可以处理 38500 IOPS (7x5000+7x500)。 某些 IOPS 还用于自动回退。
可以使用故障转移组在不同的 Azure 区域中创建另一个可读副本
tempdb文件的名称不能超过 16 个字符。
详细了解本文中 SQL 托管实例池的资源限制。
灵活记忆
默认情况下,分配给 Azure SQL 托管实例的内存量是由所选 vCore 数决定的静态值。 灵活内存功能允许更改分配给 SQL 托管实例的内存量,而无需更改 vCore 数。 此功能适用于需要比给定数量的 vCore 数的默认分配更多的内存的工作负荷。
高级 系列 硬件上的以下服务层级和部署配置中提供了灵活的内存功能:
- 次世代通用: 本地冗余 和 区域冗余 实例。 灵活内存通常适用于本地冗余实例(GA),目前正处于区域冗余实例的预览阶段。 区域冗余的下一代通用实例需要Azure 弹性 SAN区域冗余存储(ZRS),而在某些支持区域冗余的多区域中,ZRS SQL 托管实例无法提供。 关于 Elastic SAN ZRS 可用性,请参见创建并部署 Azure 弹性 SAN。
- 业务关键: 本地冗余 实例和 区域冗余 实例。 灵活内存通常适用于业务关键服务层(GA)。
你可以随时通过Azure门户或REST API更改SQL管理实例为新旧实例分配的内存。 内存分配的更改适用于实例中的所有数据库,并将实例的故障切换作为最后的操作步骤。 检查 管理作持续时间 ,以确定作完成的估计时间。
使用Azure门户中的Compute + storage面板来更改内存分配,或properties.memorySizeInGB从2024-08-01预览版开始调用托管实例 - Create or Update REST API调用的值。 指定内存分配单位为GB。
分配内存时,可以在最小值和最大值之间进行选择,并确定内存与 vCore 的比率。 最小值和最大值取决于你为实例选择的vCore数量。 内存与 vCore 比率是分配给实例的总内存的百分比。
下表显示了灵活内存功能的最小和最大内存值:
| vCore 数 | 最小 RAM (GB) | 最大 RAM (GB) | 支持的 API RAM 值 | 最小比率 | 最大比率 | 支持的比率 |
|---|---|---|---|---|---|---|
| 4 | 28 | 48 | 28, 32, 40, 48 | 7 | 12 | 7, 8, 10, 12 |
| 6 | 42 | 72 | 42, 48, 60, 72 | 7 | 12 | 7, 8, 10, 12 |
| 8 | 56 | 96 | 56, 64, 80, 96 | 7 | 12 | 7, 8, 10, 12 |
| 10 | 70 | 120 | 70, 80, 100, 120 | 7 | 12 | 7, 8, 10, 12 |
| 12 | 84 | 144 | 84, 96, 120, 144 | 7 | 12 | 7, 8, 10, 12 |
| 16 | 112 | 192 | 112, 128, 160, 192 | 7 | 12 | 7, 8, 10, 12 |
| 20 | 140 | 240 | 140, 160, 200, 240 | 7 | 12 | 7, 8, 10, 12 |
| 24 | 168 | 288 | 168, 192, 240, 288 | 7 | 12 | 7, 8, 10, 12 |
| 32 | 224 | 384 | 224, 256, 320, 384 | 7 | 12 | 7, 8, 10, 12 |
| 40 | 280 | 480 | 280, 320, 400, 480 | 7 | 12 | 7, 8, 10, 12 |
| 48 | 336 | 480 | 336, 384, 480 | 7 | 10 | 7, 8, 10 |
| 56 | 392 | 448 | 392, 448 | 7 | 8 | 7、 8 |
| 64 | 448 | 448 | 448 | 7 | 7 | 8 |
| 80 | 560 | 560 | 560 | 7 | 7 | 8 |
| 96 | 560 | 560 | 560 | 5.83 | 5.83 | 5.83 |
| 128 | 560 | 560 | 560 | 4.38 | 4.38 | 4.38 |
定价
使用灵活内存功能时,请考虑以下细节:
- 你按每小时GB的额外内存付费。
- 计费内存使用以下公式:
Billable memory = Total memory - default memory。
例如,如果你使用一个按需付费的4 vCore实例,配备40 GB内存,你会为以下内容付费:
- 4 个 vCore
- 4 个 vCore 的 SQL 许可证
- 12 GB 的计费内存(40 GB - (4*7) = 12 GB。
支持的区域
你只能在支持的区域创建 SQL 托管实例。 要在当前不支持的区域创建SQL 托管实例,请通过Azure门户发送支持请求。
支持的订阅类型
SQL 托管实例 目前仅支持以下订阅类型的部署:
- 企业协议 (EA)
- 即用即付
- 云服务提供商 (CSP)
- Enterprise 开发/测试
- 即用即付开发/测试
- 面向 Visual Studio 订阅者的每月 Azure 额度订阅
- 免费试用
- 面向学生的 Azure
- Azure 开放式许可
- Azure 计划
区域资源限制
注意
有关订阅的区域可用性的最新信息,请首先查看选择区域。
支持的订阅类型可以包含每个区域的有限数量的资源。 SQL 托管实例 每个 Azure 区域有一个默认限制(你可以根据需要在 Azure 门户创建特别支持请求来提高),具体取决于订阅类型:
- vCore 单元限制:每代硬件在单一区域内所有实例中部署的最大 vCore 单元数量。 一个 GP vCore 使用一个 vCore 单元,一个 BC vCore 使用 4个 vCore 单元。 只要实例在 vCore 单位限制内,实例总数就不会受到限制。
注意
这些限制是默认设置,不是技术限制。 如果你需要当前区域更多的实例,可以在 Azure 门户创建一个特别的支持请求,按需提高限制。 或者,可以在另一个 Azure 区域中创建 SQL 托管实例的新实例,而无需发送支持请求。
下表显示了支持的订阅类型的默认区域限制(可使用支持请求扩展默认限制):
| 订阅类型 | vCore 单位的默认限制 1 |
|---|---|
| CSP | 960 (部分地区 14402) |
| EA | 960 (部分地区 14402) |
| Enterprise 开发/测试 | 320 |
| 即用即付 | 320 |
| 即用即付开发/测试 | 320 |
| Azure Pass | 64 |
| BizSpark | 64 |
| BizSpark Plus | 64 |
| Microsoft Azure 赞助 | 64 |
| Microsoft 合作伙伴网络 | 64 |
| Visual Studio 企业版 (MPN) | 64 |
| Visual Studio Enterprise | 32 |
| Visual Studio Enterprise (BizSpark) | 32 |
| Visual Studio Professional | 32 |
| MSDN 平台 | 32 |
1 在部署规划中,要考虑业务关键(BC)服务层需要的vCore容量是通用(GP)服务层的四(4)倍。 例如:1 个 GP vCore = 1 个 vCore 单元,1 个 BC vCore = 4 个 vCore。 为了简化对默认限制的消耗分析,请总结部署SQL 托管实例区域内所有实例的vCore单元,并与你订阅类型下的vCore单元限制进行比较。 每个订阅在某一区域的硬件世代中, 最大vCore单元 数量的限制适用。
以下 地区提供2个更大的vCore限制:澳大利亚东部、美国东部、美国东部2、北欧、美国中南部、东南亚、英国南部、西欧、美国西部2。
重要
如果你的vCore限制是0,说明默认的地区限制没有设置。 你也可以按照同样的流程,在特定区域使用配额增加请求获得订阅访问权限——提供所需的vCore值。
在区域容量限制下,默认的区域vCore限制可以被降低或暂停。
用PowerShell检查vCore配额限制和使用情况
使用订阅使用量 - 获取 REST API 获取订阅和区域内 Azure SQL 托管实例 当前的 vCore 配额限制和消耗量。 通过指定使用名称分别查询每一代硬件:
| 硬件生成 | 用法名称 |
|---|---|
| 标准系列 (Gen5) | SubscriptionSQLManagedInstanceStandardSeriesVCoreQuota |
| 高级系列 | SubscriptionSQLManagedInstancePremiumSeriesVCoreQuota |
| 内存优化高级系列 | SubscriptionSQLManagedInstancePremiumSeriesMemoryOptimizedVCoreQuota |
在安装了 Az 模块的 PowerShell 会话中运行以下脚本,或者在 Azure Cloud Shell 中使用 PowerShell。 你的账户需要权限才能读取订阅使用情况,比如订阅范围中分配的 读者角色 。
用你的订阅 ID 替换<subscription-id>,设置为 $location Azure 区域名(例如),eastus并设置为$usageName前表中的某个值。 如果你已经通过 Cloud Shell 登录,请省略 Connect-AzAccount。
$subscriptionId = "<subscription-id>"
$location = "eastus"
$usageName = "SubscriptionSQLManagedInstanceStandardSeriesVCoreQuota"
Connect-AzAccount -ErrorAction Stop | Out-Null
Set-AzContext -SubscriptionId $subscriptionId -ErrorAction Stop | Out-Null
$path = "/subscriptions/$subscriptionId/providers/Microsoft.Sql/locations/$location/usages/${usageName}?api-version=2025-01-01"
$response = Invoke-AzRestMethod -Method GET -Path $path -ErrorAction Stop
if ($response.StatusCode -ne 200) {
throw "Unable to retrieve quota usage. HTTP $($response.StatusCode): $($response.Content)"
}
$response.Content | ConvertFrom-Json -ErrorAction Stop | ConvertTo-Json -Depth 10
示例输出(摘录;数值为说明性):
{
"name": "SubscriptionSQLManagedInstanceStandardSeriesVCoreQuota",
"properties": {
"currentValue": 80,
"limit": 320,
"unit": "SubscriptionSQLManagedInstanceStandardSeriesVCoreQuota"
}
}
在这个例子中, properties.currentValue 是当前的配额消耗: 80个vCore单元。
properties.limit 是当前配额上限: 320个vCore单元。 剩余配额为 limit - currentValue,即 240 个 vCore 单元,适用于指定订阅和地区的标准系列硬件。
如本节前述,每个通用vCore消耗一个vCore单元,每个业务关键vCore消耗四个vCore单元。 重复请求,换$usageName$location个硬件世代或区域。 要提高配额,请参见 “请求提高配额”。
重要
此前使用的 VCoreQuota 使用名称,代表跨所有硬件世代共享的单一区域配额,现正被废弃,取而代之的是硬件世代特定的配额。 使用前表中列出的使用名称,获取每代硬件的配额限制和用电量。
请求增加配额
如果你需要在当前区域内增加实例,可以通过 Azure 门户发送支持请求以延长配额。 有关详细信息,请参阅 Azure SQL 数据库和 SQL 托管实例的请求配额增加。
注意
自2026年8月起,SQL 托管实例 配额请求类型发生了变化。 子网配额不再适用,vCore 配额现按硬件世代为单位。 欲了解更多信息,请参见 SQL 托管实例 配额请求类型。