适用于:SQL Server
本文介绍如何在连接模式下部署SQL Server on Azure Local。 SQL Server 运行在 Windows Server 或 Linux 虚拟机(VM)中,运行于保持与 Azure 连接的 Azure Local 集群中。 该配置结合了本地执行和数据驻留,以及基于 Azure 的管理、监控、计费和混合服务。
对于无法持续连接到 Azure 的环境,请参阅 在 Azure Local 上通过断开连接操作部署 SQL Server。
先决条件
开始前,请确认您具备:
- 支持Azure Local的硬件。 用 Azure Local 环境检查器验证你的环境。
- 一个用于管理和混合服务的 Azure 订阅。
- Azure Local 与 Azure 之间的网络连接,满足 Azure Local 防火墙的要求。
- 支持Windows Server或Linux镜像,用于在Azure Local上创建虚拟机并托管SQL Server。
- 合适的SQL Server授权。 通过Azure Arc审查SQL Server许可和计费情况。
- 在进入引导阶段时,将SQL Server 连接到 Azure Arc所需的权限和网络连接要求。
以下工作流程涵盖部署 Azure Local 和创建 SQL Server 虚拟机。
规划SQL Server工作负载
在确定虚拟机规模之前,先了解工作负载的需求:
- 根据数据库大小、可用性特性、在线操作、虚拟化权限和支持生命周期选择 SQL Server 版本和版本。
- 记录峰值CPU使用率、工作集内存、每秒输入输出操作率(IOPS)、吞吐量、延迟、数据库增长、
tempdb需求、日志生成率和并发。 - 定义恢复点目标(RPO)和恢复时间目标(RTO)。
- 识别应用依赖、认证方法、传输层安全(TLS)要求、端口、服务账户、维护窗口、备份保留和离线软件依赖。
设计 SQL Server 虚拟机
设计每个虚拟机时请考虑以下因素:
| 设计领域 | SQL Server 指南 |
|---|---|
| 计算 | 为持续的利用率和许可效率设计虚拟CPU的大小。 避免过度订阅导致不可预测的查询延迟。 |
| Memory | 为操作系统、代理、驱动程序和故障转移活动保留内存。 配置max server memory好让SQL Server不会占用其他进程所需的内存。 |
| 存储 | 为操作系统、数据、事务日志、tempdb和备份分别使用单独的卷。 验证延迟、吞吐量、队列深度、容量、弹性和空闲空间阈值。 |
| 网络 | 根据需要提供稳定的客户端、管理、备份和副本路径。 验证DNS、最大传输单元(MTU)、防火墙规则、TLS信任和监听器连接性。 |
| 位置 | 将高可用性副本放置在不同的 Azure Local 节点或故障域上。 在可用时使用反亲和性。 |
部署工作流
以下阶段将带你从基础设施部署到连接的 SQL Server 管理。
| 阶段 | 结果 |
|---|---|
| 获取硬件并部署 Azure Local | 一个支持的 Azure Local 环境。 |
| 创建虚拟机并安装 SQL Server | 运行在Windows Server或Linux上的SQL Server。 |
| 监控和调优 SQL Server | SQL Server 性能和运行状况的基线。 |
| 配置高可用性 | 针对工作负载的可用性设计,如可用性组或故障转移集群实例。 |
| 将 SQL Server 连接到 Azure Arc | 集中库存、治理、安全和许可。 |
部署 Azure Local
请按照Azure Local部署概览部署Azure Local。 在为你的 SQL Server 工作负载创建虚拟机之前,先完成相关的部署前置条件和部署流程。
创建虚拟机并安装 SQL Server
在 Azure Local 上为你的 SQL Server 工作负载创建 Windows Server 或 Linux 虚拟机。
按照您操作系统的说明安装SQL Server:
请审查SQL Server的许可和计费要求,并配置合适的许可模型。
监控和调优 SQL Server
通过动态管理视图、扩展事件、错误日志以及由客户操作系统支持的监控解决方案监控 SQL Server。 在 Windows 上,你还可以使用 SQL Server 代理 警报和 Windows 性能计数器。 SQL Server 代理 提醒在 Linux 上不被支持;请查看你版本的 Linux 上的 SQL Server 功能支持。
在调整工作负载前,建立CPU利用率、内存压力、存储延迟、阻塞、数据库增长和备份健康状况的基线。 连接 SQL Server 到 Azure Arc 后,您还可以运行最佳实践评估,前提是其前提条件。
配置高可用性
Azure Local 为虚拟机提供主机层的韧性。 单独配置 SQL Server 高可用性,以满足工作负载的数据库或实例可用性需求:
- 始终在线的可用性组 提供数据库层级的保护。 对于Windows部署,请查看SQL Server的Windows Server故障转移集群。
- 在 Windows 上,Always On 故障切换集群实例提供实例级保护,并需要支持的共享存储设计。 规划存储时请查看存储空间直通的概览。
- 使用集群亲和规则将 SQL Server 副本放置在不同的物理节点上。 这种安置有助于在主机失败时保持可用性。
- 对于连接的 Windows 集群,可以考虑 Cloud Witness 作为法定人数选项。
对于 Linux,没有群集管理器的可用性组提供读取扩展副本,而不是高可用性。 高可用性部署需要支持的集群管理器,如Pacemaker,生产部署则需要围栏。 参见 Linux 配置可用性组。 验证 Linux 发行版、集群管理器、围栏机制和存储是否支持你的 Azure Local 配置;Windows 的操作步骤不能原封不动地适用于 Linux。
应将工作负载保护与基础设施韧性分开规划。 关于 Azure 备份 和 Azure Site Recovery 选项,请查看 Azure Local 工作负载的韧性和灾难恢复,以及你工作负载的支持要求。
将 SQL Server 连接到 Azure Arc
连接运行在 Azure Local 上的 SQL Server 实例到 Azure Arc,创建用于集中管理的 Azure 资源。
- 验证Azure Arc 先决条件。
- 请通过Connect SQL Server to Azure Arc生成并运行引导脚本。
- 确认 SQL Server 资源确实出现在 Azure 门户中。
入门后,您可以根据其版本和配置需求使用以下功能:
| Capability | Guidance |
|---|---|
| 清单和报告 | 查看实例、数据库、版本号、版本类型和主机操作系统。 使用 Azure Resource Graph 跨整个 SQL Server 资产进行查询。 参见 已启用 Azure Arc 的 SQL Server。 |
| 最佳做法评估 | 收到关于性能和安全的建议。 参见 最佳实践评估。 |
| Identity | 使用Microsoft Entra认证,但须遵守其版本和操作系统要求。 用于 Microsoft Entra 身份验证的托管标识设置要求在 Windows Server 上运行已启用 Arc 的 SQL Server 2025,并使用已启用 Arc 的服务器的系统分配标识。 故障转移群集实例不支持 Microsoft Entra 身份验证。 |
| 安全性和治理 | 配置 Microsoft Defender for Cloud,或注册并扫描 Microsoft Purview 的 SQL Server。 |
| Operations | 管理配置,并在已接入的服务器上运行批准的脚本。 请参阅 由 Azure Arc 支持的 SQL Server 和 管理配置。 |
通过 Azure Arc 配置许可
使用由 Azure Arc 启用的 SQL Server 来声明和管理您的 SQL Server 实例的许可和计费模式:
- 按需付费:通过Azure订阅,并支付Azure Arc报告的授权核心费用。该模型适用于可变、临时或增量工作负载。
- 带软件保障的许可或订阅:声明现有的SQL Server许可证由有效软件保障或SQL Server订阅覆盖。 Azure Arc 记录许可证类型并启用相应的管理福利。
- 核心范围: 评估单个虚拟机的虚拟核心许可以及符合条件的企业物理核心许可,且可无限虚拟化。 在选择许可模式前,请验证资格。
- 配置:通过Azure门户、Azure PowerShell或Azure CLI设置并审查许可证类型。 必要时大规模应用变革。
- 报告:保持Azure Connected Machine代理和SQL Server扩展的健康状态,确保库存、使用报告和计费准确无误。
在Linux上,按用付费计费不会自动检测被动可用性组副本或故障转移集群实例。 所有 SQL Server 实例均被计费为活跃,无论其高可用性或灾难恢复角色如何。 在规划Linux部署时,请考虑这一差异。 请参阅 按用量付费的相关考虑。
有关需求和流程,请参见 “管理许可与计费”、“ 管理配置”以及 “管理向现用付费的过渡”。
构建本地AI应用
SQL Server 2025 可以使用 sp_invoke_external_rest_endpoint 调用兼容的 HTTPS 聊天完成终端。 应用程序可以将 SQL 数据与本地托管的模型结合使用,同时让推理过程保留在您的环境内。
在调用本地模型端点之前:
-
external rest endpoint enabled启用服务器配置选项。 在 SQL Server 2025 中,该过程默认被禁用。 - 授予呼叫的数据库主体
EXECUTE ANY EXTERNAL ENDPOINT权限,并配置端点所需的认证和凭证。 - 部署模型,使其HTTPS端点可从SQL Server虚拟机访问。 配置TLS证书和证书信任以供生产环境使用;绕过证书验证的测试并不能证明SQL Server能够安全连接。
详情请参见 REST 端点权限与前提条件 以及 Foundry 本地推理指南。
- SQL Server集成:将SQL Server 2025授权的REST请求发送到兼容的聊天完成终端,并在你的应用工作流程中处理该响应。
- 本地模型推理:Azure Local 上的 Foundry Local 处于预览阶段。 使用受支持的可用于聊天的目录模型或 自带模型,并完成该产品的部署和访问前提条件。
- 开发人员工具:在连接 Visual Studio Code 到本地端点之前,请先查看 GitHub Copilot 的自定义密钥,了解支持的模型端点和客户端需求。
有关详细信息,请参阅 Foundry Local 文档 以及 sp_invoke_external_rest_endpoint 中的端点要求。
使用可信的启动虚拟机
Azure Local 虚拟机的可信启动支持安全启动和虚拟可信平台模块(vTPM)。 如果你的 SQL Server 虚拟机使用 TPM 支持的保护,请查看自动状态传输,了解虚拟机在节点间迁移或故障切换时 vTPM 状态的处理方式。
SQL Server 不需要 vTPM。 如果你使用vTPM进行访客操作系统保护或加密,应将这些要求与SQL Server可用性设计分开验证。
关于需求和限制,请参见 Azure Local VM 的 Trusted launch 。