Blog Post

Azure SQL Blog
2 MIN READ

How to reverse migrate your Azure SQL Database from Hyperscale tier to General Purpose tier

SriniAcharya's avatar
SriniAcharya
Icon for Microsoft rankMicrosoft
Apr 13, 2022

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 

ALTERDATABASE 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 

 

Updated Apr 11, 2022
Version 1.0
  • simongold1's avatar
    simongold1
    Copper Contributor

    I tried Portal approach and received the following error:

    After that I tried T-SQL approach, as described above, received "Commands completed successfully' message in SSMS, but nothing happened and the database was not converted from Hyperscale to General Purpose tier. 

     

    Was this feature actually implemented?