你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Azure 虚拟机上 SQL Server 的自动修补

适用于:Azure 上的 SQL Server

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

重要

  • 使用自动修补仅安装标记为“重要”或“关键”的 Windows 和 SQL Server 更新。 其他 SQL Server 更新(如未标记为“重要”或“关键”的服务包和累积更新)则必须手动安装 。
  • 若要自动安装累积更新,请查看集成的 Azure 更新管理器体验。

先决条件

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

从 SQL Server 2012 开始,Windows Server 2012 上支持自动修补。

此外,请注意以下几点:

  • 还有另外几种方法可用于启用 Azure VM 自动修补,例如更新管理VM 来宾自动修补。 只能选择其中一个选项来自动更新 VM,因为工具重叠可能会导致更新失败。
  • 如果要在不使用自动修补功能的情况下接收 ESU 更新,可以使用内置的 Windows 更新通道。
  • 对于参与 Always On 可用性组的不同可用性区域中的 SQL Server VM,请配置自动修补计划,以使不同可用性区域中的可用性副本不会同时进行修补。

设置

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

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

在 Azure 门户中配置

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

新的 VM

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

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

Azure 门户中的 SQL 自动修补屏幕截图。

有关详细信息,请参阅在 Azure 上预配 SQL Server 虚拟机

现有 VM

对于现有的 SQL Server 虚拟机,请打开 SQL 虚拟机资源并在“设置”下选择“更新”

如果从未为门户中的任何 SQL Server VM 启用 Azure 更新管理器 体验,请选择“启用”,为现有 SQL Server VM 启用自动修补。

现有 VM 的 SQL 自动修补屏幕截图。

如果以前使用过 Azure 更新管理器,则需要转到 SQL 虚拟机资源中“设置”下的“更新”页,然后选择“退出新体验”以返回到“自动修补”体验:

Azure 门户中 SQL 虚拟机资源“更新”页面的屏幕截图,其中突出显示了“退出新体验”。

启用自动修补并配置修补设置后,选择“更新”页底部的“确定”按钮以保存更改。

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

使用 PowerShell 配置

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

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

Update-AzSqlVM -ResourceGroupName 'resourcegroupname' -Name 'vmname' `
-AutoPatchingSettingDayOfWeek Thursday `
-AutoPatchingSettingMaintenanceWindowDuration 120 `
-AutoPatchingSettingMaintenanceWindowStartingHour 11 `
-AutoPatchingSettingEnable

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

参数 效果
AutoPatchingSettingDayOfWeek 每个星期四安装修补程序。
AutoPatchingSettingMaintenanceWindowDuration 必须在 120 分钟内完成修补程序安装。 根据开始时间,修补必须在下午 1:00 之前完成。
AutoPatchingSettingMaintenanceWindowStartingHour 在上午 11:00 开始更新。
AutoPatchingSettingEnable 启用自动修补

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

若要禁用自动修补,请运行以下脚本,并将 -AutoPatchingSettingEnable 上的值设置为 $false

Update-AzSqlVM -ResourceGroupName 'resourcegroupname' -Name 'vmname' -AutoPatchingSettingEnable:$false

了解使用自动修补将会应用哪些更新

若要了解通过自动修补将会应用哪些更新,请查看更新指南并应用严重性筛选器来识别关键更新和重要更新。

从“自动修补”迁移到“Azure 更新管理器”

Azure 更新管理器是一项统一的服务,可帮助大规模管理和治理所有虚拟机和 SQL Server 实例的更新。 与自动修补不同,Azure 更新管理器可为 SQL Server 安装累积更新。 建议仅使用一项自动修补服务来管理 SQL Server VM 的更新。

如果当前使用的是自动修补,则可以迁移到 Azure 更新管理器

后续步骤

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

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