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

适用于 Azure VM 上的 SQL Server 的 Azure 更新管理器

适用于:Azure VM 上的 SQL Server

本文介绍如何将 Azure 更新管理器与适合 WindowsLinux Azure 虚拟机 (VM) 上的 SQL Server 的 SQL 虚拟机资源集成。 使用 Azure 更新管理器,可以自动为 SQL Server 安装累积更新,以及自动安装标记为“关键”或“重要”的 SQL Server 和 OS 更新。

概述

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

使用 Azure 更新管理器可以:

  • 按需执行更新
  • 大规模管理多个 VM 的更新
  • 在指定维护时段内为修补程序配置计划
  • 执行定期评估,每隔 24 小时自动检查 VM 更新,并报告不符合要求的计算机

注意

应使用 Azure 更新管理器或自动修补来管理 SQL Server VM 的自动更新,但这两者不能同时使用。 启用自动修补和 Azure 更新管理器可能会导致意外行为、计划冲突和指定维护时段外的意外更改。 在使用 Azure 更新管理器之前禁用自动修补,或使用 PowerShell 直接迁移到 Azure 更新管理器

启用 Azure 更新管理器

可以通过 Azure 门户为 SQL Server VM 启用 Azure 更新管理器。

  1. 在 Azure 门户中转到 SQL 虚拟机资源。

  2. 在资源菜单的“设置”下,选择“更新”。

  3. 选择“禁用”禁用“自动修补”,因为如果启用了自动修补,就不应该使用 Azure 更新管理器。

  4. 在导航栏中选择“试用 Azure 更新管理器”打开新的“更新”页面,该页面会将 Azure 更新管理器集成到 SQL 虚拟机资源中。 如果看到“退出新体验”,则表示已启用 Azure 更新管理器集成,无需执行进一步操作。

    Azure 门户中 Windows SQL 虚拟机资源“更新”页面的屏幕截图,其中突出显示了“试用 Azure 更新管理器”。

  5. (可选)如果要返回自动修补,请选择“退出新体验”以返回“自动修补”页,然后选择“启用”以启用自动修补。 这将禁用 Azure 更新管理器集成。

  6. 在“更新”页面上,从导航栏中选择“设置”,然后选择“启用 Microsoft 更新”允许 SQL Server VM 接收更新。

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

检查更新

尽管 Azure 更新管理器为更新提供了可靠的计划工具,但也可以手动检查更新,方法是选择导航栏中的“检查更新”,然后选择“确定”立即触发评估。

评估完成后,从导航栏中选择“刷新”来刷新 Azure 更新管理器,从而显示所有可用更新(包括 SQL Server 累积更新)的列表。

按需更新

如果要按需安装特定更新,请从导航栏中选择“一次性更新”以打开“安装一次性更新”页。

默认情况下,“安装一次性更新”页的“计算机”选项卡会显示已打开的 SQL Server VM,不过也可以选择“添加计算机”来添加其他要按需更新的虚拟机。

要更新计算机,请执行以下步骤:

  1. 选中要更新的计算机旁边的复选框,然后选择“下一步”导航到“更新”选项卡。
  2. 在“更新”选项卡上,根据更新的分类、KB ID 或在特定修补程序发布日期之后选择要安装的更新类型。
  3. 在“要安装的选定更新预览版”部分中,根据选择检查要安装的更新。 要求重启 VM 的更新的“重新启动状态”为 CanRequestReboot。
  4. 选择“下一步”,然后选择最适合需求的安装属性,例如何时重新启动 VM。
  5. 选择“下一步”对选项执行最终审查,然后选择“安装”启动修补过程。

大规模更新管理

Azure 更新管理器的优点之一是能够在一个位置上管理 Azure VM 上的整个 SQL Server 群。 在 Azure 更新管理器中,可以根据订阅、资源组和工作负载进行筛选。

在门户搜索框中键入“Azure 更新管理器”或在 SQL 虚拟机资源“更新”页面中选择“Azure 更新管理器”,即可访问 Azure 更新管理器。

要更新多个 SQL Server VM,请执行以下步骤:

  1. 转到 Azure 门户中的“Azure 更新管理器”。
  2. 选择“管理”下的“计算机”。
  3. 按“SQL 虚拟机”筛选工作负载。
  4. 选中要更新的计算机旁边的复选框,然后从导航栏中选择“启用 Microsoft 更新”,以对所有选定的 VM 进行 Microsoft 更新。
  5. 要更新所选 VM,请先选择“检查更新”以确定所选 VM 是否有可用更新。
  6. 然后选择“一次性更新”以按需执行更新,或选择“计划更新”以创建更新所选 VM 的计划。

定期评估

Azure 更新管理器的另一个优势在于能够使用定期评估功能自动检查 SQL Server VM 的可用更新,并从中心位置验证是否所有 VM 都符合要求。 更新管理器会每 24 小时对每个已启用定期评估的 VM 执行检查更新。

在 SQL 虚拟机资源“更新”页面的“推荐的更新”选项卡上,从“定期评估”旁边选择“立即启用”,即可为特定 SQL Server VM 启用定期评估。

或者,要为多个 SQL Server VM 启用定期评估,请执行以下步骤:

  1. 转到 Azure 门户中的“Azure 更新管理器”。

  2. 选择“管理”下的“计算机”。

    • 对于 Windows,按“SQL 虚拟机”筛选工作负载。
    • 对于 Linux,按 OS 筛选工作负载。
  3. 选中要启用定期评估的计算机旁边的复选框,然后从导航栏中的“设置”下拉列表中选择“更新设置”。

  4. 在“更新设置”对话框中选择“更新设置”,转到“更改更新设置”页。

    Azure 更新管理器中心页面的屏幕截图,其中突出显示了 Azure 门户中的更新设置。

  5. 可以更新 Azure 更新管理器中选择的计算机的“定期评估”设置,也可以选择“添加计算机”来为其他计算机配置设置。

  6. 完成更改后,选择“保存”,导航回 Azure 更新管理器。

计划更新

Azure 更新管理器可提供强大的计划功能。 可以为单个 VM 创建计划,或将多台计算机分配到同一计划中,从而更灵活地控制 SQL Server VM 群的修补时间。

可以从 SQL 虚拟机资源“更新”页面中选择“计划更新”,为特定 SQL Server VM 配置计划;也可以从 Azure 更新管理器中选择“计划更新”,为多个虚拟机配置计划。

要为多个 SQL Server VM 配置计划,请执行以下步骤:

  1. 转到 Azure 门户中的“Azure 更新管理器”。

  2. 选择“管理”下的“计算机”。

    • 对于 Windows,按“SQL 虚拟机”筛选工作负载。
    • 对于 Linux,按 OS 筛选工作负载。
  3. 选中要为其配置计划的计算机旁边的复选框,打开“创建维护配置”页。

  4. 在“基本信息”选项卡上,填写订阅、资源组和配置详细信息,例如计划名称。

  5. 选择“添加计划”以定义维护时段。

  6. (可选)如果要在指定计划内自动安装 SQL Server 累积更新,则在“更新”选项卡上,选择“包括更新分类”,然后检查“更新”旁边的复选框。 单击添加保存设置。

    “创建维护配置”页面的屏幕截图,其中显示了在 Azure 门户中选择更新作为分类。

  7. 选择“查看 + 创建”以创建计划

  8. 创建计划后,返回“Azure 更新管理器”,并选择要使用新计划的虚拟机。

  9. 在“更新设置”对话框中选择“更新设置”,转到“更改更新设置”页。

  10. 将“修补业务流程”选项更新为“客户托管计划”,以确保根据所选计划修补 VM,而不是根据 Microsoft 默认设置自动修补。

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

如果当前使用的是自动修补,并且想迁移到 Azure 更新管理器,则可使用 MigrateSQLVMPatchingSchedule PowerShell 模块执行以下步骤:

  • 禁用自动修补
  • 在虚拟机上启用 Microsoft 更新
  • 在 Azure 更新管理器中创建新的维护配置,且计划类似于自动修补
  • 将虚拟机分配给维护配置

要使用 PowerShell 迁移到 Azure 更新管理器,可使用以下示例脚本:

$rgname = 'YourResourceGroup'
$vmname = 'YourVM'

# Install latest migration module
Install-Module -Name MigrateSQLVMPatchingSchedule-Module -Force -AllowClobber 

# Import the module
Import-Module MigrateSQLVMPatchingSchedule-Module

Convert-SQLVMPatchingSchedule -ResourceGroupName $rgname -VmName $vmname

脚本的输出包括自动修补中关于旧计划的详细信息,以及 Azure 更新管理器中关于新计划的详细信息。 例如,若自动修补计划是每周五,开始时间为凌晨 2 点,持续时长为 150 分钟,则脚本的输出为:

PowerShell 脚本输出的屏幕截图,其中显示了将自动修补计划迁移到 Azure 更新管理器。

注意事项

考虑以下情况:

  • 通过 SQL Server IaaS 代理扩展进行的自动修补与 Azure 更新管理器不兼容。 如果选择使用 Azure 更新管理器管理 SQL Server VM,请务必禁用自动修补以避免意外和计划外修补。
  • Azure 更新管理器不知道是否已为 SQL Server VM 配置 AlwaysOn 可用性组,因此在为可用性组副本创建修补计划时要格外小心,以避免意外故障转移。

后续步骤

若要了解详细信息,请查看以下文章:

有关详细信息,请参阅以下文章: