Hi ElenaMarlowe-3376, Thank you so much for your question. Below is the research you can consider for your queries.
Q1. When you set up an Azure SQL Failover Group, automatic failover applies to the entire group, not to individual databases. That means if just one database in the group goes down, it won’t trigger a failover. The system is designed to fail over only when the whole SQL server is unavailable. This approach helps ensure all databases in the group stay consistent and available together. If you need more granular control for instance, automatic failover of a single database you’d want to look at configuring auto-failover groups on a per-database basis. This allows each database to switch over independently, maintaining high availability without waiting on the whole server.
You can refer documentation. Also, Documentation
Q2. Custom-Managed Failover and Enabling Automatic Behaviour:
If you're handling failover yourself (a custom-managed approach), Azure doesn’t offer built-in automatic failover capabilities for individual databases. But you can still build an automated solution using Azure’s monitoring and automation tools. Start by setting up Azure Monitor to keep an eye on your databases. Then, configure alerts to notify you of issues like if a database goes offline. From there, tools like Azure Logic Apps or Azure Automation can be used to trigger the failover process automatically. It takes a bit more setup but gives you full control over how and when failover happens.
- Monitoring - Azure Monitor / Log Analytics
- Alerts - on metrics or logs like connection errors, CPU, DTU
- Automation - Logic Apps, Functions, or Automation Runbooks
- Failover Trigger - CLI/API
You can refer Documentation
Q3. Costs for Geo-Secondary Databases in Elastic Pools:
If your databases are in an elastic pool and you enable geo-replication, pricing is tied to the service tier of the secondary elastic pool—not the individual databases. So, you won’t be charged separately for each geo-secondary database as long as they’re part of the pool. Secondary active geo-replication databases are priced at 100 percent of primary database prices. Secondary active geo-replication databases are priced at 100 percent of primary database prices. Also note that The cost of geo-replication traffic between the primary and the online secondary is included in the cost of the online secondary. So In essence, for Replicated Databases, you can calculate these costs as the same as the primary database in Azure pricing calculator
Q4. Extra Charges for Using Failover Groups:
There’s no additional fee just for setting up a Failover Group itself. You’re mainly paying for the underlying resources your databases and the elastic pools they live in. That said, using features like active geo-replication or auto-failover across regions does come with added costs, depending on the number of databases you replicate and where they’re located. It’s worth reviewing Azure's pricing documentation if you're planning for large-scale DR setups.
Q5. Using Private Endpoints with SQL and Preparing for Failover:
If you’re using Private Endpoints with your SQL servers and you’ve already set up a secondary SQL server in a different region, and both are connected to the same private DNS zone, you’re mostly covered. Here are a few things to double-check:
- DNS Configuration: Make sure your private DNS zone is correctly set up so that your app always connects to the correct private IP regardless of region.
- Connection Strings: When using failover groups, the failover process will automatically update the listener endpoint in your connection string to point to the new primary.
- Manual Steps: If you're not using failover groups or if you're accessing the server by its actual name (not via the listener), you may need to manually adjust DNS or connection strings post-failover.
Running a few tests can help confirm that your setup works as expected when switching regions.
You can refer Documentation
Q6. Failover Testing Best Practices: Testing is critical. Don’t wait for a real disaster to find out something’s not configured properly. Here are some practical tips:
- Test Regularly: Schedule routine failover tests—both planned and unplanned—to catch issues early.
- Monitor Everything: Use Azure Monitor and Log Analytics to keep tabs on performance and availability.
- Automate Where Possible: The less you have to do manually during a failover, the better. Automate what you can.
- Keep Documentation Updated: Make sure your team knows exactly what to do in a failover scenario. Keep your runbooks current.
You can refer Documentation
I hope this clarifies your all doubts!
Please do not forget to click "Accept the Answer” and Yes
wherever the information provided helps you, this can be beneficial to other community members. If you have any other questions or still running into more issues, let me know in the comments and I would be happy to help you.