Skip to content

Customer-controlled maintenance window configuration#

Reliability · Azure Database for MySQL · Rule · 2024_06 · Important

Configure a customer-controlled maintenance window for Azure Database for MySQL servers.

Description#

Azure Database for MySQL flexible servers undergo periodic maintenance to ensure your managed database remains secure, stable, and up-to-date. This maintenance includes applying security updates, system upgrades, and software patches.

Maintenance windows can be scheduled in two ways for each flexible server:

  • System-Managed Schedule: The system automatically selects a one-hour window between 11 PM and 7 AM in your server’s regional time.
  • Custom Schedule: You can specify a preferred maintenance window by choosing the day of the week and a one-hour time window.

By configuring a customer-controlled maintenance window, you can schedule updates to occur during a preferred time, ideally outside business hours, minimizing disruptions.

Only the flexible server deployment model supports customer-controlled maintenance windows.

Recommendation#

Consider using a customer-controlled maintenance window to efficiently schedule updates and minimize disruptions.

Examples#

Configure with Azure template#

To configure servers that pass this rule:

  • Set the properties.maintenanceWindow.customWindow property to Enabled.

For example:

Azure Template snippet
{
  "type": "Microsoft.DBforMySQL/flexibleServers",
  "apiVersion": "2023-10-01-preview",
  "name": "[parameters('serverName')]",
  "location": "[parameters('location')]",
  "sku": {
    "name": "Standard_D16as",
    "tier": "GeneralPurpose"
  },
  "properties": {
    "administratorLogin": "[parameters('administratorLogin')]",
    "administratorLoginPassword": "[parameters('administratorLoginPassword')]",
    "createMode": "Default",
    "version": "[parameters('mysqlVersion')]",
    "maintenanceWindow": {
      "customWindow": "Enabled",
      "dayOfWeek": "0",
      "startHour": "1",
      "startMinute": "0"
    }
  }
}

Configure with Bicep#

To configure servers that pass this rule:

  • Set the properties.maintenanceWindow.customWindow property to Enabled.

For example:

Azure Bicep snippet
resource mysqlDbServer 'Microsoft.DBforMySQL/flexibleServers@2023-10-01-preview' = {
  name: serverName
  location: location
  sku: {
    name: 'Standard_D16as'
    tier: 'GeneralPurpose'
  }
  properties: {
    administratorLogin: administratorLogin
    administratorLoginPassword: administratorLoginPassword
    createMode: 'Default'
    version: mysqlVersion
     maintenanceWindow: {
      customWindow: 'Enabled'
      dayOfWeek: 0
      startHour: 1
      startMinute: 0
    }
  }
}

Notes#

The custom schedule maintenance window feature is only available for the flexible server deployment model.

Comments