![Azure SQL 弹性池最大大小低于池中包含的数据库的最大大小](https://linux22.com/image/789674/Azure%20SQL%20%E5%BC%B9%E6%80%A7%E6%B1%A0%E6%9C%80%E5%A4%A7%E5%A4%A7%E5%B0%8F%E4%BD%8E%E4%BA%8E%E6%B1%A0%E4%B8%AD%E5%8C%85%E5%90%AB%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%9C%80%E5%A4%A7%E5%A4%A7%E5%B0%8F.png)
我正在尝试通过使用 Azure SQL 弹性池来节省一些钱。我有一堆数据库,它们的使用率只会偶尔达到峰值,因此将它们放在池中是最佳选择。现在的问题是,所有数据库加起来需要大约 1 TB 的存储空间,而我只能通过选择标准服务层并选择 300 个 DTU 来获得。在尝试了一些方法后,我注意到,即使弹性池的大小被限制为一个值(例如 500GB,50 个 DTU 标准),我也可以增加包含的数据库的大小到上限以上(例如 750GB,即使池大小只有 500GB)。
我现在的问题是:
如果我将数据库大小增加到超过池大小,会发生什么情况?一旦超过最大池大小,我是否需要为额外的 GB 付费?
还有一个附带问题,但是有没有其他选择可以在不增加 DTU 数量的情况下增加存储大小?我可能需要 100 个 DTU 和 1TB 的存储空间。我研究了 vCPU 定价选项,但它们的定价似乎更差。
答案1
允许将 Azure SQL 弹性池中的数据库大小增加到超出池大小限制,但必须了解其含义:
计费:是的,如果您将包含的数据库的大小增加到超出池大小限制,则需要为该特定数据库使用的额外存储空间付费。该数据库的存储费用将与池分开计算。
性能:虽然您可以增加数据库大小,但性能 (DTU) 仍然与池相关。因此,如果您的池有 50 个 DTU,则池中的所有数据库将共享这些 DTU。除非您单独调整数据库的 DTU 设置,否则增加单个数据库的大小不会提高其性能。
关于您的问题,如果您需要更多存储(1TB)而又不显著增加 DTU,您可能需要考虑 Azure SQL Database Hyperscale。Azure SQL Hyperscale 提供按需存储,因此您可以独立扩展存储而不会影响 DTU 成本。您可以从较低的 DTU 开始并分配所需的存储。请记住,Hyperscale 定价与标准 Azure SQL Database 定价不同,因此您应该查看定价详细信息以确保它符合您的预算和要求。