How do I enable database zone redundancy on my Azure SQL DB

Darren Gourley 0 Reputation points
2025-10-27T17:11:10.36+00:00

I am running into the current error. I am in zone East US and on a serverless DB. I don't see anywhere where I can't update to 'Yes'. Can you let me know what issue I am running into?

User's image

Azure SQL Database
{count} votes

1 answer

Sort by: Most helpful
  1. Jerald Felix 9,015 Reputation points
    2025-10-27T17:52:37.2533333+00:00

    Hello Darren Gourley,

    Enabling zone redundancy on your Azure SQL Database in East US with a serverless tier isn't possible because the serverless compute model doesn't support it—zone redundancy requires provisioned compute to distribute replicas across availability zones, while serverless uses a dynamic, on-demand model that lacks fixed zonal placement. The "Yes" toggle is greyed out or absent in the portal due to this incompatibility; you'll need to migrate to a provisioned General Purpose or Business Critical tier to enable it. Here's a quick path forward.

    Why It's Not Available

    Serverless Limitations: Serverless databases (vCore or DTU) prioritize auto-scaling and pause/resume for cost savings but can't guarantee zonal redundancy, as resources aren't pinned to specific zones. East US supports zone redundancy only on provisioned tiers in zones 1-3.

    Requirements Check: Your region (East US) is supported, but the compute model blocks it. No errors in setup—just a feature mismatch.

    Steps to Enable Zone Redundancy

    Migrate to Provisioned Tier: In the Azure portal, go to your SQL Database > Compute + storage (under Settings).

    Select Configure > Change tier to General Purpose (or Business Critical for higher resilience).

      Choose **Provisioned** compute (e.g., 2 vCores), enable **Zone redundancy** toggle (now available), and apply. Downtime is minimal (~5-10 minutes for small DBs).
      
         CLI alternative: `az sql db update --resource-group <rg> --server <server> --name <db> --zone-redundant Yes --license-type BasePrice --max-size 100GB --compute-model Provisioned --family Gen5 --sku-name GP_Gen5_2 --edition GeneralPurpose`.
         
         **Verify and Test**: Post-update, check **Overview** > **Zone redundancy: Enabled**. Run a failover test via **Tasks** > **Failover** to confirm HA.
         
         **Cost Note**: Provisioned starts ~$0.50/hour (Gen5, 2 vCores); monitor via Cost Management to avoid surprises compared to serverless.
         
    

    If you must stick with serverless, use geo-replication for redundancy instead (DB > Geo-replication > Add secondary in another region). For larger setups, consider Hyperscale if scale is key.

    Best Regards,

    Jerald Felix

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.