skip to Main Content

Can someone explain to me how the cost calculation for the DTU-based Azure SQL model works?

Don’t get me wrong. I am not looking for an explanation of the DTU model. I understand that a DTU is a blended measure of CPU, memory and IO resources, etc.
But what I can’t find with certainty is the information on how exactly this is calculated.

For example, if I use the model with 20 DTUs, it says the following:

enter image description here

Do you basically pay 27.56€ per month, no matter how much you end up using the database? But why does it say "estimated cost / month"?

For example, if I run intensive operations on the database for 3 hours every day, which pushes the 20 DTUs to their limit (I don’t care about throttling), but I don’t do anything else with the database, will I also be charged 27.56€ per month or does it somehow depend on the hours used?

Because that’s what it shows me in the pricing calculator:

enter image description here

Do I understand correctly that only every active hour is charged? So in the example above, would I pay approximately 30 (days) x 3 hours x 0.0403$/hour = 3.63$ per month?

2

Answers


  1. Answering your questions

    Do you basically pay 27.56€ per month, no matter how much you end up
    using the database?

    Yes, in DTU model you are going to pay 27.56 per month, no matter how much you end up using the database

    But why does it say "estimated cost / month"?

    Estimated cost is often used to indicate that the calculated cost is an approximation and may vary based on different factors.

    Do I understand correctly that only every active hour is charged? So in the example above, would I pay approximately 30 (days) x 3 hours x 0.0403$/hour = 3.63$ per month?

    In Azure SQL Database case it’s billed by hours of existence and not by usage.
    For example, if a database exists for 12 hours in a month, your bill will show usage of 0.5 days.
    You are billed for each hour a database exists using the highest service tier + performance level that applied during that hour, regardless of usage or whether the database was active for less than an hour. For example, if you create a single database and delete it 5 minutes later your bill will reflect a charge for 1 database hour.

    If you are looking to be charged by the hour of usage, then you should consider Azure SQL Database Servless.

    Serverless is a compute tier for single databases in Azure SQL Database that automatically pauses databases during inactive periods when only storage is billed and automatically resumes databases when activity returns.
    If auto-pausing is enabled, but a database does not auto-pause after the delay period, the application or user sessions may be preventing auto-pausing

    Login or Signup to reply.
  2. You asked "Do you basically pay 27.56€ per month, no matter how much you end up using the database?" You don’t pay that fixed amount, that is an estimate that does not include the storage costs of LTR Backups depending of the retention period for those backups and it does not include the egress traffic from the Azure SQL Database that is hidden on the Azure invoice as egress traffic for all the Azure products you are using, and you don’t have a way to know how much you are paying for egress traffic from Azure SQL only.

    With Azure SQL you pay hourly by reserved capacity, and it does not matter if you use that capacity or not. With Azure SQL Serverless you pay by the minute, and you can configure auto-pause when the database is not in use after a period of time, but you will still pay for storage resources consumed even when a database is auto-paused.

    To save money, try to schedule a scale down of the database during known periods of time of low usage, like weekends, after business hours, holidays, etc. You can consider using Azure SQL Serverless also.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search