在 Azure Local 上部署 SQL Server

适用于:SQL Server

本文介绍如何在连接模式下部署SQL Server on Azure Local。 SQL Server 运行在 Windows Server 或 Linux 虚拟机(VM)中,运行于保持与 Azure 连接的 Azure Local 集群中。 该配置结合了本地执行和数据驻留,以及基于 Azure 的管理、监控、计费和混合服务。

对于无法持续连接到 Azure 的环境,请参阅 在 Azure Local 上通过断开连接操作部署 SQL Server。

先决条件

开始前,请确认您具备:

以下工作流程涵盖部署 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

  1. 在 Azure Local 上为你的 SQL Server 工作负载创建 Windows Server 或 Linux 虚拟机。

  2. 按照您操作系统的说明安装SQL Server:

  3. 请审查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 高可用性,以满足工作负载的数据库或实例可用性需求:

对于 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 资源。

  1. 验证Azure Arc 先决条件。
  2. 请通过Connect SQL Server to Azure Arc生成并运行引导脚本。
  3. 确认 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 。