Blog Post

Azure SQL Blog
4 MIN READ

Elastic pools for Azure SQL Database Hyperscale now in preview

Arvind_Shyamsundar's avatar
May 23, 2023

Update: On 12 September 2024 we announced the General Availability for Hyperscale elastic pools. For more details, please read the GA announcement.

 

We are very excited to announce the preview of elastic pools for Hyperscale service tier for Azure SQL Database!

 

For many years now, developers have selected the Hyperscale service tier in a “single database” resource model to power a wide variety of traditional and modern applications. Azure SQL Hyperscale is based on a cloud native architecture providing independently scalable compute and storage, and with limits which substantially exceed the resources available in the General Purpose and Business Critical tiers.

Value propositions for Hyperscale elastic pools

An Azure SQL DB elastic pool enables software as a service (SaaS) developers to optimize the price performance ratio for a group of databases, within a prescribed budget, while delivering performance elasticity for each database. Azure SQL Database Hyperscale elastic pools (“Hyperscale elastic pools”) combines the leading-edge architecture for Hyperscale with the cost effectiveness of elastic pools by introducing a shared resource model for Hyperscale databases. Here are the key capabilities with Hyperscale elastic pools:

 

  • Automatic scaling of storage – each database grows as your data grows, up to 100 TB of total storage per pool.
  • Compute resources allocated to the elastic pool can be scaled up or down in a predictable amount of time, independent of the amount of allocated storage.
  • Compute resources allocated to the elastic pool can be scaled out as needed by adding one or more read-scale / secondary pool replicas.
  • Up to 100 MB / sec log rate for each pooled database (up to 125 MB / sec in total per pool), independent of the compute provisioned.
  • Each Hyperscale elastic pool can hold up to 25 databases.

Here's a quick video summarizing the value proposition, and the typical scenarios for Hyperscale elastic pools:

 

 

Create a Hyperscale elastic pool using the Azure portal

Here is an example of how to create a new Hyperscale elastic pool using the “Create SQL Elastic pool” experience from an existing logical SQL server. We first enter the name of the elastic pool, which is myHyperscaleElasticPool:

Create a Hyperscale elastic pool using the Azure portal

In the Configure elastic pool section, we select Hyperscale as the service tier for the pool, and specify the number of vCores for the pool (4 vCores in the below case) and the number of high-availability replicas for the pool (0 secondary replica in the below case):

Configure a Hyperscale elastic pool using the Azure portal

Finally, review the choices, including the estimated cost, and finally click Create on the below:

Review the creation of a Hyperscale elastic pool using the Azure portal

And voila, we have a Hyperscale elastic pool created!

Manage a Hyperscale elastic pool using the Azure portal

You can then configure the pool to add DBs to it. In the example below, we are selecting two existing DBs (myGPDB1 and myGPDB2) from another General Purpose elastic pool, to be moved into the new Hyperscale elastic pool:

Adding databases to a Hyperscale elastic pool using the Azure portal

Similarly, you can use the Configure section to scale the pool up (or down). In the example below, we are scaling the pool up (to use 8 vCores) and simultaneously add 2 secondary pool replicas for high availability:

Scale a Hyperscale elastic pool using the Azure portal

Add databases to a Hyperscale elastic pool

Other operations, like moving, or copying existing Hyperscale databases into the pool, are simple to use as well. Here’s an example of copying a large existing Hyperscale DB (large-tenant-db-01) into the elastic pool. First, we select the source database, and then select the Copy option; enter the name of the database copy (large-tenant-db-01_Copy in this example), and the name of the elastic pool (myHyperscaleElasticPool):

Specify a Hyperscale elastic pool as the target for a database copy operation using the Azure portal

Here’s the final state of myHyperscaleElasticPool with many multi-terabyte DBs in it:

Review the databases in a Hyperscale elastic pool using the Azure portal

Monitor the Hyperscale elastic pool using the Azure portal

Monitoring the elastic pool is convenient from the portal’s Metrics section:

Monitoring a Hyperscale elastic pool in the Azure portal

 

As you can see, it is very convenient to work with Hyperscale elastic pools using the Azure portal!

 

Using command line tools with Hyperscale elastic pools

If you prefer, you can use the same commands to manage your Hyperscale elastic pools and pooled databases as in the other service tiers. Just be sure to specify Hyperscale for the edition when creating your Hyperscale elastic pool. The only addition is the ability to optionally specify the number of high availability (HA) replicas for an existing Hyperscale elastic pool:

 

 

You can use the following client tools to manage your Hyperscale databases in an elastic pool:

 

 

Familiar DMVs can be used to manage Hyperscale elastic pools:

 

 

Limitations

Please refer to the documentation for a list of known limitations.

 

Pricing

Pricing for Azure SQL Database Hyperscale elastic pools is available on the SQL Database pricing page.

 

Regional availability

The public preview for Hyperscale elastic pools is available in the Azure public cloud. The public preview is not available for Azure Government, Azure China, and any other Azure national / sovereign cloud.

 

Resources

  • Learn more about the architecture of Hyperscale elastic pools.
  • View examples of PowerShell and Azure CLI commands for managing Hyperscale elastic pools.
  • Review resource limits for Hyperscale elastic pools.
Updated Oct 04, 2024
Version 8.0
  • ChrFin's avatar
    ChrFin
    Copper Contributor

    I just wanted to move our DBs from an SQL pool with GP 2 vCores to Hyperscale 4 vCores, BUT hit the 25 DBs/pool limit as we have 31 DBs at the moment.

    Why? It would have WAY more power then our current pool...

  • ChrFin thank you for using Hyperscale elastic pools. There are technical constraints due to which the maximum number of DBs per Hyperscale elastic pool is limited to 25. We understand your feedback and desire to add more than 25 DBs. While we cannot commit to increasing this limit, it is in our backlog. If you would like to have a more contextual discussion about your specific scenario, please feel free to reach out to our team by emailing us at sqlhsfeedback AT microsoft DOT com.