Azure SQL 托管实例资源限制概述

适用于:Azure SQL 托管实例

本文概述了 Azure SQL 托管实例的技术特征和资源限制,并提供了有关如何请求提高这些限制的信息。

注意

有关支持的功能和 T-SQL 语句的差异,请参阅功能差异T-SQL 语句支持。 有关 Azure SQL 数据库和 SQL 托管实例中服务层级之间的一般差异,请参阅服务层级比较

硬件代次特征

SQL 托管实例的某些特征和资源限制取决于底层基础结构和体系结构。

注意

Gen5 硬件代系已重命名为第5 代 (系列) 。

有关上一代硬件代系的信息,请参阅本文后面的上一代硬件代系详细信息

硬件代次具有不同的特征,如下表所述:

标准系列 (Gen5)
CPU Intel® E5-2673 v4 (Broadwell) 2.3 GHz、Intel® SP-8160 (Skylake) 和 Intel® 8272CL (Cascade Lake) 2.5 GHz 处理器
vCore 数目
vCore=1 LP(超线程)
4-80 个 vCore
最大内存(内存/ vCore 比率) 每个 vCore 5.1 GB
添加更多 vCore 以获得更多内存。
最大内存中 OLTP 存储 实例限制:每个 vCore 0.8 - 1.65 GB
最大实例预留存储 常规用途:最多 16 TB
业务关键:最多 4 TB

* 取决于 vCore 数

内存中 OLTP 可用空间

业务关键服务层中,内存中的 OLTP 空间量取决于 vCore 数和硬件代系。 下表列出了可用于内存中 OLTP 对象的内存限制。

vCore 数 标准系列 (Gen5)
4 个 vCore 3.14 GB
8 个 vCore 6.28 GB
16 个 vCore 15.77 GB
24 个 vCore 25.25 GB
32 个 vCore 37.94 GB
40 个 vCore 52.23 GB
64 个 vCore 99.9 GB
80 个 vCore 131.68 GB

服务层特征

SQL 托管实例有两个服务层级:常规用途业务关键。 这些层级提供不同的功能,如下表中所述。

重要

业务关键服务层提供了 SQL 托管实例的附加内置副本(次要副本),可用于只读工作负载。 如果可以隔离读写查询和只读/分析/报告查询,则能够以相同的价格获得两倍的 vCore 和内存。 次要副本可能滞后于主要实例几秒,因此它旨在卸载不需要确切的当前数据状态的报告/分析工作负荷。 在下表中,只读查询是在次要副本上执行的查询。

功能 常规用途 业务关键
vCore 数目* 4、8、16、24、32、40、64、80 标准系列 (Gen5) :4、8、16、24、32、40、64、80
*相同的 vCore 数专用于只读查询。
最大内存 标准系列 (Gen5) :20.4 GB - 408 GB (5.1 GB/vCore) 标准系列 (Gen5) :每个副本 20.4 GB - 408 GB (5.1 GB/vCore)
最大实例存储大小(预留) - 4 个 vCore 2 TB
- 8 个 vCore 8 TB
- 其他大小 16 TB
标准系列 (Gen5)
- 1 TB,适用于 4、8、16 个 vCore
- 2 TB(适用于 24 个 vCore)
- 32、40、64、80 个 vCore 4 TB
最大数据库大小 最大为当前可用实例大小(具体取决于 vCore 数)。 最大为当前可用实例大小(具体取决于 vCore 数)。
最大 tempDB 大小 限制为 24 GB/vCore (96 - 1,920 GB) 和当前可用的实例存储大小。
添加更多 Vcore 以获得更多 TempDB 空间。
日志文件大小限制为 120 GB。
不超过当前可用的实例存储大小。
每个实例的数据库数目上限 提供 100 个用户数据库,除非已达到实例存储大小限制。 提供 100 个用户数据库,除非已达到实例存储大小限制。
每个实例的数据库文件数上限 除非已达到实例存储大小或 Azure 高级磁盘存储分配空间限制,否则最大为 280。 除非已达到实例存储大小限制,否则为每个数据库 32,767 个文件。
最大数据文件大小 每个数据文件的最大大小为 8 TB。 对于大于 8 TB 的数据库,请至少使用两个数据文件。 最大为当前可用实例大小(具体取决于 vCore 数)。
最大日志文件大小 限制为 2 TB 和当前可用的实例存储大小。 限制为 2 TB 和当前可用的实例存储大小。
数据/日志 IOPS(近似值) 每个实例最多 30-40 K IOPS*,每个文件 500 - 7500
**
16 K - 320 K (4000 IOPS/vCore)
添加更多 Vcore 以获得更好的 IO 性能。
日志写入吞吐量限制(每个实例) 3 MB/s(每个 vCore)
最大为 120 MB/秒(每个实例)
每个数据库 22 - 65 MB/秒(具体取决于日志文件大小)
**
4 MB/s(每个 vCore)
最大为 96 MB/秒
数据吞吐量(近似值) 100 - 250 MB/s(每个文件)
**
无限制。
存储 IO 延迟(近似) 5-10 毫秒 1-2 毫秒
内存中 OLTP 不支持 可用大小取决于 vCore 数
最大会话数 30000 30000
最大并发工作线程数(请求数) 105 * vCore 数目 + 800 105 * vCore 数目 + 800
只读副本 0 1(包括在价格中)
计算隔离 不支持,因为“常规用途”实例可能与其他实例共享物理硬件 标准系列 (Gen5)
支持 40、64、80 个 vCore

一些其他注意事项:

  • 当前可用实例存储大小是预留实例大小与已用存储空间之差。
  • 与最大存储大小限制进行比较的实例存储大小同时包括用户数据库和系统数据库中的数据和日志文件大小。 可以使用 sys.master_files 系统视图来确定数据库使用的空间总量。 错误日志不会持久保存,不包括在大小中。 备份不包括在存储大小中。
  • 常规用途层上的吞吐量和 IOPS 还要取决于未显式受到 SQL 托管实例限制的文件大小。 可以使用自动故障转移组在不同的 Azure 区域中创建另一个可读副本
  • 最大实例 IOPS 取决于工作负荷的文件布局和分布。 例如,如果创建 7 个 1 TB 文件(每个文件最大 5K IOPS)和 7 个小文件(小于 128 GB,每个文件 500 IOPS),并且工作负载可以使用所有文件,则每个实例可以处理 38500 IOPS (7x5000+7x500)。 请注意,某些 IOPS 还将用于自动备份。

“常规用途”层级中的文件 IO 特征

在常规用途服务层中,每个数据库文件都将获得专用 IOPS 和吞吐量,具体取决于文件大小。 较大的文件会获得更多的 IOPS 和吞吐量。 下表显示了数据库文件的 IO 特征:

文件大小 = 0 且 < = 128 GiB 128和 < = 512 GiB 0.5 和 < = 1 TiB 1和 < = 2 TiB 2和 < = 4 TiB 4和 < = 8 TiB 8和 < = 16 TiB
每个文件的 IOPS 500 2300 5000 7500 7500 12,500
每个文件的吞吐量 100 MiB/秒 150 MiB/秒 200 MiB/秒 250 MiB/秒 250 MiB/秒 480 MiB/秒

如果注意到某个数据库文件的 IO 延迟较高,或者发现 IOPS/吞吐量即将达到限制,可以通过增大文件大小来提高性能。

在最大日志写入吞吐量上还有一个实例级别限制 (参阅上面的值(例如 22 MB/s) ),因此您可能无法在整个日志文件中到达最大文件,因为您已达到实例吞吐量限制。

支持的区域

SQL 托管实例只能在支持的区域中创建。 若要在当前不支持的区域中创建 SQL 托管实例,可以发送支持请求

区域资源限制

支持的订阅类型可以包含每个区域的有限数量的资源。 对于每个 Azure 区域,SQL 托管实例有两个默认限制(可以通过创建特殊支持请求来按需提高),具体取决于订阅类型是哪一类型:

  • 子网限制:在单个区域中部署 SQL 托管实例的实例的子网数目上限。
  • vCore 单元限制:可跨单一区域的所有实例部署的 vCore 单元数上限。 一个 GP vCore 使用一个 vCore 单元,一个 BC vCore 使用 4个 vCore 单元。 实例总数不受限制,只要在 vCore 单元限制内即可。

注意

这些限制是默认设置,不是技术限制。 如果在当前区域中需要更多实例,可以创建特殊支持请求,以根据需要提高限制。 或者,可以在另一个 Azure 区域中创建 SQL 托管实例的新实例,而无需发送支持请求。

上一代硬件

本部分包含有关上一代硬件代系的详细信息。 请考虑将 SQL 托管实例迁移到标准系列 (Gen5) 硬件,以体验更广泛的 vCore 容量和存储可伸缩性、加速的网络、最佳 IO 性能和最短延迟时间。

  • Gen4 正在逐步被淘汰,不能用于新部署。

硬件代次特征

Gen4
硬件 Intel® E5-2673 v3 (Haswell) 2.4-GHz 处理器、附加的 SSD vCore = 1 PP(物理核心)
vCore 数目 8、16、24 个 vCore
最大内存(内存/核心比) 每个 vCore 7 GB
添加更多 vCore 以获得更多内存。
最大内存中 OLTP 存储 实例限制:每个 vCore 1 - 1.5 GB
最大实例保留存储 常规用途:8 TB
业务关键:1 TB

内存中 OLTP 可用空间

业务关键服务层级中的内存中 OLTP 空间量取决于 vCore 数和硬件代次。 下表列出了可用于内存中 OLTP 对象的内存限制。

内存中 OLTP 空间 Gen4
8 个 vCore 8 GB
16 个 vCore 20 GB
24 个 vCore 36 GB

服务层特征

功能 常规用途 业务关键
vCore 数目* Gen4:8、16、24 Gen4:8、16、24
*相同的 vCore 数专用于只读查询。
最大内存 Gen4:56 GB - 168 GB (7GB/vCore)
添加更多 vCore 以获得更多内存。
Gen4:56 GB - 168 GB (7GB/vCore)
为只读查询额外提供 20.4 GB - 408 GB (5.1GB/vCore)。
添加更多 vCore 以获得更多内存。
最大实例存储大小(预留) Gen4:8 TB Gen4:1 TB
最大数据库大小 Gen4:最大为当前可用实例大小(最大 2 TB - 8 TB,具体取决于 vCore 数)。 Gen4:最大为当前可用实例大小(最大 1 TB - 4 TB,具体取决于 vCore 数)。
最大 tempDB 大小 Gen4:限制为 24 GB/vCore (96 - 1,920 GB) 和当前可用实例存储大小。
添加更多 Vcore 以获得更多 TempDB 空间。
日志文件大小限制为 120 GB。
Gen4:最大为当前可用实例存储大小。
每个实例的数据库数目上限 Gen4:提供 100 个用户数据库,除非已达到实例存储大小上限。 Gen4:提供 100 个用户数据库,除非已达到实例存储大小上限。
每个实例的数据库文件数上限 Gen4:除非已达到实例存储大小或 Azure 高级磁盘存储分配空间限制,否则最大为 280。 Gen4:除非已达到实例存储大小限制,否则每个数据库 32,767 个文件。
最大数据文件大小 Gen4:限制为当前可用实例存储大小(最大 2 TB - 8 TB)和 Azure 高级磁盘存储分配空间。 对于大于 8 TB 的数据库,请至少使用两个数据文件。 Gen4:限制为当前可用的实例存储大小 (高达 1 TB - 4 TB) 。
最大日志文件大小 Gen4:限制为 2 TB 和当前可用实例存储大小。 Gen4:限制为 2 TB 和当前可用实例存储大小。
数据/日志 IOPS(近似值) Gen4:每个实例最多 30-40 K IOPS*,每个文件 500 - 7500
**
Gen4:16 K - 320 K (4000 IOPS/vCore)
添加更多 Vcore 以获得更好的 IO 性能。
日志写入吞吐量限制(每个实例) Gen4:3 MB/秒(每个 vCore)
最大为 120 MB/秒(每个实例)
22 - 65 MB/秒(每个数据库)
**
Gen4:每个 vCore 4 MB/s
最大为 96 MB/秒
数据吞吐量(近似值) Gen4:100 - 250 MB/秒(每个文件)
**
Gen4:无限制。
存储 IO 延迟(近似) Gen4:5-10 毫秒 Gen4:1-2 毫秒
内存中 OLTP Gen4:不支持 Gen4:可用,大小取决于 vCore 数
最大会话数 Gen4:30000 Gen4:30000
最大并发工作线程数(请求数) Gen4:210 * vCore 数目 + 800 Gen4:210 * vCore 计数 + 800
只读副本 Gen4:0 Gen4:1(包括在价格中)
计算隔离 Gen4:不支持 Gen4:不支持

后续步骤