Azure 虚拟机中 SQL Server 的自动修补 (Resource Manager)

自动修补为运行 SQL Server 的 Azure 虚拟机建立一个维护时段。 只能在此维护时段内安装自动更新。 对于 SQL Server,此限制可以确保在数据库的最佳可能时间进行系统更新和任何关联的重新启动。

Important

仅安装标记为“重要”的 Windows 更新。 必须手动安装其他 SQL Server 更新,如累积更新。

自动修补依赖于 SQL Server IaaS 代理扩展

先决条件

若要使用自动修补,请考虑以下先决条件:

操作系统

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016

SQL Server 版本

  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016

Azure PowerShell

Note

自动修补依赖 SQL Server IaaS 代理扩展。 当前的 SQL 虚拟机库映像默认添加此扩展。 有关详细信息,请参阅 SQL Server IaaS 代理扩展

设置

下表描述了可为自动修补配置的选项。 实际配置步骤根据使用的是 Azure 门户还是 Azure Windows PowerShell 命令而有所不同。

设置 可能的值 说明
自动修补 启用/禁用(已禁用) 为 Azure 虚拟机启用或禁用自动修补。
维护计划 每天、星期一、星期二、星期三、星期四、星期五、星期六、星期日 为虚拟机下载和安装 Windows、SQL Server 和 Microsoft 更新的计划。
维护开始时间 0-24 更新虚拟机的本地开始时间。
维护时段持续时间 30-180 允许完成更新下载和安装的分钟数。
修补程序类别 重要 要下载并安装的 Windows 更新类别。

门户中的配置

可以在预配期间或针对现有的 VM,使用 Azure 门户配置自动修补。

新的 VM

在 Resource Manager 部署模型中创建新的 SQL Server 虚拟机时,可以使用 Azure 门户配置自动修补。

在“SQL Server 设置”边栏选项卡中,选择“自动修补”。 下面的 Azure 门户屏幕截图显示了“SQL 自动修补”边栏选项卡。

Azure 门户中的 SQL 自动修补

若要了解上下文,请参阅有关在 Azure 中预配 SQL Server 虚拟机的完整主题。

现有 VM

对于现有的 SQL Server 虚拟机,请选择 SQL Server 虚拟机。 然后选择“设置”边栏选项卡的“SQL Server 配置”部分。

现有 VM 的 SQL 自动修补

在“SQL Server 配置”边栏选项卡的“自动修补”部分中,单击“编辑”按钮。

配置现有 VM 的 SQL 自动修补

完成后,单击“SQL Server 配置”边栏选项卡底部的“确定”按钮保存更改。

当你首次启用自动修补时,Azure 会在后台配置 SQL Server IaaS 代理。 在此期间,Azure 门户可能不会显示已配置自动修补。 请等待几分钟,以便安装和配置代理。 随后,Azure 门户将反映新设置。

Note

也可以使用模板来配置自动修补。 有关详细信息,请参阅 Azure quickstart template for Automated Patching(用于自动备份的 Azure 快速入门模板)。

使用 PowerShell 进行配置

预配 SQL VM 后,使用 PowerShell 配置自动修补。

以下示例使用 PowerShell 在现有的 SQL Server VM 上配置自动修补。 AzureRM.Compute\New-AzureRmVMSqlServerAutoPatchingConfig 命令将为自动更新配置新的维护时段。

$vmname = "vmname"
$resourcegroupname = "resourcegroupname"
$aps = AzureRM.Compute\New-AzureRmVMSqlServerAutoPatchingConfig -Enable -DayOfWeek "Thursday" -MaintenanceWindowStartingHour 11 -MaintenanceWindowDuration 120  -PatchCategory "Important"

Set-AzureRmVMSqlServerExtension -AutoPatchingSettings $aps -VMName $vmname -ResourceGroupName $resourcegroupname

Important

如果尚未安装该扩展,安装该扩展将会重新启动 SQL Server 服务。

下表根据此示例描述了对目标 Azure VM 产生的实际效果:

参数 效果
DayOfWeek 每个星期四安装修补程序。
MaintenanceWindowStartingHour 在上午 11:00 开始更新。
MaintenanceWindowsDuration 必须在 120 分钟内完成修补程序安装。 根据开始时间,修补必须在下午 1:00 之前完成。
PatchCategory 此参数的唯一可能设置为 Important。 这会安装标记为“重要”的 Windows 更新;不安装未包含在此类别中的任何 SQL Server 更新。

可能需要花费几分钟来安装和配置 SQL Server IaaS 代理。

若要禁用自动修补,请对 AzureRM.Compute\New-AzureRmVMSqlServerAutoPatchingConfig 运行不带 -Enable 参数的同一个脚本。 缺少 -Enable 参数会向该命令发出指示以禁用此功能。

后续步骤

有关其他可用自动化任务的信息,请参阅 SQL Server IaaS 代理扩展

有关在 Azure VM 中运行 SQL Server 的详细信息,请参阅 Azure 虚拟机中的 SQL Server 概述