使用 DTU 购买模型的弹性池的资源限制
适用于:Azure SQL 数据库
本文详细介绍了位于使用 DTU 购买模型的弹性池中的 Azure SQL 数据库的资源限制。
- 有关服务器上单一数据库的 DTU 购买模型限制,请参阅服务器上的资源限制概述。
- 有关 Azure SQL 数据库的 DTU 购买模型资源限制,请参阅 DTU 资源限制单一数据库和 DTU 资源限制弹性池。
- 有关 vCore 资源限制,请参阅 vCore 资源限制 - Azure SQL 数据库和 vCore 资源限制 - 弹性池。
- 有关不同购买模型的更多信息,请参阅购买模型和服务层级。
每个只读副本都有自己的资源,如 DTU、辅助角色和会话。 每个只读副本都受限于本文后面详细介绍的资源限制。
注意
vCore 购买模型中的 Gen5 硬件已重命名为“标准系列 (Gen5)”。
弹性池:存储大小和计算大小
对于 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 |
每个池的最大并发登录数 | 100 | 200 | 400 | 600 | 800 | 1600 | 2400 | 3200 |
每个池的最大并发外部连接数 3 | 10 | 20 | 40 | 60 | 80 | 150 | 150 | 150 |
每个池的最大并发会话数 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 或更少的其他情况,最大并发辅助角色数会相应重新缩放。
3 有关计数为外部连接的其他详细信息,请参阅外部连接。
标准弹性池限制
每个池的 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 |
每个池的最大并发登录数 | 100 | 200 | 400 | 600 | 800 | 1600 |
每个池的最大并发外部连接数 4 | 10 | 20 | 40 | 60 | 80 | 150 |
每个池的最大并发会话数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 或更少的其他情况,最大并发辅助角色数会相应重新缩放。
4 有关计数为外部连接的其他详细信息,请参阅外部连接。
标准弹性池限制(续)
每个池的 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 |
每个池的最大并发登录数 | 2400 | 3200 | 4000 | 5000 | 6000 |
每个池的最大并发外部连接数 4 | 150 | 150 | 150 | 150 | 150 |
每个池的最大并发会话数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 或更少的其他情况,最大并发辅助角色数会相应重新缩放。
4 有关计数为外部连接的其他详细信息,请参阅外部连接。
高级弹性池限制
每个池的 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 |
每个池的最大并发登录数 | 200 | 400 | 800 | 1600 | 2400 |
每个池的最大并发外部连接数 4 | 20 | 40 | 80 | 150 | 150 |
每个池的最大并发会话数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 或更少的其他情况,最大并发辅助角色数会相应重新缩放。
4 有关计数为外部连接的其他详细信息,请参阅外部连接。
高级弹性池限制(续)
每个池的 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 |
每个池的最大并发登录数 | 3200 | 4000 | 4800 | 5600 | 6400 |
每个池的最大并发外部连接数 4 | 150 | 150 | 150 | 150 | 150 |
每个池的最大并发会话数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 或更少的其他情况,最大并发辅助角色数会相应重新缩放。
4 有关计数为外部连接的其他详细信息,请参阅外部连接。
如果使用了弹性池的所有 DTU,那么池中的每个数据库会接收相同数量的资源来处理查询。 SQL 数据库服务通过确保相等的计算时间片段,在数据库之间提供资源共享的公平性。 弹性池资源共享公平性是在将每个数据库的 DTU 最小值设为非零值时,对另外为每个数据库保证的任意资源量的补充。
注意
有关高级服务层级中的存储限制的其他信息,请参阅存储空间管理。
共用数据库的数据库属性
对于每个弹性池,可以选择性地指定每个数据库的最小和最大 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 数一半的数据库,用户工作负荷消耗的内存不能超过缓冲池内存的一半。 但是,此数据库仍可利用缓冲池中已由内部进程加载的页面。 有关详细信息,请参阅用户工作负荷和内部进程的资源消耗量。
Tempdb 大小
下表列出了 Azure SQL 数据库中单一数据库的 tempdb
大小:
服务级别目标 | 最大 tempdb 数据文件大小 (GB) |
tempdb 数据文件数 |
最大 tempdb 数据大小 (GB) |
---|---|---|---|
基本弹性池(所有 DTU 配置) | 13.9 | 12 | 166.7 |
标准弹性池 (50 eDTU) | 13.9 | 12 | 166.7 |
标准弹性池 (100 eDTU) | 32 | 1 | 32 |
标准弹性池 (200 eDTU) | 32 | 2 | 64 |
标准弹性池 (300 eDTU) | 32 | 3 | 96 |
标准弹性池 (400 eDTU) | 32 | 3 | 96 |
标准弹性池 (800 eDTU) | 32 | 6 | 192 |
标准弹性池 (1200 eDTU) | 32 | 10 | 320 |
标准弹性池 (1600-3000 eDTU) | 32 | 12 | 384 |
高级弹性池(所有 DTU 配置) | 13.9 | 12 | 166.7 |
后续步骤
- 有关单一数据库的 vCore 资源限制,请参阅使用 vCore 购买模型的单一数据库的资源限制
- 有关单一数据库的 DTU 资源限制,请参阅使用 DTU 购买模型的单一数据库的资源限制
- 有关弹性池的 vCore 资源限制,请参阅使用 vCore 购买模型的弹性池的资源限制
- 有关 Azure SQL 托管实例中的托管实例的资源限制,请参阅 SQL 托管实例资源限制。
- 有关常规 Azure 限制的相关信息,请参阅 Azure 订阅和服务限制、配额和约束。
- 有关逻辑 SQL 服务器上的资源限制的信息,请参阅逻辑 SQL 服务器资源限制概述了解有关服务器级别和订阅级别限制的信息。