We are pleased to share a set of major enhancements to the maintenance experience for Azure Database for MySQL, designed to give customers more control, visibility, and predictability over how maintenance is orchestrated across their environments. These improvements are now available through the Azure Portal and are the direct result of feedback from users managing MySQL at scale.
Virtual Canary: Now Generally Available
The Virtual Canary feature is now generally available. This capability allows customers to enroll specific servers - ideal for development environments - into an early maintenance ring. These servers receive updates ahead of the standard schedule, giving teams the ability to validate new MySQL engine versions and platform changes before they reach broader environments.
The enrollment process has been significantly simplified and can now be completed directly in the Azure Portal. By leveraging Virtual Canary, teams can proactively detect potential compatibility or behavioral issues early in the update cycle.
Maintenance Batches: Improved control for staged maintenance
We have also introduced Maintenance Batches, a highly requested feature that complements the existing Custom Maintenance Window (CMW) functionality.
Previously, even when CMWs were configured to follow a weekday-based execution order (e.g., staging on Monday, pre-prod on Tuesday), the underlying random assignment logic could result in servers being scheduled in different CMW weeks, unintentionally reversing the desired maintenance sequence.
With Maintenance Batches, customers can now explicitly assign servers to different execution batches within the same CMW cycle. This ensures that maintenance proceeds in a predictable, user-defined order - eliminating the inconsistencies caused by randomized scheduling and reducing operational overhead for teams managing staged rollouts.
Maintenance Rollout Status Check: Public Preview
To improve observability, we are introducing the Maintenance Rollout Status Check, now available in public preview. This feature provides customers - especially those managing large fleets - with a centralized view of maintenance activity.
From the new Maintenance blade in the Azure Portal, customers can now click on the tracking ID associated with an active maintenance event and view the real-time status of all servers sharing the same tracking ID within a subscription and region. This makes it easier to monitor rollout progress and identify anomalies without needing to check individual servers.
In addition to the portal experience, customers can also use Azure Resource Graph (ARG) to query the maintenance status programmatically across their environment. This is particularly useful for automation scenarios or for customers managing large fleets across multiple subscriptions and regions.
To retrieve the current maintenance execution status of MySQL servers, run the following query in the Azure Resource Graph Explorer:
ServiceHealthResources | where type == "microsoft.resourcehealth/events/impactedresources" | extend TrackingId = split(split(id, "/events/", 1)[0], "/impactedResources", 0)[0] | extend p = parse_json(properties) | project subscriptionId, TrackingId, resourceName= p.resourceName, resourceGroup=p.resourceGroup, resourceType=p.targetResourceType, details = p, id | where resourceType == "Microsoft.DBforMySQL/servers"
Note: As this feature is currently in public preview, there may be occasional scenarios where rollout data is incomplete or delayed. We are actively working to improve accuracy and stability.
Learn more
For detailed guidance on how to configure and use these features, visit the official documentation: Set up Scheduled Maintenance in the Azure portal - Azure Database for MySQL - Flexible Server | Microsoft Learn
Conclusion
These enhancements mark a significant step forward in making maintenance operations on Azure Database for MySQL more transparent, reliable, and aligned with enterprise deployment strategies. Whether you're running development workloads or managing complex multi-environment rollouts, these new capabilities are designed to simplify maintenance management and improve operational efficiency.
We welcome your feedback as we continue to evolve the platform. If you have any queries or suggestions, please let us know by leaving a comment below or by contacting directly us at AskAzureDBforMySQL@service.microsoft.com.