Configure advance notifications for planned maintenance events in Azure SQL Database
Applies to: Azure SQL Database
Advance notifications are available for databases configured to use a nondefault maintenance window. Advance notifications enable customers to configure notifications to be sent up to 24 hours in advance of any planned event.
Notifications can be configured so you can get texts, emails, Azure push notifications, and voicemails when planned maintenance is due to begin in the next 24 hours. Follow-up notifications are sent when maintenance begins and when maintenance ends.
Important
For Azure SQL Database, advance notifications cannot be configured for the System default maintenance window option. Choose a maintenance window other than the System default to configure and enable Advance notifications.
Maintenance windows are generally available. Advance notifications for maintenance windows are generally available for Azure SQL Database and Azure SQL Managed Instance.
Configure an advance notification
Complete the following steps to enable a notification in the Azure portal Service Health page.
Important
Service health is rolling out new experiences in phases. Some users will see the updated Azure Service Health portal experience, others will still see the classic Service Health portal experience. In case that you still see the classic Service Health portal, for Region don't select Global as an option, but rather the specific region or all regions.
Go to the Service Health Planned maintenance page, select Health alerts, then Add service health alert.
In the Scope section, select subscription.
In the Condition section, configure service(s) to be alerted for, region(s) and criteria. For more generic alert, select all values. To narrow down, select Azure SQL Database as a service, region(s) where you have those services deployed, and Planned maintenance for the event type.
In the Actions section, select the existing action group or create a new one.
In the Details section, define the name for your alert and specify resource group where it should be deployed.
Select Review + create. Your alert is created.
You're all set. Next time there's a planned Azure SQL maintenance event, you'll receive an advance notification.
To learn more about creating health alerts, visit Azure Service Health
Receive notifications
The following table shows the general information notifications you might receive:
Status | Description |
---|---|
Planned | Received 24 hours prior to the maintenance event. Maintenance is planned on DATE between 5pm - 8am1 (local time) in region region_name. |
InProgress | Maintenance for database(s) in region region_name is starting. |
Complete | Maintenance of database(s) in region region_name is complete. |
1 Start and end time depend on the selected maintenance window.
The following table shows additional notifications that might be sent while maintenance is ongoing:
Status | Description |
---|---|
Rescheduled | - Maintenance is in progress but didn't complete inside maintenance window. - There was a problem during maintenance and it could not start. - Planned maintenance has started but couldn't progress to the end and will continue in next maintenance window. |
Canceled | Maintenance for database(s) in region region_name is canceled and will be rescheduled for later. |
Permissions
While Advance Notifications can be sent to any email address, Azure subscription role-based access control (RBAC) policy determines who can access the links in the email. Querying resource graph is covered by Azure RBAC access management. To enable read access, each recipient should have resource group level read access. For more information, see Steps to assign an Azure role.
Retrieve the list of impacted resources
Azure Resource Graph is an Azure service designed to extend Azure Resource Management. The Azure Resource Graph Explorer provides efficient and performant resource exploration. You can query at scale across a given set of subscriptions, so that you can effectively govern your environment.
You can use the Azure Resource Graph Explorer to query for maintenance events. For an introduction on how to run these queries, see Quickstart: Run your first Resource Graph query using Azure Resource Graph Explorer.
When the advanced notification for planned maintenance is received, you will get a link that opens Azure Resource Graph and executes the query for the exact event, similar to the following. The notificationId
value is unique per maintenance event.
resources
| project resource = tolower(id)
| join kind=inner (
maintenanceresources
| where type == "microsoft.maintenance/updates"
| extend p = parse_json(properties)
| mvexpand d = p.value
| where d has 'notificationId' and d.notificationId == 'LNPN-R9Z'
| project resource = tolower(name), status = d.status, resourceGroup, location, startTimeUtc = d.startTimeUtc, endTimeUtc = d.endTimeUtc, impactType = d.impactType
) on resource
| project resource, status, resourceGroup, location, startTimeUtc, endTimeUtc, impactType
In Azure Resource Graph (ARG) explorer, you might find values for the status of deployment that are bit different than the ones displayed in the notification content.
Status | Description |
---|---|
Pending | - Maintenance is planned on upcoming date. - Previously planned maintenance was rescheduled and is waiting to start in the next window. - Maintenance started but didn't complete in previous window and will continue in the next one. |
InProgress | Maintenance for resource region_name is starting or is in progress. |
Completed | Maintenance for resource region_name is complete. |
NoUpdatesPending | Previously planned maintenance for resource region_name is canceled and will be rescheduled for later. |
RetryLater | Planned maintenance for resource region_name has started but couldn't progress to the end and will continue in next maintenance window. |
For the full reference of the sample queries and how to use them across tools like PowerShell or Azure CLI, visit Azure Resource Graph sample queries for Azure Service Health.