We are excited to announce general availability of read-access geo-zone redundant storage (RA-GZRS) option for Azure SQL Hyperscale databases. In this blog post we will look into how RA-GZRS works and how to configure your Azure SQL Hyperscale database to use RA-GZRS storage redundancy option.
Database backups are an essential part of business continuity and disaster recovery strategy because they protect your data from corruption, accidental deletion, and other unforeseen outages. Hence it is important to build additional layers of protection for backups. Keeping copies of backups is one such strategy, you can use backup copies for recovery even if the original backups are lost due to disasters.
Azure SQL Database provides a parameter called Backup Storage redundancy which automatically copies your database backups either to a different location in your datacentre or to a different Azure region based on user chosen option. For Azure SQL Hyperscale databases backup storage redundancy option is applicable for database as well as backups, because Hyperscale databases use snapshot backup technology and backups, databases share the same storage account. More details about backup storage redundancy and current options are captured in of our earlier blog on backup storage redundancy and in documentation. Please note for Azure SQL Hyperscale databases you can configure backup storage redundancy only during database creation.
To improve backup resiliency for Hyperscale databases, we’ve introduced a new storage redundancy option called read-access geo-zone redundant storage (RA-GZRS). Here are the characteristics of the storage option:
Design characteristics: Copies your backups synchronously across three Azure availability zones in the primary region, similar to zone-redundant storage(ZRS). In addition, this option copies your data asynchronously to a single physical location in the paired secondary region. RA-GZRS option is currently available in only certain regions.
Best suited for: Scenarios where you require intra-regional and inter-regional high availability and disaster protection for your applications.
With this enhancement, customers will now have flexibility to choose backup storage redundancy from anyone of the following values: LRS, ZRS, RA-GRS and RA-GZRS for backup.
How can I configure backup storage redundancy?
For Hyperscale databases, backup storage redundancy can be configured only during database creation. Here are the steps and sample commands to configure RA-GZRS option:
Azure Portal
Azure CLI
Az sql db create CLI command can be used to create a new Hyperscale database with desired storage redundancy option using -backup-storage-redundancy{Local, Zone, Geo, GEOZONE} parameter. Here is a sample command to create a new Hyperscale database with Zone backup-storage-redundancy.
az sql db create --subscription "MySubscriptionName" --resource-group "MyResourceGroup" --server "MySQLDBServer" --name "MyHSDatabase" --sample-name AdventureWorksLT --edition Hyperscale --compute-model Provisioned --family Gen5 --capacity 4 --backup-storage-redundancy GEOZONE
PowerShell
New-AzSqlDatabase Powershell command can be used to create a new Hyperscale database with desired storage redundancy option using -BakcupStorageRedundancy{Local, Zone, Geo, GEOZONE} parameter. Here is a sample command to create a new Hyperscale database with Local backup-storage-redundancy.
$database = New-AzSqlDatabase -ResourceGroupName "MyResourceGroup" -ServerName "MySQLDBServer" -DatabaseName "sourabhHSDb5" -SampleName "AdventureWorksLT" -Edition Hyperscale -Vcore 4 -ComputeGeneration "Gen5" -ComputeModel Provisioned -BackupStorageRedundancy GEOZONE
How can I change backup storage redundancy for existing databases?
It is not possible to update backup storage redundancy for existing hyperscale databases. However, if it is critical to change storage redundancy of an existing Hyperscale database, users can use copy database process.
Azure Portal
Azure CLI
Create a copy of existing Hyperscale database using az sql db copy CLI command and when creating a copy of an existing database, the desired –backup-storage-redundancy{Local, Zone, Geo, GEOZONE} option can be selected as shown:
az sql db copy --resource-group "MyResourceGroup" --server "MySQLDBServer" --name "MyHSSourceDB" --dest-resource-group "MyDestResourceGroup" --dest-server "MySQLDBDestServer" --dest-name "MyHSDestDB" --service-objective HS_Gen5_2 --read-replicas 0 --backup-storage-redundancy GEOZONE
PowerShell
Create a copy of existing Hyperscale database using New-AzSqlDatabaseCopy Powershell command and when creating a copy of an existing database, the desired –BackupStorageRedundancy{Local, Zone, Geo, GEOZONE} option can be selected as shown:
$databasecp = New-AzSqlDatabaseCopy -ResourceGroupName "MyResourceGroup" -ServerName "MySQLDBServer" -DatabaseName "MyHSSourceDB" -CopyResourceGroupName "MyDestResourceGroup" -CopyServerName "MySQLDBDestServer" -CopyDatabaseName "MyHSDestDB" -Vcore 4 -ComputeGeneration "Gen5" -ComputeModel Provisioned -BackupStorageRedundancy GEOZONE
The copy database process is documented at Copy a database - Azure SQL Database | Microsoft Docs
Availability
Local(LRS) and Read-Access geo redundant storage (RA-GRS) and backup redundancy options for Hyperscale are available for all regions worldwide. Zone-redundant storage (ZRS) and Read-Access geo-zone redundant storage (RA-GZRS) options are available only in certain regions.
For more details, please visit documentation: Hyperscale Backup and Storage redundancy documentation.