什么是实例池? Azure SQL 托管实例 -

applies to:Azure SQL Managed Instance

本文概述了适用于 Azure SQL Managed Instance 的实例池部署选项,这将为客户带来大量节省成本的好处。

通过使用实例池,可以部署多个共享资源的实例。 此设置提供了一个方便且经济高效的基础结构,用于从SQL Server实例迁移多个数据库。 它消除了将较小的、计算需求较少的工作负荷合并到更大的 SQL Managed Instance 的需求。

若要开始,请参阅 “创建实例池”。

概述

通过使用Azure SQL Managed Instance中的实例池,可以在 virtual 群集中的单个基础虚拟机上部署多个共享资源的实例

实例池提供以下核心优势:

  • 能够托管 2-vCore 实例,这些实例仅在实例池中可用。
  • 可预测且快速的实例部署时间(最多 10 分钟)。
  • 迁移多个 SQL Server 实例时的节省成本基础架构。

下图演示了一个实例池,其中多个托管实例部署到虚拟网络子网中的虚拟群集:

单个池中有多个实例的实例池关系图。

有什么新鲜事吗?

2024 年 11 月提供以下功能:

  • 创建池、在池中创建实例,并在Azure门户中修改池配置设置。
  • 使用 PowerShell 或Azure CLI更新池配置设置,例如计算大小、许可证和属性。
  • 支持高级系列硬件。
  • 使用 PowerShell 或Azure CLI将实例移入和移出池。

Architecture

实例池具有与单个托管实例类似的体系结构。 为了支持 Azure 虚拟网络中的 部署并为客户提供隔离和安全性,实例池还依赖于 虚拟群集。 虚拟群集表示一组专用的独立虚拟机,这些虚拟机部署在客户的虚拟网络子网中。 同一子网中的所有单个实例和实例池都属于同一虚拟群集。 池中的实例具有分配给SQL Server进程和网关组件的计算资源,以确保可预测的性能。 初始池部署后,池中实例的管理操作速度更快,因为 SQL 进程是在服务已预配的计算资源上创建的。

虚拟机的计算规格基于分配给池的 vCore 总数,该服务在池中的各个实例之间进行分配。 此体系结构允许将虚拟机 分区 为多个实例,这些实例可以是任何受支持的大小,包括 2 个 vCore(实例池独占)。 例如,部署 8-vCore 实例池时,可以部署两个 2-vCore 和一个 4-vCore 实例。 然后,可以将SQL Server数据库迁移到池中的实例。 由于实例池支持本机虚拟网络集成,因此可以将多个实例池以及多个单个实例部署到同一子网。

实例池提供高级别的隔离,因为每个实例在基础主机虚拟机上获取专用的 vCPU。 与单个托管实例相比,实例池部署模型的主要区别在于,通过使用实例池,在同一虚拟机中创建多个SQL Server进程。 服务资源通过使用 Windows 作业对象来管理这些进程。 如果进程级隔离不够,请考虑使用单个实例而不是实例池。 单个实例在虚拟机节点上只有一个SQL Server进程,它提供 VM 级隔离。

下图说明了两种部署模型之间的主要体系结构差异:

显示虚拟群集中的实例池和两个独立实例的图示。

应用场景

对于以下场景,考虑使用实例池:

  • 同时迁移一组小型SQL Server实例,其中实例为 2 个或 4 个 vCore。
  • 需要 快速且可预测的实例创建或缩放。 例如,在需要实例级功能的多租户 SaaS 应用程序环境中部署新租户。
  • 具有 固定成本支出限制 非常重要。 例如,运行固定(或不经常变化)大小的共享开发测试或演示环境,当需要时定期部署托管实例。

实例池适用于迁移多个SQL Server实例。 根据总迁移要求预先预配共享计算资源时,可以在迁移后降低总拥有成本。 例如,假设将四个小本地SQL Server实例迁移到Azure SQL Managed Instance。 如果没有实例池,将预配四个单独的单个 SQL 托管实例,每个实例至少包含 4 个 vCore,所有这些实例都具有自己的专用资源。 实例池可降低此成本,因为可以将包含 2 个 vCore 的所有实例部署到池中,其中资源由池共享。

实例和池属性

你可以在池级别为池中的所有实例配置以下属性:

此外,请注意以下几点:

  • 在池中创建的 SQL 托管实例支持单个 托管实例可用的相同兼容性级别和功能
  • 在实例级别配置可选功能或需要选择特定值的功能(如实例级排序规则、时区、数据流量的公共终结点、故障转移组等)。 池中的每个实例可以具有不同的值。
  • 由于部署到池的实例共享同一虚拟机,因此请考虑禁用引入更高安全风险的功能。 若要牢牢控制对这些功能的访问控制,请禁用 CLR 集成、本机备份和还原、Database Mail等功能。
  • 可以将SQL Managed Instance配置为在添加到池之前或之后使用 Microsoft Entra 身份验证
  • 在池中部署的每个 SQL 托管实例都有单独的SQL Server Agent。

资源限制

将实例部署到池时,单个共用实例具有限制,而整个池对资源使用情况有限制。

下表详细列出了共用实例和池的各项限制:


池限制 共用实例限制
服务层级 常规用途 常规用途
硬件层 标准系列(Gen5)
高级系列
标准系列(Gen5)
高级系列
vCore 数量1 8-16-24-32-40-64-80 2-4-8-16-24-32-40-64-80
最大存储 32 TB2 640 GB,适用于 2 个 vCore
2 TB 存储用于 4 个 vCore
每 8 个 vCore 配备 8 TB
-16 TB(适用于 16 个以上的 vCore)
最大数据库数 500 - 50 用于 2 个 vCores
- 100 表示 4 个以上的 vCore
最大实例数 40 N/A

共用 实例的 1 个 vCore 选项取决于实例池中的可用 vCore 数。
2 池存储限制由池中所有实例的存储总和决定。

有关所有其他实例级限制,请参阅 资源限制

性能注意事项

尽管池中的 SQL 托管实例具有专用 vCore 和 RAM,但它们共享本地磁盘(适用于 tempdb)和网络资源。 尽管不太可能,但当池中的多个实例同时消耗大量资源时,可能会出现干扰邻居效应。

如果遇到此行为,请考虑增加池大小或重新部署高消耗实例作为池外部的单个实例。

实例池计费

实例池可帮助你独立缩放计算和存储。 你支付:

  • 分配给池的计算,以虚拟核心(vCore)为单位。
  • 与每个实例关联的存储(以 GB 为单位)(每个实例前 32 GB 是免费的)。

无论部署到该池的实例数如何,都会为池支付 vCore 价格。 不能为池中的单个实例设置不同的定价选项。 池中的所有实例都必须使用相同的许可模型。 创建池后,可以更改池的许可证模型。

计算价格(以 vCore 为单位)取决于是否支付完整的SQL Server许可证价格。 有两种价格选项:

  • License included:价格已包含SQL Server许可证。
  • Azure Hybrid Benefit:一种包括 SQL Server 的 Azure Hybrid Benefit 的降价优惠。 若要使用此价格,必须具有具有软件保障的现有SQL Server许可证。

有关完整的实例池定价详细信息,请参阅 SQL Managed Instance 定价页上的 instance 池部分。

局限性

若要了解详细信息,请参阅 实例池限制

后续步骤