applies to:SQL Server
已启用Azure Arc的 SQL Server 实例是本地或连接到Azure Arc的云提供商中的实例。本文介绍这些先决条件。
如果SQL Server虚拟机在基于 VMware vSphere 的环境(包括通过 VMware vSphere Foundation 或 VMware Cloud Foundation 授权的环境)中运行,请查看 VMware 上的 Support。
部署之前
在启用 SQL Server 实例之前,您需要执行以下操作:
使用活动订阅创建Azure帐户。 如果需要,创建免费的Azure帐户。
验证 Arc Connected Machine Agent 先决条件。 Arc 代理必须在典型的“完整”模式下运行。
打开防火墙以便于Azure Arc 数据处理服务。
注册资源提供程序。 Specifically:
Microsoft.AzureArcDataMicrosoft.HybridCompute
有关说明,请参阅 注册资源提供程序。
安装帐户权限
用户或服务主体需要:
- 订阅的读取权限
- 对操作系统的本地管理员权限,以安装和配置代理。
- 对于 Linux,请使用根帐户
- 对于Windows,请使用属于本地管理员组成员的帐户
在为 SQL Server 启用 Arc 之前,安装脚本会检查:
- 支持 Arc 启用的 SQL Server 的区域
-
Microsoft.AzureArcData资源提供程序已注册
这些检查需要用户对订阅具有读取权限。
若要完成任务,用户或服务主体需要Azure资源组中的以下权限:
-
Azure Connected Machine Onboarding角色 Microsoft.AzureArcData/register/actionMicrosoft.HybridCompute/machines/extensions/readMicrosoft.HybridCompute/machines/extensions/writeMicrosoft.Resources/deployments/validate/action
将用户分配到具有以下权限的内置角色,例如:
有关详细信息,请参阅使用 Azure 门户分配角色。
验证用户数据库状态
Azure Arc启用SQL Server实例时,连接会设置一些数据库权限,以便你可以从Azure管理数据库。 有关在数据库级别设置的权限的详细信息,请参阅 SQL 权限。
仅包含联机和可更新的数据库。
验证计划从Azure管理的任何数据库的状态。
此查询列出所有数据库及其状态,以及它们是否可更新:
SELECT name AS DatabaseName,
CASE WHEN state_desc = 'ONLINE' THEN 'Online'
WHEN state_desc = 'OFFLINE' THEN 'Offline'
ELSE 'Unknown'
END AS Status,
CASE WHEN is_read_only = 0 THEN 'READ_WRITE'
ELSE 'READ_ONLY'
END AS UpdateableStatus
FROM sys.databases;
在您启用的任何实例上运行该查询。
服务帐户权限
SQL Server服务帐户必须是每个SQL Server实例上sysadmin固定服务器角色的成员。 默认情况下,SQL Server服务帐户是 sysadmin 固定服务器角色的成员。
有关此要求的详细信息,请参阅 SQL Server 服务帐户。
NT AUTHORITY\SYSTEM 登录要求
SQL Server部署程序Azure扩展在 LocalSystem (NT AUTHORITY\SYSTEM) 帐户下运行,以执行权限配置。 在此过程中,部署程序使用Windows集成身份验证连接到每个SQL Server实例。
默认情况下,NT AUTHORITY\SYSTEM 具有 CONNECT SQL 权限的SQL Server登录名。 在SQL Server安全强化删除或限制 NT AUTHORITY\SYSTEM 登录名(例如禁用登录名或拒绝 CONNECT SQL)的环境中,SQL Server的Azure扩展无法成功预配。
在生产环境中运行此查询之前,请在非生产或测试环境中查看并测试该查询以验证结果。 若要验证 NT AUTHORITY\SYSTEM是否可以连接到SQL Server,请在每个实例上运行以下查询(在生产环境中运行之前检查并测试非生产环境或测试环境中):
SELECT sp.name AS login_name,
CASE WHEN sp.is_disabled = 1 THEN 'DISABLED' ELSE 'ENABLED' END AS login_status,
ISNULL(p.state_desc, 'NONE (implicit)') AS connect_sql_permission
FROM sys.server_principals AS sp
LEFT OUTER JOIN sys.server_permissions AS p
ON p.grantee_principal_id = sp.principal_id
AND p.permission_name = N'CONNECT SQL'
AND p.class_desc = N'SERVER'
WHERE sp.name = N'NT AUTHORITY\SYSTEM';
成功预配需要:
- 登录名存在(返回了一行)
- 登录状态为
ENABLED -
CONNECT SQL授予权限
如果组织确定重新添加 NT AUTHORITY\SYSTEM 帐户或授予额外权限对于环境是可接受的,请通过创建身份验证和授予 CONNECT SQL 权限来还原连接:
CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS;
GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM];
进行更改后,请验证扩展是否已成功配置。
设置代理排除项
Note
从 2024 年 4 月版本开始,不需要此排除项。 从扩展版本 1.1.2986.256 开始,可以将环境变量设置为 NO_PROXY 绕过特定 URL 的代理,同时通过代理服务器路由所有其他请求。 例如,使用 NO_PROXY 通过专用终结点将请求路由到Azure 密钥保管库。
如果使用代理服务器,请将 NO_PROXY 环境变量设置为排除代理流量的以下项:
localhost127.0.0.1
连接到Azure Arc数据处理服务
已启用 Arc 的SQL Server需要与 Azure Arc 数据处理服务建立出站连接。
每个虚拟服务器或物理服务器都需要与Azure通信。 具体而言,它们需要连接到:
- URL:
*.<region>.arcdataservices.com- 对于美国政府弗吉尼亚地区,请使用
*.<region>.arcdataservices.azure.us。
- 对于美国政府弗吉尼亚地区,请使用
- 端口:443
- 方向:出站
- 身份验证提供程序:Microsoft Entra ID
若要获取区域终结点的区域段,请从Azure区域名称中删除所有空格。 例如,美国东部 2 区域,区域名称为 。
例如:在美国东部 2 区域,*.<region>.arcdataservices.com 应为 *.eastus2.arcdataservices.com。
有关受支持区域的列表,请查看 Supported Azure 区域。
有关所有区域的列表,请运行以下命令:
az account list-locations -o table
Note
不能使用Azure 专用链接连接到Azure Arc数据处理服务。 请参阅 不支持的配置。
启用Microsoft Entra身份验证的网络要求
如果防火墙阻止出站 URL,那么通过 Azure Arc 启用 SQL Server 的 Microsoft Entra 身份验证时,需要显式允许某些 URL。 将以下 URL 添加到允许列表:
https://login.microsoftonline.com/https://login.microsoft.com/https://enterpriseregistration.windows.net/https://graph.microsoft.com/-
https://<azure-keyvault-name>.vault.azure.net/(仅当使用证书进行Microsoft Entra身份验证时才需要)
此外,可能需要允许 Azure 门户身份验证 URL。
支持SQL Server版本和环境
支持的配置
SQL Server 版本
SQL Server 2012 (11.x) 及更高版本。
Note
仅支持 64 位SQL Server版本。
操作系统
- Windows 10和 11
- Windows Server 2012及更高版本
- Ubuntu 20.04 (x64)
- Red Hat Enterprise Linux (RHEL) 8 (x64)
- SUSE Linux Enterprise Server (SLES) 15 (x64)
Important
Windows Server 2012和Windows Server 2012 R2 支持于 2023 年 10 月 10 日结束。 有关详细信息,请参阅 SQL Server 2012 和 Windows Server 2012/2012 R2 终止支持。
.NET Framework
在 Windows 上,.NET Framework 4.7.2 及更高版本。
此要求从扩展版本 1.1.2504.99(2023 年 11 月 14 日版本)开始生效。 如果没有此版本,扩展可能无法按预期工作。 默认情况下,Windows Server 2012 R2 不附带 .NET Framework 4.7.2,必须相应地更新。
对 VMware 的支持
可以在运行 VMware 虚拟机的环境中,通过 Azure Arc 启用 SQL Server。
- On-premises
- 例如,在 VMware 解决方案中:
Azure VMware 解决方案 (AVS)
VMware vSphere 仍然是基础虚拟化平台。 在 Broadcom 收购 VMware 后,vSphere 产品名称没有更改;但是,VMware 更新了如何打包和许可 vSphere(例如,通过 VMware vSphere Foundation 和 VMware Cloud Foundation)。
Warning
如果您在 Azure VMware 解决方案(AVS)私有云中运行 SQL Server 虚拟机,请按照 部署支持 Arc 的 Azure VMware 解决方案 中的步骤进行启用。
这是唯一一种部署机制,它提供与 AVS 私有云中 Arc 功能完全集成的体验。
AWS 上的 VMware 云
Google Cloud VMware 引擎
VMware 打包和支持范围
Azure Arc 启用的 SQL Server 支持在基于 VMware vSphere 的环境中(包括 Azure VMware 解决方案)托管的虚拟机上运行的 SQL Server 实例。
支持不依赖于特定的 VMware 商业捆绑包、版本或打包。 以下要求确定支持:
- 支持的来宾操作系统
- 支持的SQL Server版本
- Azure Arc Connected Machine 代理要求
VMware(Broadcom)定义了 VMware 打包、许可和生命周期策略,可以独立于Azure Arc更改它们。
不支持的配置
启用Azure Arc SQL Server目前不支持以下配置:
- Windows Server 2012或较旧版本的Windows Server。 他们不需要最低版本的 TLS 才能安全地对Azure进行身份验证。
- DPS 支持 Windows Server 2012 R2,因为它支持 TLS 1.2。 Windows Server 2012 R2 不支持遥测终结点。 因此不支持性能仪表板、迁移评估等功能。
- 在容器中运行的SQL Server。
- SQL Server版本:商业智能。
- Azure Arc 数据处理服务的 专用链接 连接,用于在
<region>.arcdataservices.com终结点上进行清单和使用情况的上传。 - SQL Server 2008(10.0.x)、SQL Server 2008 R2(10.50.x)和旧版本。
- 在创建 sysprep 映像的过程中,无法安装 Arc 代理和SQL Server扩展。
- SQL Server多个实例安装在具有相同实例名称的同一主机操作系统上。
- Azure 虚拟机中的SQL Server。
- 一个 Always On 可用性组,其中一个或多个副本位于故障转移群集实例中。
- SQL Server Reporting Services(SharePoint模式)。
-
DBCC CLONEDATABASE (Transact-SQL)在SQL Server的默认安装Azure扩展时引发错误。 若要运行
DBCC CLONEDATABASE,Azure 扩展必须在 最小特权模式 中运行。 - SQL Server 不支持包含
#符号的实例名称。 有关命名规则和限制的完整列表,请查看 命名规则和限制。
注册资源提供程序
若要注册资源提供程序,请使用以下方法之一:
- 选择 “订阅”。
- 选择订阅。
- 在“设置”下,选择“资源提供程序”。
- 搜索
Microsoft.AzureArcData和Microsoft.HybridCompute,然后选择 Register。
Azure订阅和服务限制
在使用 Azure Arc 配置SQL Server实例和计算机之前,请查看 Azure 资源管理器 订阅限制和 resource 组限制来规划要连接的计算机数。
支持的区域
Azure Arc启用SQL Server可在以下区域中使用:
- 美国东部
- 美国东部 2
- 美国西部
- 美国西部 2
- 美国西部 3
- 美国中部
- 美国中北部
- 美国中南部
- 美国中西部
- 美国政府弗吉尼亚 州 1
- 加拿大中部
- 加拿大东部
- 英国南部
- 英国西部
- 法国中部
- 西欧
- 北欧
- 瑞士北部
- 印度中部
- Brazil South
- 南非北部
- 阿拉伯联合酋长国北部
- 日本东部
- 韩国中部
- 东南亚
- Australia East
- 瑞典中部
- 挪威东部
1 并非所有功能均在美国政府弗吉尼亚地区受支持。 有关详细信息,请查看由Azure Arc启用的美国政府SQL Server。
Important
- 若要成功载入和正常运行,请将同一区域分配给已启用 Arc 的服务器和已启用 Arc 的SQL Server。
安装 SQL Server 的 Azure 扩展
SQL Server 2022 (16.x) 安装向导不支持安装 SQL Server Azure 扩展。
可以通过两种方式安装此组件:
- SQL Server 由 Azure Arc 部署选项启用
- 通过命令行安装 Azure SQL Server 扩展
对于基于 VMware vSphere 的环境,请查看 VMware 上的支持。