按 SQL Server 版本计算容量限制

本主题讨论不同版本的 SQL Server 2014 的计算容量限制,以及它们在具有超线程处理器的物理和虚拟化环境中的差异。

计算容量限制的映射

下表描述了上图中使用的表示法:

价值 DESCRIPTION
0..1 零个或 1 个
1 恰好一个
1..* 一个或更多
0..* 零个或更多
1..2 1 个或 2 个

重要

进一步详细阐述:

  1. 虚拟机分配了一个或多个虚拟处理器。

  2. 一个或多个虚拟处理器被分配给恰好一个虚拟机。

  3. 零个或一个虚拟处理器映射到零个或多个逻辑处理器。 虚拟处理器到逻辑处理器映射时:

    • 一对零表示未被来宾操作系统使用的未绑定逻辑处理器。
    • 一对多,它表示过度承诺。
    • 从零到多,它表示主机系统上缺少虚拟机,因此 VM 不使用逻辑处理器。
  4. 插槽映射到零个或多个内核。 当套接字到处理器核心的映射为:

    • 一对零,它表示空套接字(未安装芯片)。
    • 一对一,它表示安装在套接字中的单核芯片(这些天非常罕见)。
    • 一对多关系表示安装在插槽中的多核处理器(典型值为 2、4、8)。
  5. 内核映射到一个或两个逻辑处理器。 当核心到逻辑处理器映射为:

    • 一对一,超线程关闭。
    • 一对二,超线程已开启。

以下定义适用于本主题中使用的术语:

  • 从 SQL Server、作系统、应用程序或驱动程序的角度来看,线程或逻辑处理器是一个逻辑计算引擎。

  • 核心是一个处理器单元,可以包含一个或多个逻辑处理器。

  • 物理处理器可包含一个或多个内核。 物理处理器与处理器封装或插座相同。

具有多个物理处理器或具有具有多个内核和/或超线程的物理处理器的系统使作系统能够同时执行多个任务。 每个执行线程都显示为一个逻辑处理器。 例如,如果你有一台具有两个启用了超线程的四核处理器的计算机,并且每个核心有两个线程,则有 16 个逻辑处理器:每个处理器 2 个处理器 x 4 个内核,每个核心 2 个线程。 值得注意的是:

  • 在启用超线程的核心中,单个线程的逻辑处理器的计算容量小于在同一核心中禁用超线程时的逻辑处理器的计算容量。

  • 但是,超线程核心中 2 个逻辑处理器的计算容量大于禁用了超线程的同一核心的计算容量。

每个 SQL Server 版本都有以下两种计算能力限制:

  1. 最大插槽数(与物理处理器或插槽或处理器封装相同)。

  2. 操作系统报告的最大核心数。

这些限制适用于单个 SQL Server实例。 它们表示单个实例将使用的最大计算容量。 它们不会限制可以部署实例的服务器。 事实上,在同一物理服务器上部署 SQL Server 的多个实例是使用物理服务器的计算容量比以下容量限制更多的套接字和/或核心的有效方法。

下表指定每个版本的 SQL Server 2014 的单个实例的计算容量限制:

SQL Server 版本 单个实例使用的最大计算容量(SQL ServerDatabase 引擎) 单个实例使用的最大计算容量(AS、RS)
Enterprise Edition:基于核心的许可1 操作系统支持的最大值 操作系统支持的最大值
开发 人员 操作系统支持的最大值 操作系统支持的最大值
评估 操作系统支持的最大值 操作系统支持的最大值
商业智能 限制为 4 个套接字或 16 个核心中较少者 操作系统支持的最大值
标准 限制为 4 个套接字或 16 个核心中较少者 限制为 4 个套接字或 16 个核心中较少者
网络 限制为 4 个套接字或 16 个核心中较少者 限制为 4 个套接字或 16 个核心中较少者
特快 限制为较小的配置:1 个套接字或 4 个核心。 限制为较小的配置:1 个套接字或 4 个核心。
用工具表达 限制为较小的配置:1 个套接字或 4 个核心。 限制为较小的配置:1 个套接字或 4 个核心。
包括高级服务的 Express 限制为较小的配置:1 个套接字或 4 个核心。 限制为较小的配置:1 个套接字或 4 个核心。

1 对于 Enterprise Edition 配合基于服务器 + 客户端访问许可证 (CAL) 的许可(对新协议不可用),每个 SQL Server 实例的内核数上限为 20。 基于内核的服务器许可模型没有限制。

在虚拟化环境中,计算容量限制基于逻辑处理器数,而不是核心数,因为处理器体系结构对来宾应用程序不可见。 例如,一台配备四个插槽并装有四核处理器的服务器,每个核心可以启用两个超线程,在启用超线程的情况下包含32个逻辑处理器,但在禁用超线程的情况下仅包含16个逻辑处理器。 这些逻辑处理器可以映射到服务器上的虚拟机,该逻辑处理器上的虚拟机计算负载映射到主机服务器中物理处理器上的执行线程。

当每个虚拟处理器的性能很重要时,可能需要禁用超线程。 在 BIOS 设置中,可以启用或禁用处理器的超线程功能,但这通常是一个面向服务器的操作,会影响服务器上运行的所有工作负载。 这可能建议将虚拟化环境中运行的工作负荷与受益于物理作系统环境中的超线程性能提升的工作负荷分开。

另请参阅

SQL Server 2014 的版本和组件
SQL Server 2014 各个版本支持的功能
SQL Server 的最大容量规范
Quick-Start SQL Server 2014 安装