The Hyperscale service tier provides a highly scalable storage and compute performance tier that leverages the Azure architecture to scale out storage and compute resources for an Azure SQL Database substantially beyond the limits available for the General Purpose and Business Critical service tiers.
This article links to important guides to carry out essential administration tasks for Hyperscale databases, including converting an existing database to Hyperscale, restoring a Hyperscale database to a different region, reverse migrating from Hyperscale to another service tier, and monitoring the status of ongoing and recent operations against a Hyperscale database.
You can monitor the status of ongoing or recently completed operations for an Azure SQL Database using the Azure portal, the Azure CLI, PowerShell, or Transact-SQL.
Select the tab for your preferred method to monitor operations.
The Azure portal shows a notification for a database in Azure SQL Database when an operation such as a migration, reverse migration, or restore is in progress.
Navigate to the database in the Azure portal.
In the left navigation bar, select Overview.
Review the Notifications section at the bottom of the right pane. If operations are ongoing, a notification box appears.
Select the notification box to view details.
The Ongoing operations pane opens. Review the details of the ongoing operations.
This code sample calls az sql db op list to return recent or ongoing operations for a database in Azure SQL Database.
Replace resourceGroupName, serverName, databaseName, and serviceObjective with the appropriate values before running the following code sample:
resourceGroupName="myResourceGroup"
serverName="server01"
databaseName="mySampleDatabase"
az sql db op list -g $resourceGroupName -s $serverName --database $databaseName
The Get-AzSqlDatabaseActivity cmdlet returns recent or ongoing operations for a database in Azure SQL Database.
Set the $resourceGroupName, $serverName, and $databaseName parameters to the appropriate values for your database before running the sample code:
Query the sys.dm_operation_status Dynamic Management View to review information about recent operations performed on databases on your [logical server](logical-servers.md].
This code sample returns all entires in sys.dm_operation_status for the specified database, sorted by which operations began most recently. Replace the database name with the appropriate value before running the code sample.
SELECT *
FROM sys.dm_operation_status
WHERE major_resource_id = 'mySampleDatabase'
ORDER BY start_time DESC;
GO
View databases in the Hyperscale service tier
After migrating a database to Hyperscale or reconfiguring a database within the Hyperscale service tier, you might wish to view and/or document the configuration of your Hyperscale database.
Scroll to the list of resources at the bottom of the pane. The window displays the SQL elastic pools and databases on the logical server.
Review the Pricing tier column to identify databases in the Hyperscale service tier.
This Azure CLI code sample calls az sql db list to list Hyperscale databases on a logical server with their name, location, service level objective, maximum size, and number of high availability replicas.
Replace resourceGroupName and serverName with the appropriate values before running the following code sample:
resourceGroupName="myResourceGroup"
serverName="server01"
az sql db list -g $resourceGroupName -s $serverName --query "[].{Name:name, Location:location, SLO:currentServiceObjectiveName, Tier:currentSku.tier, maxSizeBytes:maxSizeBytes,HAreplicas:highAvailabilityReplicaCount}[?Tier=='Hyperscale']" --output table
The Azure PowerShell Get-AzSqlDatabase cmdlet returns a list of Hyperscale databases on a logical server with their name, location, service level objective, maximum size, and number of high availability replicas.
Set the $resourceGroupName and $serverName parameters to the appropriate values before running the sample code:
SELECT d.name, dso.edition, dso.service_objective
FROM sys.database_service_objectives AS dso
JOIN sys.databases as d on dso.database_id = d.database_id
WHERE dso.edition = 'Hyperscale';
GO
Convert database to Hyperscale
You can convert an existing database in Azure SQL Database to Hyperscale using the Azure portal, the Azure CLI, PowerShell, or Transact-SQL.
The conversion process is divided into two phases - the conversion of data, which occurs while the existing database is online, and then a cutover to the new Hyperscale database. You have the ability to choose when the cutover occurs - as soon as the database is ready, or manually at a time of your choosing.
Reverse migration to the General Purpose service tier allows customers who have recently converted an existing database in Azure SQL Database to Hyperscale to move back in an emergency, should Hyperscale not meet their needs. While reverse migration is initiated by a service tier change, it's essentially a size-of-data move between different architectures.