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

适用于: Azure SQL 数据库

本文详细介绍了位于使用 DTU 购买模型的弹性池中的 Azure SQL 数据库的资源限制。

每个只读副本都有自己的资源,如 DTU、辅助角色和会话。 每个只读副本都受限于本文后面详细介绍的资源限制。

弹性池:存储大小和计算大小

对于 Azure SQL 数据库弹性池,下表显示了每个服务层级可用的资源和计算大小。 可以通过以下方式设置服务层、计算大小和存储量:

重要

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

弹性池中各个数据库的资源限制通常与池外部基于 DTU 和服务层级的各个数据库相同。 例如,S2 数据库的最大并发辅助进程数为 120 个。 因此,如果池中每个数据库的最大 DTU 是 50 个 DTU(这等效于 S2),则标准池中数据库的最大并发辅助进程数也是 120 个辅助进程。

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

备注

以下每个表中每个池资源的存储限制不包括 tempdb 和日志存储。

基本弹性池限制

每个池的 eDTU 数 50 100 200 300 400 800 1200 1600
每个池包含的存储 (GB) 5 10 20 29 39 78 117 156
每个池的最大存储空间 (GB) 5 10 20 29 39 78 117 156
每个池的最大内存中 OLTP 存储 (GB) 空值 空值 不适用 空值 空值 空值 不适用 不适用
每个池的最大数据库数 1 100 200 500 500 500 500 500 500
每个池的最大并发辅助角色数(请求数)2 100 200 400 600 800 1600 2400 3200
每个池的最大并发会话数 2 30000 30000 30000 30000 30000 30000 30000 30000
每个数据库的最小 DTU 选项 0, 5 0, 5 0, 5 0, 5 0, 5 0, 5 0, 5 0, 5
每个数据库的最大 DTU 选项 5 5 5 5 5 5 5 5
每个数据库的最大存储空间 (GB) 2 2 2 2 2 2 2 2

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

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

标准弹性池限制

每个池的 eDTU 数 50 100 200 300 400 800
每个池包含的存储 (GB) 1 50 100 200 300 400 800
每个池的最大存储空间 (GB) 500 750 1024 1280 1536 2048
每个池的最大内存中 OLTP 存储 (GB) 空值 不适用 不适用 不适用 不适用 不适用
每个池的最大数据库数2 100 200 500 500 500 500
每个池的最大并发辅助角色数(请求数)3 100 200 400 600 800 1600
每个池的最大并发会话数3 30000 30000 30000 30000 30000 30000
每个数据库的最小 DTU 选项 0, 10, 20, 50 0, 10, 20, 50, 100 0, 10, 20, 50, 100, 200 0, 10, 20, 50, 100, 200, 300 0, 10, 20, 50, 100, 200, 300, 400 0, 10, 20, 50, 100, 200, 300, 400, 800
每个数据库的最大 DTU 选项 10, 20, 50 10, 20, 50, 100 10, 20, 50, 100, 200 10, 20, 50, 100, 200, 300 10, 20, 50, 100, 200, 300, 400 10, 20, 50, 100, 200, 300, 400, 800
每个数据库的最大存储空间 (GB) 1024 1024 1024 1024 1024 1024

1 请参阅 SQL 数据库定价选项,详细了解由于任何预配的额外存储导致的额外成本。

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

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

标准弹性池限制(续)

每个池的 eDTU 数 1200 1600 2000 2500 3000
每个池包含的存储 (GB) 1 1200 1600 2000 2500 3000
每个池的最大存储空间 (GB) 2560 3072 3584 4096 4096
每个池的最大内存中 OLTP 存储 (GB) 不适用 不适用 不适用 不适用 不适用
每个池的最大数据库数2 500 500 500 500 500
每个池的最大并发辅助角色数(请求数)3 2400 3200 4000 5000 6000
每个池的最大并发会话数3 30000 30000 30000 30000 30000
每个数据库的最小 DTU 选项 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500, 3000
每个数据库的最大 DTU 选项 10, 20, 50, 100, 200, 300, 400, 800, 1200 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500, 3000
每个数据库的最大存储空间 (GB) 1024 1536 1792 2304 2816

1 请参阅 SQL 数据库定价选项,详细了解由于任何预配的额外存储导致的额外成本。

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

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

高级弹性池限制

每个池的 eDTU 数 125 250 500 1000 1500
每个池包含的存储 (GB) 1 250 500 750 1024 1536
每个池的最大存储空间 (GB) 1024 1024 1024 1024 1536
每个池的最大内存中 OLTP 存储 (GB) 1 2 4 10 12
每个池的最大数据库数2 50 100 100 100 100
每个池的最大并发辅助角色数(请求数)3 200 400 800 1600 2400
每个池的最大并发会话数3 30000 30000 30000 30000 30000
每个数据库的最小 eDTU 数 0, 25, 50, 75, 125 0, 25, 50, 75, 125, 250 0, 25, 50, 75, 125, 250, 500 0, 25, 50, 75, 125, 250, 500, 1000 0, 25, 50, 75, 125, 250, 500, 1000
每个数据库的最大 eDTU 数 25, 50, 75, 125 25, 50, 75, 125, 250 25, 50, 75, 125, 250, 500 25, 50, 75, 125, 250, 500, 1000 25, 50, 75, 125, 250, 500, 1000
每个数据库的最大存储空间 (GB) 1024 1024 1024 1024 1536

1 请参阅 SQL 数据库定价选项,详细了解由于任何预配的额外存储导致的额外成本。

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

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

高级弹性池限制(续)

每个池的 eDTU 数 2000 2500 3000 3500 4000
每个池包含的存储 (GB) 1 2048 2560 3072 3548 4096
每个池的最大存储空间 (GB) 2048 2560 3072 3548 4096
每个池的最大内存中 OLTP 存储 (GB) 16 20 24 28 32
每个池的最大数据库数2 100 100 100 100 100
每个池的最大并发辅助角色数(请求数)3 3200 4000 4800 5600 6400
每个池的最大并发会话数3 30000 30000 30000 30000 30000
每个数据库的最小 DTU 选项 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750 0, 25, 50, 75, 125, 250, 500, 1000, 1750, 4000
每个数据库的最大 DTU 选项 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750 25, 50, 75, 125, 250, 500, 1000, 1750, 4000
每个数据库的最大存储空间 (GB) 2048 2560 3072 3584 4096

1 请参阅 SQL 数据库定价选项,详细了解由于任何预配的额外存储导致的额外成本。

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

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

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

备注

有关 tempdb 限制,请参阅 tempdb 限制

有关高级服务层级中的存储限制的其他信息,请参阅存储空间管理

共用数据库的数据库属性

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

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

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

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

重要

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

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

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

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

后续步骤