使用 vCore 购买模型的弹性池的资源限制

适用于:Azure SQL 数据库

本文提供针对使用 vCore 购买模型的 Azure SQL 数据库弹性池和共用数据库的详细资源限制。

重要

在某些情况下,可能需要收缩数据库来回收未使用的空间。 有关详细信息,请参阅管理 Azure SQL 数据库中的文件空间

弹性池的每个只读副本具有自身的资源,例如 vCore、内存、数据 IOPS、tempdb、辅助角色和会话。 每个只读副本都受到本文稍后详细说明的弹性池资源限制的约束。

可以通过以下方式设置服务层级、计算大小(服务目标)和存储量:

重要

有关缩放指南和注意事项,请参阅缩放弹性池

如果弹性池的所有 vCore 繁忙,则池中的每个数据库将接收相同数量的计算资源来处理查询。 Azure SQL 数据库通过确保相等的计算时间片段,在数据库之间提供资源共享的公平性。 弹性池资源共享公平性是在将每个数据库的 vCore 最小值设为非零值时,对另外为每个数据库保证的任意资源量的补充。

对于相同数量的 vCore,提供给弹性池的资源可能会超过提供给弹性池外部的单个数据库的资源。 这意味着根据工作负载模式,弹性池的 CPU、数据 IO 和日志写入利用率可能低于池中所有数据库的 CPU、数据 IO 和日志写入利用率之和。 例如,在弹性池中只有一个数据库的极端情况下,如果数据库数据 IO 利用率为 100%,在某些工作负载模式下,池的数据 IO 利用率可能为 50%。 即使每个数据库的最大 vCore 保持在给定池大小支持的最大值,也可能发生这种情况。

注意

vCore 购买模型中的 Gen5 硬件已重命名为“标准系列 (Gen5)”。

常规用途 - 预配的计算 - 标准系列 (Gen5)

常规用途 - 标准系列 (Gen5)(第 1 部分,共 2 部分)

常规用途标准系列弹性池的计算大小(服务级别目标,简称 SLO)遵循命名约定 GP_Gen5_,后跟最大 vCore 数量。

下表涵盖了这些 SLO:GP_Gen5_2GP_Gen5_4GP_Gen5_6GP_Gen5_8GP_Gen5_10GP_Gen5_12GP_Gen5_14

vCore 数 2 4 6 8 10 12 14
硬件 Gen5 Gen5 Gen5 Gen5 Gen5 Gen5 Gen5
内存 (GB) 10.4 20.8 31.1 41.5 51.9 62.3 72.7
每个池的最大数据库数 1 100 200 500 500 500 500 500
列存储支持
内存中 OLTP 存储 (GB) 空值 不可用 不可用 不可用 不可用 不可用 空值
最大数据大小 (GB) 512 756 1536 2048 2048 2048 2048
最大日志大小 (GB) 2 154 227 461 461 461 614 614
tempdb 最大数据大小 (GB) 64 128 192 256 320 384 448
存储类型 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储
读取 IO 延迟(近似) 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒
写入 IO 延迟(近似) 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒
每个池的最大数据 IOPS 3 1,400 2,800 4,200 5,600 7,000 8,400 9,800
每个池的最大日志速率 (MBps) 12 24 36 48 60 62.5 62.5
每个池的最大并发工作线程数 4 210 420 630 840 1050 1260 1470
每个池的最大并发登录数 210 420 630 840 1050 1260 1470
最大并发会话数 30,000 30,000 30,000 30,000 30,000 30,000 30,000
每个池的最大并发外部连接数 5 21 42 63 84 105 126 147
每个数据库的最小/最大弹性池 vCore 选项 0, 0.25, 0.5, 1, 2 0, 0.25, 0.5, 1, 2, 4 0、0.25、0.5、1、2、4、6 0、0.25、0.5、1、2、4、6、8 0、0.25、0.5、1、2、4、6、8、10 0、0.25、0.5、1、2、4、6、8、10、12 0、0.25、0.5、1、2、4、6、8、10、12、14
副本数 1 1 1 1 1 1 1
Multi-AZ
读取横向扩展 空值 不可用 不可用 不可用 不可用 不可用 空值
随附的备份存储 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小

1 请参阅密集弹性池中的资源管理,了解其他注意事项。

2 表示记录的最大数据大小值。 减小最大数据大小会按比例减小最大日志大小。

3 IO 大小的最大值,范围为 8 KB 到 64 KB。 实际 IOPS 与工作负荷相关。 有关详细信息,请参阅数据 IO 调控

4 如需了解任何单个数据库的最大并发辅助角色数(请求数),请参阅单一数据库资源限制。 例如,如果弹性池使用 Gen5 且每个数据库的最大 vCore 数设置为 2,则最大并发辅助角色数目值为 200。 如果每个数据库的最大 vCore 数设置为 0.5,则最大并发辅助角色数目值为 50,因为 Gen5 上每个 vCore 的最大并发辅助角色数为 100。 对于每个数据库的最大 vCore 设置小于 1 个 vCore 或更少的其他情况,最大并发辅助角色数会相应重新缩放。

5 若要详细了解哪些属于外部连接,请参阅外部连接

常规用途 - 标准系列 (Gen5)(第 2 部分,共 2 部分)

常规用途标准系列弹性池的计算大小(服务级别目标,简称 SLO)遵循命名约定 GP_Gen5_,后跟最大 vCore 数量。

下表涵盖了这些 SLO:GP_Gen5_16GP_Gen5_18GP_Gen5_20GP_Gen5_24GP_Gen5_32GP_Gen5_80

vCore 数 16 18 20 24 32 80
硬件 Gen5 Gen5 Gen5 Gen5 Gen5 Gen5
内存 (GB) 83 93.4 103.8 124.6 166.1 415.2
每个池的最大数据库数 1 500 500 500 500 500 500
列存储支持
内存中 OLTP 存储 (GB) 空值 不可用 不可用 不可用 不可用 空值
最大数据大小 (GB) 2048 3072 3072 3072 4096 4096
最大日志大小 (GB) 2 614 922 922 922 1229 1229
tempdb 最大数据大小 (GB) 512 576 640 768 1024 2560
存储类型 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储 高级(远程)存储
读取 IO 延迟(近似) 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒 5-10 毫秒
写入 IO 延迟(近似) 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒 5-7 毫秒
每个池的最大数据 IOPS 3 11,200 12,600 14,000 16,800 22,400 32,000
每个池的最大日志速率 (MBps) 62.5 62.5 62.5 62.5 62.5 62.5
每个池的最大并发工作线程数 4 1680 1890 2100 2520 3360 8400
每个池的最大并发登录数 1680 1890 2100 2520 3360 8400
最大并发会话数 30,000 30,000 30,000 30,000 30,000 30,000
每个池的最大并发外部连接数 5 150 150 150 150 150 150
每个数据库的最小/最大弹性池 vCore 选项 0、0.25、0.5、1、2、4、6、8、10、12、14、16 0、0.25、0.5、1、2、4、6、8、10、12、14、16、18 0、0.25、0.5、1、2、4、6、8、10、12、14、16、18、20 0、0.25、0.5、1、2、4、6、8、10、12、14、16、18、20、24 0、0.25、0.5、1、2、4、6、8、10、12、14、16、18、20、24、32 0、0.25、0.5、1、2、4、6、8、10、12、14、16、18、20、24、32、40、48、80
副本数 1 1 1 1 1 1
Multi-AZ
读取横向扩展 空值 不可用 不可用 不可用 不可用 空值
随附的备份存储 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小

1 请参阅密集弹性池中的资源管理,了解其他注意事项。

2 表示记录的最大数据大小值。 减小最大数据大小会按比例减小最大日志大小。

3 IO 大小的最大值,范围为 8 KB 到 64 KB。 实际 IOPS 与工作负荷相关。 有关详细信息,请参阅数据 IO 调控

4 如需了解任何单个数据库的最大并发辅助角色数(请求数),请参阅单一数据库资源限制。 例如,如果弹性池使用标准系列 (Gen5) 且每个数据库的最大 vCore 数设置为 2,则最大并发辅助角色数目值为 200。 如果每个数据库的最大 vCore 数设置为 0.5,则最大并发辅助角色数目值为 50,因为标准系列 (Gen5) 上每个 vCore 的最大并发辅助角色数为 100。 对于每个数据库的最大 vCore 设置小于 1 个 vCore 或更少的其他情况,最大并发辅助角色数会相应重新缩放。

5 若要详细了解哪些属于外部连接,请参阅外部连接

业务关键 - 预配的计算 - 标准系列 (Gen5)

业务关键 - 标准系列 (Gen5)(第 1 部分,共 2 部分)

业务关键标准系列弹性池中的计算大小(服务级别目标,简称 SLO)遵循命名约定 BC_Gen5_,后跟 vCore 数量。

下表涵盖了这些 SLO:BC_Gen5_4BC_Gen5_6BC_Gen5_8BC_Gen5_10BC_Gen5_12BC_Gen5_14

vCore 数 4 6 8 10 12 14
硬件 Gen5 Gen5 Gen5 Gen5 Gen5 Gen5
内存 (GB) 20.8 31.1 41.5 51.9 62.3 72.7
每个池的最大数据库数 1 50 100 100 100 100 100
列存储支持
内存中 OLTP 存储 (GB) 3.14 4.71 6.28 8.65 11.02 13.39
最大数据大小 (GB) 1024 1536 2048 2048 3072 3072
最大日志大小 (GB) 2 307 307 461 461 922 922
tempdb 最大数据大小 (GB) 128 192 256 320 384 448
最大本地存储大小 (GB) 4829 4829 4829 4829 4829 4829
存储类型 本地 SSD 本地 SSD 本地 SSD 本地 SSD 本地 SSD 本地 SSD
读取 IO 延迟(近似) 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒
写入 IO 延迟(近似) 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒
每个池的最大数据 IOPS 3 18,000 27,000 36,000 45,000 54,000 63,000
每个池的最大日志速率 (MBps) 60 90 120 120 120 120
每个池的最大并发工作线程数 4 420 630 840 1050 1260 1470
每个池的最大并发登录数 420 630 840 1050 1260 1470
最大并发会话数 30,000 30,000 30,000 30,000 30,000 30,000
每个池的最大并发外部连接数 5 42 63 84 105 126 147
每个数据库的最小/最大弹性池 vCore 选项 0, 0.25, 0.5, 1, 2, 4 0、0.25、0.5、1、2、4、6 0、0.25、0.5、1、2、4、6、8 0、0.25、0.5、1、2、4、6、8、10 0、0.25、0.5、1、2、4、6、8、10、12 0、0.25、0.5、1、2、4、6、8、10、12、14
副本数 4 4 4 4 4 4
Multi-AZ
读取横向扩展
随附的备份存储 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小

1 请参阅密集弹性池中的资源管理,了解其他注意事项。

2 表示记录的最大数据大小值。 减小最大数据大小会按比例减小最大日志大小。

3 IO 大小的最大值,范围为 8 KB 到 64 KB。 实际 IOPS 与工作负荷相关。 有关详细信息,请参阅数据 IO 调控

4 如需了解任何单个数据库的最大并发辅助角色数(请求数),请参阅单一数据库资源限制。 例如,如果弹性池使用标准系列 (Gen5) 且每个数据库的最大 vCore 数设置为 2,则最大并发辅助角色数目值为 200。 如果每个数据库的最大 vCore 数设置为 0.5,则最大并发辅助角色数目值为 50,因为标准系列 (Gen5) 上每个 vCore 的最大并发辅助角色数为 100。 对于每个数据库的最大 vCore 设置小于 1 个 vCore 或更少的其他情况,最大并发辅助角色数会相应重新缩放。

5 若要详细了解哪些属于外部连接,请参阅外部连接

业务关键 - 标准系列 (Gen5)(第 2 部分,共 2 部分)

业务关键标准系列弹性池中的计算大小(服务级别目标,简称 SLO)遵循命名约定 BC_Gen5_,后跟 vCore 数量。

下表涵盖了这些 SLO:BC_Gen5_16BC_Gen5_18BC_Gen5_20BC_Gen5_24BC_Gen5_32BC_Gen5_80

vCore 数 16 18 20 24 32 80
硬件 Gen5 Gen5 Gen5 Gen5 Gen5 Gen5
内存 (GB) 83 93.4 103.8 124.6 166.1 415.2
每个池的最大数据库数 1 100 100 100 100 100 100
列存储支持
内存中 OLTP 存储 (GB) 15.77 18.14 20.51 25.25 37.94 131.68
最大数据大小 (GB) 3072 3072 3072 4096 4096 4096
最大日志大小 (GB) 2 922 922 922 1229 1229 1229
tempdb 最大数据大小 (GB) 512 576 640 768 1024 2560
最大本地存储大小 (GB) 4829 4829 4829 4829 4829 4829
存储类型 本地 SSD 本地 SSD 本地 SSD 本地 SSD 本地 SSD 本地 SSD
读取 IO 延迟(近似) 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒
写入 IO 延迟(近似) 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒 1-2 毫秒
每个池的最大数据 IOPS 3 72,000 81,000 90,000 108,000 144,000 256,000
每个池的最大日志速率 (MBps) 120 120 120 120 120 120
每个池的最大并发工作线程数 4 1680 1890 2100 2520 3360 8400
每个池的最大并发登录数 1680 1890 2100 2520 3360 8400
最大并发会话数 30,000 30,000 30,000 30,000 30,000 30,000
每个池的最大并发外部连接数 5 150 150 150 150 150 150
每个数据库的最小/最大弹性池 vCore 选项 0、0.25、0.5、1、2、4、8、12、14、16 0、0.25、0.5、1、2、4、8、12、14、16、18 0、0.25、0.5、1、2、4、8、12、14、16、18、20 0、0.25、0.5、1、2、4、8、12、14、16、18、20、24 0、0.25、0.5、1、2、4、8、12、14、16、18、20、24、32 0、0.25、0.5、1、2、4、8、12、14、16、18、20、24、32、40、80
副本数 4 4 4 4 4 4
Multi-AZ
读取横向扩展
随附的备份存储 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小 1 倍数据库大小

1 请参阅密集弹性池中的资源管理,了解其他注意事项。

2 表示记录的最大数据大小值。 减小最大数据大小会按比例减小最大日志大小。

3 IO 大小的最大值,范围为 8 KB 到 64 KB。 实际 IOPS 与工作负荷相关。 有关详细信息,请参阅数据 IO 调控

4 如需了解任何单个数据库的最大并发辅助角色数(请求数),请参阅单一数据库资源限制。 例如,如果弹性池使用标准系列 (Gen5) 且每个数据库的最大 vCore 数设置为 2,则最大并发辅助角色数目值为 200。 如果每个数据库的最大 vCore 数设置为 0.5,则最大并发辅助角色数目值为 50,因为标准系列 (Gen5) 上每个 vCore 的最大并发辅助角色数为 100。 对于每个数据库的最大 vCore 设置小于 1 个 vCore 或更少的其他情况,最大并发辅助角色数会相应重新缩放。

5 若要详细了解哪些属于外部连接,请参阅外部连接

共用数据库的数据库属性

对于每个弹性池,可以选择性地指定每个数据库的最小和最大 vCore 数,以修改池中的资源消耗模式。 指定的最小值和最大值适用于池中的所有数据库。 不支持为池中的单个数据库自定义 vCore 数量的上下限。

还可为每个数据库设置最大存储,例如,为了防止数据库耗尽池存储。 可以单独为每个数据库配置此设置。

下表描述了共用数据库的每个数据库的属性。

属性 说明
每个数据库的最大 vCore 数 根据池中其他数据库的 vCore 使用率,池中任何数据库可以使用的 vCore 的最大数目。 每个数据库的 vCore 数量上限并不是保证的数据库资源。 如果每个数据库中的工作负载无需占用所有可用池资源即可保持足够的性能,请考虑为每个数据库设置最大 vCore 数,以防止池资源被单个数据库独占。 因为池通常会假定数据库存在热使用模式和冷使用模式,在这些模式中并非所有数据库同时处于高峰使用状态,所以预期会存在某种程度的过量使用情况。
每个数据库的最小 vCore 数 为池中任一数据库保留的最小 vCore 数。 若要保证每个数据库都有可用的资源,而不管池中其他数据库消耗了多少资源,请考虑为每个数据库设置最小 vCore 数。 每个数据库的最小 vCore 可能设为 0,这也是默认值。 该属性值可以设置为介于 0 和每个数据库的平均 vCore 使用量之间的任意值。
每个数据库的最大存储 用户为池中的数据库设置的最大数据库大小。 共用数据库共享分配的池存储,因此数据库可以访问的大小限制为剩余的池存储与最大数据库大小中的较小者。 数据库大小上限是指数据文件的大小上限,不包括日志文件使用的空间。

重要

由于弹性池中的资源有限,因此将每个数据库的最小 vCore 数设置为大于 0 的值会隐式限制每个数据库的资源使用量。 如果池中大多数数据库在某个时间点处于空闲状态,则为满足最小 vCore 数量保证而保留的资源将不可用于该时间点处于活动状态的数据库。

此外,将每个数据库最小 vCore 数设置为大于 0 的值会隐式限制可添加到池中的数据库数。 例如,如果在 20 vCore 池中将最小 vCore 数设置为 2,则意味着无法将超过 10 个数据库添加到该池中,因为每个数据库保留 2 个 vCore。

尽管每个数据库属性以 vCore 表示,但它们也会对其他资源类型(例如数据 IO、日志 IO、缓冲池内存和工作线程)的消耗进行控制。 调整每个数据库的最大和最小 vCore 数量值时,将按比例调整所有资源类型的预留和限制。

每个数据库的最小和最大 vCore 值适用于用户工作负荷的资源消耗,但不适用于内部进程的资源消耗。 例如,对于将每个数据库的 vCore 数量上限设置为池 vCore 数量一半的数据库,用户工作负载消耗的内存不能超过缓冲池内存的一半。 但是,此数据库仍可利用缓冲池中已由内部进程加载的页面。 有关详细信息,请参阅用户工作负荷和内部进程的资源消耗量

注意

弹性池中单个数据库的资源限制通常与池外部具有相同计算大小(服务目标)的单一数据库相同。 例如,GP_S_Gen5_10 数据库的最大并发工作进程数为 750 个。 因此,GP_Gen5_10 池中数据库的最大并发工作进程数也是 750 个。 请注意,GP_Gen5_10 池中的并发工作进程总数为 1050 个。 如需了解任何单个数据库的最大并发辅助角色数(请求数),请参阅单一数据库资源限制

以前可用的硬件

本部分包含有关以前可用的硬件的详细信息。

  • Gen4 硬件已停用,不可用于预配、纵向扩展或缩减。 将数据库迁移到受支持的硬件代系,实现更广泛的 vCore 和存储可伸缩性、加速网络、最佳 IO 性能和最小延迟。 有关详细信息,请参阅 Azure SQL 数据库上对第 4 代硬件的支持已结束

可以使用 Azure Resource Graph 资源管理器识别当前使用 Gen4 硬件的所有 Azure SQL 数据库资源,也可以检查 Azure 门户中特定逻辑服务器的资源使用的硬件。

必须至少具有对 Azure 对象或对象组的 read 权限,才能在 Azure Resource Graph 资源管理器中查看结果。

若要使用 Resource Graph 资源管理器来识别仍在使用 Gen4 硬件的 Azure SQL 资源,请执行以下步骤:

  1. 转到 Azure 门户

  2. 在搜索框中搜索 Resource graph,然后从搜索结果中选择“Resource Graph 资源管理器”服务。

  3. 在查询窗口中,键入以下查询,然后选择“运行查询”:

    resources
    | where type contains ('microsoft.sql/servers')
    | where sku['family'] == "Gen4"
    
  4. “结果”窗格显示 Azure 中当前部署的所有使用 Gen4 硬件的资源。

    Screenshot of Azure Resources Graph Explorer in the Azure portal showing query results to identify gen4 hardware.

若要检查 Azure 中特定逻辑服务器的资源使用的硬件,请执行以下步骤:

  1. 转到 Azure 门户
  2. 在搜索框中搜索 SQL servers,然后从搜索结果中选择“SQL Server”,打开“SQL Server”页,并查看所选订阅的所有服务器。
  3. 选择所需的服务器,打开服务器的“概述”页。
  4. 向下滚动到可用资源,检查使用 Gen4 硬件的资源的“定价层”列。

Screenshot of the Overview page for a logical server in Azure, the overview page selected, and gen4 highlighted.

若要将资源迁移到标准系列硬件,请查看更改硬件