适用于:
Azure SQL 托管实例
可以在创建资源期间或者在创建资源后的任何时间,配置 Azure SQL 托管实例的维护时段。
- 系统默认的维护时段为每日下午 5 点至上午 8 点(资源所在的 Azure 区域的本地时间),以避免在业务高峰期发生中断。
- 如果 系统默认 维护时段不是最佳时间,请选择另一个可用的维护时段。
有关可用性,请参阅 Azure SQL 托管实例中的维护时段功能可用性。
重要
配置维护时段是长时间运行的异步作,类似于更改 Azure SQL 资源的服务层。 该资源在操作过程中可用,只在操作结束时会发生短暂的重新配置,即使在长期运行的事务中断的情况下,通常最多也仅持续 8 秒。 若要将重新配置的影响降至最低,应在高峰时段之外执行操作。
在创建期间配置维护时段
若要在创建 SQL 托管实例时配置维护时段,请在“其他设置”页上设置所需的“维护时段”。
在创建 SQL 托管实例时设置维护时段
有关创建新的 SQL 托管实例的分步信息,请参阅 “创建 Azure SQL 托管实例”。
以下示例演示如何使用 Azure PowerShell 配置维护时段。 可以安装 Azure PowerShell。
发现可用维护时段
设置维护时段时,每个区域会提供自己的维护时段选项,这些选项对应于区域的时区。
发现 SQL 托管实例维护时段
以下示例使用 Get-AzMaintenancePublicConfiguration cmdlet 返回 chinaeast2 区域的可用维护时段。 对于托管实例,请将 MaintenanceScope
设置为 SQLManagedInstance
。
$location = "chinaeast2"
Write-Host "Available maintenance schedules in ${location}:"
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
在创建 SQL 托管实例时设置维护时段
以下示例创建新的 SQL 托管实例,并使用 New-AzSqlInstance cmdlet 设置维护时段。 该维护时段是针对实例设置的,因此该实例中的所有数据库都采用相同的维护时段计划。 对于 -MaintenanceConfigurationId
,MaintenanceConfigName 必须是对实例所在区域有效的值。 若要获取对区域有效的值,请参阅发现可用维护时段。
New-AzSqlInstance -Name "your_mi_name" `
-ResourceGroupName "your_resource_group_name" `
-Location "your_mi_location" `
-SubnetId /subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/Microsoft.Network/virtualNetworks/{VNETName}/subnets/{SubnetName} `
-MaintenanceConfigurationId "/subscriptions/{SubID}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_{Region}_{MaintenanceConfigName}"
以下示例演示如何使用 Azure CLI 配置维护时段。 可以安装 Azure CLI。
登录 Azure
使用以下脚本通过其他订阅登录,将 <Subscription ID>
替换为 Azure 订阅 ID。 如果没有 Azure 试用版订阅,请在开始前创建一个。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
有关详细信息,请参阅设置有效的订阅或以交互方式登录
发现可用维护时段
设置维护时段时,每个区域会提供自己的维护时段选项,这些选项对应于区域的时区。
发现 SQL 托管实例维护时段
以下示例使用 az maintenance public-configuration list 命令返回 chinaeast2 区域的可用维护时段。 对于托管实例,请将 maintenanceScope
设置为 SQLManagedInstance
。
az maintenance public-configuration list --query "[?location=='chinaeast2'&&contains(maintenanceScope,'SQLManagedInstance')]"
在创建 SQL 托管实例时设置维护时段
以下示例创建新的 SQL 托管实例,并使用 az sql mi create 设置维护时段。 该维护时段是针对实例设置的,因此该实例中的所有数据库都采用相同的维护时段计划。 MaintenanceConfigName 必须是对实例所在区域有效的值。 若要获取对区域有效的值,请参阅发现可用维护时段。 将 <password>
替换为有效的密码。
az sql mi create -g mygroup -n myinstance -l mylocation -i -u myusername -p <password> --subnet /subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/Microsoft.Network/virtualNetworks/{VNETName}/subnets/{SubnetName} -m /subscriptions/{SubID}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_{Region}_{MaintenanceConfigName}
配置现 SQL 托管实例的维护时段
将维护时段选择应用于 SQL 托管实例时,在某些情况下,可能会经历短暂的重新配置(几秒钟),因为 Azure 会应用所需的更改。
以下步骤使用 Azure 门户对现有 SQL 托管实例设置维护时段:
设置现有 SQL 托管实例的维护时段
导航到要为其设置维护时段的 SQL 托管实例。
在“设置”菜单中选择“维护”,然后选择所需的维护时段 。
在现有 SQL 托管实例上设置维护时段
以下示例使用 Set-AzSqlInstance cmdlet 在现有 SQL 托管实例上设置维护时段。
请务必确保 $maintenanceConfig
值对于你的实例所在区域有效。 若要获取对区域有效的值,请参阅发现可用维护时段。
Set-AzSqlInstance -Name "your_mi_name" `
-ResourceGroupName "your_resource_group_name" `
-MaintenanceConfigurationId "/subscriptions/{SubID}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_{Region}_{MaintenanceConfigName}"
以下示例演示如何使用 Azure CLI 配置维护时段。 可以安装 Azure CLI。
在现有 SQL 托管实例上设置维护时段
以下示例使用 az sql mi update 设置维护时段。 该维护时段是针对实例设置的,因此该实例中的所有数据库都采用相同的维护时段计划。 对于 -MaintenanceConfigurationId
,MaintenanceConfigName 必须是对实例所在区域有效的值。 若要获取对区域有效的值,请参阅发现可用维护时段。
az sql mi update -g mygroup -n myinstance -m /subscriptions/{SubID}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_{Region}_{MaintenanceConfigName}
注意
若要在 Azure 门户中显示用户友好名称,Azure SQL 托管实例依赖于 维护配置 作为资源。 Azure SQL 托管实例的维护定义是公共维护配置的一部分。 新添加的 Azure 区域可能会出现这种情况,在该区域中可以使用 SQL 托管实例,同时仍在创建公共维护配置。 在这种情况下,Azure 门户不会在下拉列表中显示用户友好名称,用户会看到以下系统名称:
- MI_1星期一 - 星期四本地时间下午 10:00 到上午 6:00 的等效窗口
- MI_2周末时段的等效窗口:当地时间下午 10:00 至下午 6:00,星期五 - 星期日
相关内容