你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Windows SQL Server IaaS 代理扩展实现自动管理
SQL Server IaaS 代理扩展 (SqlIaasExtension) 在 Azure Windows 虚拟机 (VM) 上的 SQL Server 上运行,可以自动执行管理任务。
本文将提供该扩展的概述。 若要将 SQL Server IaaS 代理扩展安装到 Azure VM 上的 SQL Server,请参阅有关自动注册、注册单个 VM 或批量注册 VM 的文章。
若要详细了解 Azure VM 上的 SQL Server 部署和管理体验,请观看以下“公开的数据”视频:
概述
SQL Server IaaS 代理扩展允许与 Azure 门户集成,并可以为 Azure VM 上的 SQL Server 解锁多种权益:
功能权益:该扩展可以解锁许多自动化功能权益,例如门户管理、许可证灵活性、自动备份、自动修补等。 有关详细信息,请参阅本文稍后的功能权益。
合规性:该扩展提供了一种简化的方法来满足以下要求:根据产品条款中的规定向 Microsoft 通知 Azure 混合权益已启用。 此过程无需为每个资源管理许可注册表单。
免费:该扩展完全免费。 使用该扩展不会产生相关的额外费用。
与集中管理的 Azure 混合权益集成:将 SQL Server VM 注册到该扩展可以与集中管理的 Azure 混合权益相集成,从而轻松地大规模管理 SQL Server VM 的 Azure 混合权益。
简化的许可证管理:该扩展简化了 SQL Server 许可证管理,可让你通过以下方式快速识别启用了 Azure 混合权益的 SQL Server VM:
可以使用 Azure 门户中的 SQL 虚拟机资源快速识别使用 Azure 混合权益的 SQL Server VM。
启用自动升级以确保每月获取扩展的最新更新。
功能权益
SQL Server IaaS 代理扩展为管理 SQL Server VM 解锁了多项功能优势,让你能够选择适合业务需求的权益。 首次向扩展注册时,功能仅限于一些不依赖于 SQL IaaS 代理的功能。 启用需要它的功能后,代理会安装到 SQL Server VM。
下表详细介绍了通过 SQL IaaS 代理扩展提供的多种优势,以及是否需要代理:
功能 | 说明 |
---|---|
Azure 门户管理 | 解锁门户中的管理,以便可以在一个位置查看所有 SQL Server VM,并直接在门户中启用或禁用 SQL 特定的功能。 包含在基本注册中。 |
自动备份 | 对 VM 中的 SQL Server 默认实例或已正确安装的命名实例自动执行所有数据库的备份计划。 有关详细信息,请参阅 Azure 虚拟机中 SQL Server 的自动备份 (Resource Manager)。 需要 SQL IaaS 代理扩展。 |
自动修补 | 在配置的维护时段内自动将 Windows 和 SQL Server 安全更新(包括 SQL Server 的累积更新)安装到虚拟机,以避免在工作负载高峰期进行更新。 有关详细信息,请参阅通过 Azure 更新管理器自动修补。 需要 SQL IaaS 代理扩展。 |
Azure 密钥保管库集成 | 可让你在 SQL Server VM 上自动安装和配置 Azure 密钥保管库。 有关详细信息,请参阅 为 Azure 虚拟机上的 SQL Server 配置 Azure 密钥保管库集成 (Resource Manager)。 需要 SQL IaaS 代理扩展。 |
配置 tempdb | 可以直接通过 Azure 门户配置 tempdb,例如指定文件数、其初始大小、位置以及自动增长比率。 重启 SQL Server 服务以使更改生效。 需要 SQL IaaS 代理扩展。 |
Defender for Cloud 门户集成 | 如果已启用 Microsoft Defender for SQL,则可直接在 Azure 门户的 SQL 虚拟机资源中查看 Defender for Cloud 建议。 有关详细信息,请参阅安全最佳做法。 需要 SQL IaaS 代理扩展。 |
扩展的安全更新 | 自动接收 Azure VM 上的 SQL Server 安全更新,在延长的 SQL Server 生命周期支持结束后最多可持续三年。 |
灵活许可 | 在自带许可(也称为 Azure 混合权益)与即用即付许可模型之间来回无缝转换,从而节省成本。 包含在基本注册中。 |
灵活的发行版本/产品版本 | 如果你决定更改 SQL Server 的发行版本或产品版本,可以在 Azure 门户中更新元数据,而无需重新部署整个 SQL Server VM。 包含在基本注册中。 |
I/O 性能分析 | 针对 Azure VM 上的 SQL Server 分析 I/O 性能。 此功能目前以预览版提供。 需要 SQL IaaS 代理扩展。 |
Microsoft Entra 身份验证 | 使用 Microsoft Entra ID 对 SQL Server VM 进行身份验证,以增强 SQL Server VM 的安全性。 需要 SQL IaaS 代理扩展。 |
I/O 分析(预览) | 在 Azure 门户中查看 I/O 性能的分析,以查找因超出虚拟机和数据磁盘限制而导致的问题。 此功能目前以预览版提供。 需要 SQL IaaS 代理扩展。 |
SQL 最佳做法评估 | 使你可以使用配置最佳做法评估 SQL Server VM 的运行状况。 有关详细信息,请参阅 SQL 最佳做法评估。 需要 SQL IaaS 代理扩展。 |
在门户中查看磁盘使用率 | 可让你在 Azure 门户中查看 SQL 数据文件的磁盘使用率的图形表示形式。 需要 SQL IaaS 代理扩展。 |
权限模型
默认情况下,SQL IaaS 代理扩展使用最小特权模式权限模型。 最小特权权限模型为启用的每个功能授予所需的最小权限。 使用的每个功能都会在 SQL Server 中分配到一个自定义角色,并且仅向自定义角色授予执行与该功能相关操作所需的权限。
在 2022 年 10 月之前部署的 SQL Server VM 使用较旧的 sysadmin 模型,SQL IaaS 代理扩展默认采用 sysadmin 权限。 对于在 2022 年 10 月之前预配的 SQL Server VM,可以通过转到 SQL 虚拟机资源,在“安全性”下选择“安全配置”,然后选中“启用最低特权模式”旁边的复选框来启用最低特权权限模型。
要启用最小特权权限模型,请转到 SQL 虚拟机资源,选择“安全”下的“安全配置”,然后选中“启用最小特权模式”旁边的框:
下表定义了扩展的每个功能使用的权限和自定义角色:
Feature | 权限 | 自定义角色(服务器/数据库) |
---|---|---|
SQL 最佳做法评估 | 服务器权限 - CONTROL SERVER | SqlIaaSExtension_Assessment |
自动备份 | 服务器权限 – CONTROL SERVER 数据库权限 – master 上的 db_ddladmin ,msdb 上的 db_backupoperator |
SqlIaaSExtension_AutoBackup |
Azure 备份服务 | sysadmin | |
凭据管理 | 服务器权限 - CONTROL SERVER | SqlIaaSExtension_CredentialMgmt |
可用性组门户管理 | sysadmin | |
R Service | 服务器权限 - ALTER SETTINGS | SqlIaaSExtension_RService |
SQL 身份验证 | sysadmin | |
SQL Server 实例设置 | 服务器权限 - ALTER ANY LOGIN、ALTER SETTINGS | SqlIaaSExtension_SqlInstanceSetting |
存储配置 | 服务器权限 - ALTER ANY DATABASE | SqlIaaSExtension_StorageConfig |
状态报告 | 服务器权限 - VIEW ANY DEFINITION、VIEW SERVER STATE、ALTER ANY LOGIN、CONNECT SQL | SqlIaaSExtension_StatusReporting |
安装
将 SQL Server VM 注册到 SQL IaaS 代理扩展时,二进制文件会复制到 VM。 当你启用依赖它的功能后,SQL IaaS 代理扩展会安装到 VM,并有权访问 SQL Server。 默认情况下,代理将遵循最小特权模型,在 SQL Server 内仅拥有与你启用的功能关联的权限,除非你以手动方式将 SQL Server 自行安装到 VM,或在 2022 年 10 月之前部署了来自市场的 SQL Server 映像,在这种情况下,代理在 SQL Server 中具有 sysadmin 权限。
通过 Azure 门户部署 SQL Server VM Azure 市场映像会自动将 SQL Server VM 注册到扩展。 但是,如果选择在 Azure 虚拟机上自行安装 SQL Server,或通过自定义 VHD 预配 Azure 虚拟机,必须将 SQL Server VM 注册到 SQL IaaS 代理扩展才能解锁功能权益。 默认情况下,具有 SQL Server 2016 或更高版本的自行安装的 Azure VM 会在被 CEIP 服务检测到的情况下自动注册到 SQL IaaS 代理扩展。 对于 CEIP 未检测到的 SQL Server VM,应手动注册。
向 SQL IaaS 代理扩展注册时,二进制文件将复制到虚拟机,但默认情况下不安装代理。 只有在启用需要代理的 SQL IaaS 代理扩展功能之一时,才会安装代理,然后,以下两个服务将在虚拟机上运行:
- Microsoft SQL Server IaaS 代理是 SQL IaaS 代理扩展的主服务,应在“本地系统”帐户下运行。
- Microsoft SQL Server IaaS 查询服务是一种帮助程序服务,可帮助扩展在 SQL Server 中运行查询,它应在“NT 服务”帐户
NT Service\SqlIaaSExtensionQuery
下运行。
可通过三种方式注册到扩展:
将 SQL Server VM 注册到 SQL Server IaaS 代理扩展会在订阅(该资源独立于虚拟机资源)中创建 SQL 虚拟机资源。 从 SQL Server VM 中删除扩展会从订阅中移除 SQL 虚拟机资源,但不会删除底层虚拟机。
多实例支持
SQL IaaS 代理扩展支持下面的环境:
- 一个默认实例。
- 如果有多个实例,则 Azure 门户中的扩展仅支持和管理默认实例。 不支持具有多个命名实例而没有默认实例的环境。
- 一个命名实例(如果它是唯一安装的实例)。
命名实例支持
如果要在 Azure 门户中管理单个命名实例,请将具有非默认名称的 SQL Server 安装到 Azure 虚拟机,然后使用 SQL IaaS 代理扩展将其注册。
如果要管理来自 Azure 市场的 SQL Server 映像中的单个命名实例,必须先卸载现有 SQL Server 实例,安装具有命名实例的 SQL Server,然后使用 SQL IaaS 代理扩展将其注册。
若要将单个命名实例与 Azure VM 上的 SQL Server 一起使用,请按照以下步骤进行操作:
- 从 Azure 市场部署 SQL Server VM。
- 从 SQL Server VM 中删除 SQL IaaS 代理扩展。
- 连接至虚拟机并完全卸载 SQL Server。
- 重启虚拟机。
- 连接到虚拟机,然后使用安装媒体(通常位于
C:\SQLServerFull
中)安装命名的 SQL Server 实例。 - 重新启动虚拟机。
- 将 VM 注册到 SQL IaaS 代理扩展。
故障转移群集实例支持
支持注册 SQL Server 故障转移群集实例,但功能有限。 由于功能有限,注册到扩展的 SQL Server FCI 不支持需要代理的功能,例如自动备份、修补、Microsoft Entra 身份验证和高级门户管理。
如果 SQL Server VM 已注册到 SQL IaaS 代理扩展,并且已启用任何需要该代理的功能,则需要从 SQL Server VM 中删除扩展,然后在安装 FCI 后再次注册。
验证扩展的状态
使用 Azure 门户、Azure PowerShell 或 Azure CLI 可以检查扩展的状态。
在 Azure 门户中验证扩展是否已安装。
在 Azure 门户中转到“虚拟机”资源(不是 SQL 虚拟机资源,而是 VM 的资源)。 选择“设置”下面的“扩展” 。 应看到列出“SqlIaasExtension”扩展,如以下示例所示:
管理模式
在 2023 年 3 月之前,SQL IaaS 代理扩展依赖于管理模式来定义安全模型并解锁功能权益。 2023 年 3 月,扩展体系结构进行了更新,完全删除了管理模式,现在依赖于最小特权原则,让客户可以逐个功能控制他们想如何使用扩展。
自 2023 年 3 月起,当你首次注册到扩展时,二进制文件将保存到虚拟机,提供基本功能(例如许可证管理)。 启用依赖于代理的任何功能后,将使用二进制文件将 SQL IaaS 代理安装到虚拟机,并根据需要由启用的每个功能向 SQL IaaS 代理服务分配权限。
限制
SQL IaaS 代理扩展仅支持:
- 通过 Azure 资源管理器部署的 SQL Server VM。 不支持通过经典模型部署的 SQL Server VM。
- 部署到公有云或 Azure 政府云的 SQL Server VM。 不支持部署到其他私有云或政府云。
- 必须在 SQL Server 配置管理器和虚拟机中启用 TCP/IP,以便扩展能够与 Azure VM 上的 SQL Server 配合使用。
- SQL Server FCI 的功能有限。 注册到扩展的 SQL Server FCI 不支持需要代理的功能,例如自动备份、修补和高级门户管理。
- 具有默认实例的虚拟机,或不存在默认实例时具有单个命名实例的虚拟机。
- 如果 VM 有多个命名实例,则其中一个实例必须是使用 SQL IaaS 代理扩展的默认实例。
- 仅 SQL Server 实例映像。 SQL IaaS 代理扩展不支持 Reporting Services 或 Analysis 服务,如下图所示:SQL Server Reporting Services、Power BI Report Server、SQL Server Analysis Services。
隐私声明
使用 Azure VM 上的 SQL Server 和 SQL IaaS 代理扩展时,请考虑以下隐私声明:
自动注册:默认情况下,具有 SQL Server 2016 或更高版本的 Azure VM 会在被 CEIP 服务检测到的情况下自动注册到 SQL IaaS 代理扩展。 有关详细信息,请参阅 SQL Server 隐私补充条款。
数据收集:SQL IaaS 代理扩展会收集数据,目的只是当客户在 Azure 虚拟机上使用 SQL Server 时为他们提供可选权益。 在未经得客户事先同意的情况下,Microsoft 不会将此数据用于许可审核。 有关详细信息,请参阅 SQL Server 隐私补充条款。
区域内数据驻留:Azure VM 上的 SQL Server 和 SQL IaaS 代理扩展不会将客户数据移动或存储到 VM 的部署区域之外。
相关内容
若要将 SQL Server IaaS 扩展安装到 Azure VM 上的 SQL Server,请参阅有关自动安装、单一 VM 或批量 VM 的文章。 有关问题的解决方法,请阅读排查有关扩展的已知问题。
若要了解详细信息,请查看以下文章: