Compartir a través de

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

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

注意

  • 如果注册表中没有 SQL Server hive,那么如果存在资源锁,删除二进制文件的操作可能会受到影响。
  • 如果部署了一个具有预安装 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 Server 虚拟机需要手动注册至 SQL IaaS 代理扩展。 这不会取消注册已注册的现有 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 脚本的位置位于相同的目录中。