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 Server许可证,如 Azure Hybrid Benefit
- 维护时段
此外,请注意以下几点:
- 在池中创建的 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 池部分。
局限性
若要了解详细信息,请参阅 实例池限制。