自动注册到 SQL IaaS 代理扩展

适用于:Azure VM 上的 SQL Server

默认情况下,具有 SQL Server 2016 或更高版本的 Azure VM 会在被 CEIP 服务检测到的情况下自动注册到 SQL IaaS 代理扩展。 可以为订阅启用自动注册功能,以便轻松地自动注册 CEIP 服务未选取的任何 SQL Server VM,例如旧版本的 SQL Server。

本文将指导你启用自动注册功能。 或者,也可以向 SQL IaaS 代理扩展注册单个 VM批量注册 VM

注意

在 2022 年 10 月之后通过 Azure 市场部署的 SQL Server VM 默认启用最小特权模型。 SQL IaaS 代理扩展的管理模式已于 2023 年 3 月移除。

概述

SQL IaaS 代理扩展注册 SQL Server VM,以释放完整功能集权益。

默认情况下,具有 SQL Server 2016 或更高版本的 Azure VM 会在被 CEIP 服务检测到的情况下自动注册到功能有限的 SQL IaaS 代理扩展。 可以使用自动注册功能,以自动注册 CEIP 服务未标识的任何 SQL Server VM。 许可证类型自动默认为 VM 映像的类型。 如果对 VM 使用即用即付映像,则许可证类型将为 PAYG,否则许可证类型将默认为 AHUB。 有关隐私的信息,请参阅 SQL IaaS 代理扩展隐私声明

为订阅启用自动注册后,将向 SQL IaaS 代理扩展注册已安装 SQL Server 的所有当前和未来 VM。 这是通过运行每月作业来实现的,该作业会检测订阅中所有未注册的 VM 上是否安装了 SQL Server。 对于未注册的 VM,该作业将 SQL IaaS 代理扩展二进制文件复制到 VM,然后运行一次性实用工具来检查 SQL Server 注册表配置单元。 如果检测到 SQL Server 配置单元,则会向扩展注册虚拟机。 如果注册表中不存在任何 SQL Server 配置单元,则将删除二进制文件。

自动注册提供扩展的有限功能,例如许可证管理。 可以从 Azure 门户中的 SQL 虚拟机资源启用更多功能。

注意

  • 如果注册表中没有 SQL Server 配置单元,则如果存在资源锁,删除二进制文件可能会受到影响。
  • 如果使用预安装了 SQL IaaS 代理扩展的市场映像部署了 SQL Server VM,并且扩展处于失败状态或已删除,自动注册会检查注册表,查看 VM 上是否安装了 SQL Server,然后将其注册到该扩展。
  • 如果在启用集中管理 AHB (CM-AHB) 后激活自动注册,会存在 Azure VM 工作负载上的 SQL Server 产生不必要的即用即付费用的风险。 若要缓解此风险,请在 CM-AHB 中调整许可证分配,以计算 SQL IaaS 代理扩展在自动注册后将报告的额外使用量。 我们发布了一款开源工具,该工具提供有关 SQL Server 许可证使用情况的见解,包括尚未向 SQL IaaS 代理扩展注册的 Azure 虚拟机上的 SQL Server 的使用情况。

先决条件

若要通过扩展启用 SQL Server VM 的自动注册,需要有:

  • Azure 订阅
  • 用于注册虚拟机的客户端凭据,存在于以下任何一个 Azure 角色中:“虚拟机参与者”、“参与者”或“所有者”。

启用自动注册后,将根据以下条件注册 SQL Server VM:

注意

Azure 中的 Ubuntu Linux VM 支持自动注册。

启用自动注册

若要在 Azure 门户中启用 SQL Server VM 自动注册,请按照以下步骤操作:

  1. 登录到 Azure 门户

  2. 导航到 SQL 虚拟机资源页。

  3. 选择“自动 SQL Server VM 注册”,以打开“自动注册”页。

    屏幕截图显示如何选择“自动 SQL Server VM 注册”以打开“自动注册”页

  4. 从下拉列表中选择你的订阅。

  5. 通读条款,如果同意,请选择“我接受”。

  6. 选择“注册”以启用此功能,并向 SQL IaaS 代理扩展自动注册所有当前和未来 SQL Server VM。 这不会重启任何 VM 中的 SQL Server 服务。

禁用自动注册

使用 Azure CLIAzure PowerShell 禁用自动注册功能。 禁用自动注册功能后,需要手动向 SQL IaaS 代理扩展注册添加到订阅的 SQL Server VM。 这不会取消注册已注册的现有 SQL Server VM。

若要使用 Azure CLI 禁用自动注册,请运行以下命令:

az feature unregister --namespace Microsoft.SqlVirtualMachine --name BulkRegistration

针对多个订阅启用

可以使用 PowerShell 为多个 Azure 订阅启用自动注册功能。

为此,请执行下列步骤:

  1. 保存此脚本

  2. 使用管理命令提示符或 PowerShell 窗口导航到保存脚本的位置。

  3. 连接到 Azure (az login)。

  4. 执行此脚本,并传入 SubscriptionIds 作为参数。 如果未指定订阅,脚本将为用户帐户中的所有订阅启用自动注册。

    以下命令为两个订阅启用自动注册:

    .\EnableBySubscription.ps1 -SubscriptionList a1a1a-aa11-11aa-a1a1-a11a111a1,b2b2b2-bb22-22bb-b2b2-b2b2b2bb
    

    以下命令为所有订阅启用自动注册:

    .\EnableBySubscription.ps1
    

注册失败的错误存储在 RegistrationErrors.csv 中,它与保存和执行 .ps1 脚本的位置位于相同的目录中。

后续步骤

有关详细信息,请查看下列文章: