sql-server - Azure SQL 数据库定价

标签 sql-server azure

我无法找到 Azure SQL 数据库的每笔交易成本。 https://learn.microsoft.com/en-us/azure/sql-database/sql-database-single-databases-manage

我知道 SQL Server 数据库每月大约 5 美元,但是交易费用是多少?

如果我访问 Azure 定价计算器 (https://azure.microsoft.com/en-us/pricing/calculator/),他们似乎没有该信息。他们将单个数据库的价格列为 187.77 美元,因此,如果您使用上面的链接,这与您创建的服务不同。

最佳答案

TL;博士:

Azure SQL 定价是“固定”的:首先您为数据库选择一个具有固定成本的性能级别(例如 S6 为 580 美元/月,S1 为 30 美元/月),这是按秒计费。 Azure 不会根据实际 IO/CPU 使用情况向您的帐户收取费用。

其余:

不存在单一的“每次事务成本”,因为“事务”对于数据库服务器而言并不是单一统一的工作量(例如,在带有索引的小表上进行的单个 SELECT 显着减少与数百万行的 MERGE 相比,IO 和 CPU 密集型)。

Azure 中存在三种不同类型的 Azure-SQL 部署,它们具有不同的公式来确定每月成本:

  • 单一数据库 (DTU)
  • 单一数据库(vCore)
  • 弹性池
  • 托管实例

我假设您对“单一数据库”部署类型感兴趣,因为“托管实例”是一个相当小众的应用程序,而“弹性池”可以在您有大量(认为:数百或数千)较小的应用程序时节省资金数据库。如果您有少量(例如 100 以下)较大的数据库(就磁盘空间而言),那么“单一数据库”可能适合您。我不会详细介绍其他部署类型。

如果您采用基于 DTU 的单一数据库部署(大多数用户都这样做),则定价遵循以下一般公式:

Monthly-price = ( Instances * Performance-level )

其中性能级别是为您所需的最低性能级别选择的SKU。您可以随时向上或向下更改此级别,因为您是按秒计费而不是按月计费(但按秒定价很难纳入每月价格估算)

“DTU”(数据库吞吐量单位)是一种计量单位,代表 Microsoft 运行数据库的实际成本,然后该成本会以某种透明的方式传递给您(无论 Microsoft 每个 DTU 的利润率如何,当然)。

在确定数据库的性能级别时,您应该选择提供应用程序实际需要的最少 DTU 数量的性能级别(您可以通过分析和估计来确定这一点,通常从高性能开始)数据库几个小时(不会花费超过几美元)并运行您的应用程序代码 - 如果实际 DTU 使用量较低(例如,您获得“S6”400 DTU(约 580 美元/月)数据库并查看如果您在正常负载下仅使用 20 个 DTU,那么您可以安全地将其保留在“S1”20DTU(约 30 美元/月)性能级别

关于 DTU 实际上是什么的问题之前已经被问过,因此为了避免创建重复的答案,请阅读此处的 QA:Azure SQL Database "DTU percentage" metric

关于sql-server - Azure SQL 数据库定价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53717394/

相关文章:

c# - 有没有一种简单的方法可以使 EntityFramework 使用 SQL 默认值?

azure - 我们如何显示 Azure AD 安全问题?

azure - 从 Append Blob 复制到 BlockBlob

azure - 是否可以使用 U-SQL 托管表作为 Azure 数据工厂中的输出数据集?

c# - 解密 Blob 并将其复制到其他 Blob 存储帐户?

c# - 如何在Azure中构建高度可扩展的全局计数器?

c# - app.config 文件中的多个 SQL Server 连接字符串

sql - 顺序或并行启动存储过程

sql - 我需要如何重写 SQL 更新语句子查询以仅选择单行?

sql-server - tadodataset 生成不需要的 SET NO_BROWSETABLE ON