你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
配置 Azure SQL 托管实例的维护时段
本文内容
适用于: Azure SQL 托管实例
可以在创建资源期间或者在创建资源后的任何时间,配置 Azure SQL 托管实例的维护时段 。
系统默认的维护时段为每日下午 5 点至上午 8 点(资源所在的 Azure 区域的本地时间),以避免在业务高峰期发生中断。
如果系统默认的维护时段不是最佳时间,可以选择其他某个可用维护时段。
有关可用性,请参阅 Azure SQL 托管实例中的维护时段功能可用性 。
重要
配置维护时段是一种长期运行的异步操作,类似于更改 Azure SQL 资源的服务层级。 该资源在操作过程中可用,只在操作结束时会发生短暂的重新配置,即使在长期运行的事务中断的情况下,通常最多也仅持续 8 秒。 若要将重新配置的影响降至最低,应在高峰时段之外执行操作。
在创建期间配置维护时段
若要在创建 SQL 托管实例时配置维护时段,请在“其他设置”页上设置所需的“维护时段” 。
在创建 SQL 托管实例时设置维护时段
有关创建新托管实例的分步操作信息,请参阅创建 Azure SQL 托管实例 。
以下示例演示如何使用 Azure PowerShell 配置维护时段。 可以安装 Azure PowerShell 或使用 Azure Cloud Shell。
启动 Azure Cloud Shell
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。
若要打开 Cloud Shell,请从代码块的右上角选择试一试 。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。
当 Cloud Shell 打开时,请验证是否为环境选择了“PowerShell”。 后续会话将在 PowerShell 环境中使用 Azure CLI。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
发现可用维护时段
设置维护时段时,每个区域会提供自己的维护时段选项,这些选项对应于区域的时区。
发现 SQL 托管实例维护时段
以下示例使用 Get-AzMaintenancePublicConfiguration cmdlet 返回 eastus2 区域的可用维护时段。 对于托管实例,请将 MaintenanceScope
设置为 SQLManagedInstance
。
$location = "eastus2"
Write-Host "Available maintenance schedules in ${location}:"
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
在创建 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 Cloud Shell。
启动 Azure Cloud Shell
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。
若要打开 Cloud Shell,请从代码块的右上角选择试一试 。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。
当 Cloud Shell 打开时,请验证是否为环境选择了Bash 。 后续会话将在 Bash 环境中使用 Azure CLI。 选择复制 以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
登录 Azure
Cloud Shell 会在登录时使用的初始帐户下自动进行身份验证。 使用以下脚本通过其他订阅登录,将 <Subscription ID>
替换为 Azure 订阅 ID。 如果没有 Azure 订阅 ,请在开始之前创建一个 Azure 免费帐户 。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
有关详细信息,请参阅设置有效的订阅 或以交互方式登录
发现可用维护时段
设置维护时段时,每个区域会提供自己的维护时段选项,这些选项对应于区域的时区。
发现 SQL 托管实例维护时段
以下示例使用 az maintenance public-configuration list 命令返回 eastus2 区域的可用维护时段。 对于托管实例,请将 maintenanceScope
设置为 SQLManagedInstance
。
az maintenance public-configuration list --query "[?location=='eastus2'&&contains(maintenanceScope,'SQLManagedInstance')]"
在创建 SQL 托管实例时设置维护时段
以下示例使用 az sql mi create 创建一个新托管实例并设置维护时段。 该维护时段是针对实例设置的,因此该实例中的所有数据库都采用相同的维护时段计划。 MaintenanceConfigName 必须是对实例所在区域有效的值。 若要获取对区域有效的值,请参阅发现可用维护时段 。
az sql mi create -g mygroup -n myinstance -l mylocation -i -u myusername -p mypassword --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 托管实例。
在“设置”菜单中选择“维护”,然后选择所需的维护时段 。
对现有托管实例设置维护时段
以下示例使用 Set-AzSqlInstance cmdlet 对现有托管实例设置维护时段。
请务必确保 $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 或使用 Azure Cloud Shell。
对现有托管实例设置维护时段
以下示例使用 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 点到早上 6 点,星期一到星期四
等效于周末时段的 MI_2:本地时间晚上 10 点到早上 6 点,星期五到星期日
相关内容