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