Earlier this month, we celebrated the launch of Microsoft SQL Server 2014, announced that the Analytics Platform System is generally available, and shared a preview of the Intelligent Systems Service. Quentin Clark summarized his keynote speech at the Accelerate Your Insights event in a blog post entitled, “The data platform for a new era.” If you haven’t read that post, I encourage you to take a few minutes to read it.
In a previous post, I described the modern data platform as having a “continuum of capabilities [that] enables developers to continue to use SQL Server on-premises, to easily virtualize and move database workloads into Azure, and to attach Azure services and build new cloud applications all from one data platform.” So, along with the news mentioned above, we are also continuing to evolve the Microsoft Azure SQL Database service. Just a few days ago, Eron Kelly shared the news that we are introducing new service tiers to Azure SQL Database. And, in a recent Channel 9 video, Scott Klein was joined by Tony Petrossian and Tobias Ternstrom (both work as program managers for SQL Database) to discuss the new service tiers.
With all this going on, we created a document with anticipated questions & answers to help people on the team address common questions about the new Azure SQL Database service tiers. The document was written as an internal brief, but frankly, I think everything here is just as useful for you.
Director of Program Management, Data Platform Group
What are the new service tiers?
In the Microsoft Azure business, we refer to customer options within a particular service as ‘service tiers.’ In the on-premises software business, we traditionally called these editions. Based on this, Microsoft Azure SQL Database will have 3 service tiers in preview: Basic, Standard and Premium. The new service tiers are:
- Basic: Designed for applications with a light transactional workload and continuity needs. Performance objectives for Basic provide a predictable hourly transaction rate. The max size database in Basic is 2 GB.
- Standard: Standard is the go-to option for getting started with cloud-designed business applications. It offers mid-level performance and business continuity features. Performance objectives for Standard deliver predictable per minute transaction rates. The max size database in Standard is 250 GB.
- Premium: Designed for mission-critical databases, Premium offers the highest performance levels and access to advanced business continuity features. Performance objectives for Premium deliver predictable per second transaction rates. The max size database in Premium is 500 GB.
What can customers expect from each service tier?
|Database Size Limit||2 GB||250 GB||500 GB|
|Restore||Latest restore point within 24 hours||Any point within 7 days||Any point within 35 days|
|Disaster Recovery (DR)||Restore to alternate Azure region**||Geo-Replication, passive replica**||Active Geo-Replication, up to 4 readable replicas|
|Performance Objectives||Transaction rate per hour||Transaction rate per minute||Transaction rate per second|
|S1: $0.65/day (~$20/month)
*SLAs will take effect at time of GA, Azure previews are subject to different service terms, as set forth in preview supplemental terms.
**Not all disaster recovery features are available today, visit the disaster recovery documentation page to learn more.
What are performance levels?
The new service tiers introduce the concept of performance levels. There are six performance levels across Basic, Standard and Premium. The performance levels are Basic, S1, S2, P1, P2, and P3. Each performance level will deliver a set of resources required to run light-weight to heavy-weight database workloads. We’ll provide more details on performance levels in a follow-on blog post.
How does a customer provision a Basic, Standard or, Premium Database?
Premium databases can be created on any server. Web and Business databases can also be upgraded to a Premium database on the database Scale tab. Premium databases are limited by a quota of 2 per server. If you need additional quota, contact customer support.
Initially, servers that have Web and Business databases will not support Basic and Standard databases. To create a Basic or Standard database, you first create a new server that supports Basic, Standard and Premium tiers; then, you create the database with the tier and performance level needed. Once the Basic or Standard database has been created, you can freely upgrade or downgrade on the database Scale tab.
Initially, customers cannot upgrade a Web or Business database to Basic or Standard. However, customers can export a Web or Business database, and then import the resulting BACPAC file into a newly created Basic or Standard database using the database import Powershell cmdlet. This limitation will be removed during the course of the previews, enabling customers to freely mix Web, Business, Basic, Standard and Premium databases on the same server, and enabling upgrade and downgrade between any editions.
How does a customer change the performance level of a Standard or Premium database?
You set the performance level using the database scale tab in Azure Management Portal or via APIs.
How long does it take to change the service tier or performance level of a database?
Changing the performance level of a database may require data movement in order to provide sufficient resources. This may happen when changing to or from Standard or Premium, or when changing the performance level of a Standard or Premium database. If this happens, it may take a few minutes and up to several hours, depending on the size of the database. The database will remain available to the customer, and operations will be transparent during the change. Of course, changing the service tier or performance level of a database immediately after creating it will be faster than upgrading a database after it is populated with data. For example, in some tests, an empty database took about 15 minutes to change, a 1 GB database took roughly 35 minutes, and a 10 GB database took between 3 to 4 hours. In general, downgrading the service tier or performance level within Standard or Premium will always be very quick. For more information on the latency when changing performance levels see this topic.
Which service tier is used when a customer copies or restores a database?
Copying and restoring a database creates a new database in the same service tier as the original database. If copying a database via the portal (new) or using the T-SQL CREATE DATABASE … AS A COPY OF statement, the new database will have the same performance level as the original. When restoring a database, it will have the service tier applied at the point in time from which the database was restored and the default performance level, which is S1 for Standard tier and P1 for Premium tier. Customers can choose to downgrade a database after copying or restoring, if its size permits, but you will be charged for at least one day at the initial rate. Note that this is a change in behavior for Premium databases. Previously as premium database quota was limited, T-SQL copy and restore created a Suspended Premium database without reserved resources, which was charged at the same rate as a Business database. Suspended Premium databases are no longer supported. Existing Suspended Premium databases will be converted to Business edition as part of the April 24 release.
How often can a customer change the edition or performance level of a database?
Changing the edition or performance level of a database should be done as a considered and deliberate action. Customers are allowed up to 4 changes in a 24 hour period that alter the service tier or performance level of a database. Be mindful that you are still billed based on the highest database day rate for that day regardless of downgrades. Changes between Web and Business are excluded from this limit.
How does the billing approach within the new service tiers improve a customer’s bill?
With Basic, Standard and Premium, you are billed based on a predictable daily rate which you choose. Additionally, performance levels (eg. Basic, S1, and P2) are broken out in the bill to make it easier to see the number of database days you incurred in a single month for each performance level.
What pricing (or cost) benefits are realized using the new service tiers?
Based on early conversations with customers, we have found these common scenarios where the new service tiers remove costly workarounds and streamline the overall experience:
Backups workaround via import/export
- Scenario: Customer uses DB Copy & export to create database copies as backups which incurs additional database cost.
- Solution: Restore removes the need for the customer to carry the extra DB cost which can cut their database count by up to 50%, leaving headroom to dial-up performance.
Disaster Recovery via Data Sync
- Scenario: Customer uses Azure DataSync (in preview) to create geo-replicated databases which incurs additional database cost and doesn’t assure transactional consistency after failover.
- Solution: Geo-Replication in Standard is built-in and will discount the passive, secondary database by 25% which can save money on the total bill and assures transactional consistency.
Larger databases for less money
- Scenario: Today, customers pay $45 and $225 for 10GB and 150GB databases, respectively.
- Solution: With Standard S1 costing $40 a month and Standard S2 costing $200 a month, customers gain access to 250GB databases at a flat rate of $40 and $200 with greater performance assurance and business continuity.
When does the billing rate change as a customer changes the service tier or performance level of a database?
All databases are charged on a daily basis based on the highest service tier and performance level that applied during the day. When changing service tier or performance levels, the new rate applies once the change has completed. For example, if you upgrade a database to Premium at 10:00 pm, and the upgrade completes at 1:00 am on the following day, you will only be charged the Premium rate on the day it completes. If you downgrade a database from Premium at 11:00 am, and it completes at 5:00 pm the same day, the database will be charged at the Premium rate throughout that day and will be charged at the downgraded rate beginning the following day.
What if a customer’s database is active for less than a day?
The minimum granularity of billing is one day. Customers are billed the flat rate for each day the database exists, regardless of usage or if the database is active for less than a day. For example, if you create a database and delete it five minutes later, the bill will reflect a charge for one database day for that database. If a database is deleted and then another one is created with the same name, the bill will reflect a charge for two separate databases on that day.
If the new service tiers are not priced based on the database size, why is Max Size still supported as a property?
While the new service tier prices are based on their performance level, the size of the database is still significant. Some customer scenarios are size-sensitive and require set size limits. For example, some CSVs may place size limits on their customers’ databases.
In addition, while each service tier has a maximum possible size (eg. Standard supports up to 250 GB), customers should be aware that for certain workloads, there will be a correlation between the size of the database and the throughput achieved at any given performance level. This will be noticed particularly with operations that act on the entire database, such as import, export, or copy. Customers should not assume that because a service tier allows a specific max size that their workloads will necessarily perform satisfactorily at that size. Customers should evaluate the effect of database size on the performance of a database and may need to upgrade to a higher performance level as the database grows before reaching size limits of a service tier.
What is the Service Level Agreement (SLA) for the Basic, Standard, and Premium databases?
Microsoft does not provide any SLA for SQL Database Basic, Standard, or Premium during preview. At the time of general availability (GA), Basic, Standard, and Premium will have a 99.95% SLA.
When will Basic, Standard and Premium become Generally Available (GA)?
Microsoft has not disclosed the General Availability date for Basic, Standard, and Premium service tiers. Customers in the previews will receive notice via email at least 30 days prior to GA pricing taking effect.
How will customers engage support for these new offers during the preview?
All customers participating in the preview will have access to an MSDN public forum. Furthermore, we are introducing a policy that Azure SQL Database public previews will receive GA-level CSS support. Customers with Microsoft Azure paid support and/or Premium Support hours can access Customer Support for questions and incidents relating to SQL Database Basic, Standard, or Premium databases.
Where can I learn more?