We are happy to announce preview release of the ability to reverse migrate an Azure SQL Database from Hyperscale tier to General Purpose tier. Previously, migration into the Hyperscale tier was a one-way migration with no easy way to move back to any non-Hyperscale tier. Reverse Migration to the General Purpose service tier now allows customers who have recently migrated an existing Azure SQL DB database to the Hyperscale service tier to move back, should Hyperscale not meet their needs. This provides additional mobility for their SQL Database data. Once in the General Purpose tier, they have the flexibility to remain on that tier or move their database to other SQL Database tiers including coming back to Hyperscale tier.
The main purpose of this reverse migration feature is to provide customers with an assurance that they can migrate their databases out of the Hyperscale tier if needed, thus removing a point of friction that customers might have had in migrating to the Hyperscale tier. While reverse migration is initiated by a service tier change, it's essentially a size-of-data move between different architectures. Reverse migration can be initiated through Azure Portal, T-SQL, Azure CLI or PowerShell.
Portal
The following diagram illustrates how to use Azure portal to reverse migrate a Hyperscale database to General Purpose tier.
T-SQL
The following T-SQL command can be used to reverse migrate a Hyperscale database to General Purpose tier.
Below is an example T-SQL command for reverse migrating a Hyperscale database to General Purpose tier
ALTER DATABASE mydb
MODIFY (SERVICE_OBJECTIVE = 'GP_Gen5_4', MAXSIZE = 1024 GB)
CLI
The following CLI command can be used to reverse migrate a Hyperscale database to General Purpose tier.
Below is an example CLI command for reverse migrating a Hyperscale database to General Purpose tier
az sql db update -g mygroup -s myserver -n mydb -e GeneralPurpose -service-objective GP_Gen5_4
PowerShell
The following PowerShell command can be used to reverse migrate a Hyperscale database to General Purpose tier
Below is an example PowerShell command for reverse migrating a Hyperscale database to General Purpose tier
Set-AzSqlDatabase -ResourceGroupName ”mygroup” -ServerName ”myserver” -DatabaseName ”mydb” -Edition "GeneralPurpose" -RequestedServiceObjectiveName "GP_Gen5_4"
For more information on this reverse migration feature please see Azure SQL documentation.