Límites de la capacidad de cálculo de cada edición de SQL Server

Se aplica a:SQL Server

En este artículo se describen los límites de la capacidad de cálculo para las ediciones de SQL Server y sus diferencias en entornos físicos y virtualizados con los procesadores de multithreading simultáneos (SMT). En las CPU de Intel, SMT se denomina Hyper-Threading.

Diagram showing the mappings to compute capacity limits.

En esta tabla se describen las notaciones del diagrama anterior:

Value Descripción
0..1 Cero o uno
1 Exactamente uno
1..* Uno o más
0..* Cero o más
1..2 Uno o dos

Información ampliada:

  • Una máquina virtual tiene uno o varios procesadores virtuales.
  • Uno o más procesadores virtuales se asignan exactamente a una máquina virtual.
  • Cero o un procesador virtual se asigna a cero o más procesadores lógicos. En la asignación de procesadores virtuales a procesadores lógicos:
    • Uno a cero: representa un procesador lógico desenlazado no utilizado por los sistemas operativos invitados.
    • Uno a muchos: representa un esfuerzo excesivo.
    • Cero a muchos: representa la ausencia de máquinas virtuales en el sistema host. Las máquinas virtuales no usan ningún procesador lógico.
  • Un socket se asigna a cero o más núcleos. En la asignación de socket a núcleo:
    • Uno a cero: representa un socket vacío. No se instala ningún chip.
    • Uno a uno: representa un único chip de núcleo instalado en el socket. Esta asignación es poco frecuente hoy en día.
    • Uno a muchos: representa un chip de varios núcleos instalado en el socket. Los valores típicos son 2, 4 y 8.
  • Un núcleo se asigna a uno o dos procesadores lógicos. En la asignación de núcleos a procesadores lógicos:
    • Uno a uno: SMT está desactivado.
    • Uno a dos: SMT está activado.

Las definiciones siguientes se aplican a los términos usados en este artículo:

  • Un subproceso o procesador lógico es un motor de cálculo lógico desde la perspectiva de SQL Server, el sistema operativo, una aplicación o un controlador.

  • Una núcleo es una unidad de procesador. Puede constar de uno o varios procesadores lógicos.

  • Un procesador físico puede estar formado por uno o varios núcleos. Un procesador físico es igual que un paquete de procesadores, o socket.

Los sistemas con más de un procesador físico o con procesadores físicos que tienen varios núcleos y/o SMT permiten al sistema operativo ejecutar varias tareas simultáneamente. Cada subproceso de ejecución aparece como procesador lógico. Por ejemplo, si su equipo tiene dos procesadores de cuatro núcleos con la función SMT habilitada y dos subprocesos por núcleo, tiene 16 procesadores lógicos: 2 procesadores x 4 núcleos por procesador x 2 subprocesos por núcleo. Merece la pena mencionar que:

  • La capacidad de cálculo de un procesador lógico de un solo subproceso de un núcleo SMT es menor que la capacidad de cálculo de un procesador lógico del mismo núcleo con SMT deshabilitado.

  • Sin embargo, la capacidad de cálculo de los dos procesadores lógicos del núcleo SMT es mayor que la capacidad de cálculo del mismo núcleo con SMT deshabilitado.

Cada edición de SQL Server tiene dos límites de capacidad de cálculo:

  • Un número máximo de sockets (o procesadores físicos o paquetes de procesador)

  • Un número máximo de núcleos de los que ha informado el sistema operativo

Estos límites se aplican a una sola instancia de SQL Server. Representan la capacidad máxima de cálculo que usa una sola instancia. No restringen el servidor en el que se puede implementar la instancia. De hecho, implementar varias instancias de SQL Server en el mismo servidor físico es una manera eficaz de usar la capacidad de procesamiento de un servidor físico con más sockets o núcleos que los límites de capacidad siguientes.

En la siguiente tabla se especifican los límites de la capacidad de cálculo para una sola instancia de cada edición de SQL Server:

Edición deSQL Server Capacidad máxima de cálculo para una sola instancia (Motor de base de datos de SQL Server) Capacidad máxima de cálculo para una sola instancia (AS, RS)
Enterprise Edition: licencia basada en núcleo 1 Sistema operativo máximo Sistema operativo máximo
Desarrollador Sistema operativo máximo Sistema operativo máximo
Estándar Limitada a menos de 4 sockets o 24 núcleos Limitada a menos de 4 sockets o 24 núcleos
Express Limitada a menos de 1 socket o 4 núcleos Limitada a menos de 1 socket o 4 núcleos

1 La licencia Enterprise Edition con licencia de servidor y acceso de cliente (CAL) está limitada a 20 núcleos por instancia de SQL Server. Esta concesión de licencias no está disponible para nuevos contratos. No hay ningún límite en el modelo de licencias de servidor basado en núcleos.

Nota:

SQL Server limita el número de procesadores lógicos por nodo NUMA a 64. En servidores con más de 64 procesadores lógicos por nodo NUMA, puede usar una configuración de BIOS/firmware para cambiar el número de nodos NUMA por socket físico presentado al sistema operativo, para limitar a un máximo de 64 procesadores lógicos.

En un entorno virtualizado, el límite de capacidad de cálculo se basa en el número de procesadores lógicos, no de núcleos. Esto se debe a que la arquitectura de procesador no es visible para las aplicaciones invitadas.

Por ejemplo, un servidor con cuatro sockets poblados con procesadores de cuatro núcleos y la capacidad de habilitar dos subprocesos SMT por núcleo contiene 32 procesadores lógicos con SMT habilitado, pero solo 16 procesadores lógicos con SMT deshabilitado. Estos procesadores lógicos se pueden asignar a las máquinas virtuales del servidor. La carga de cálculo de las máquinas virtuales de este procesador lógico se asigna a un subproceso de ejecución en el procesador lógico del servidor host.

Puede que quiera deshabilitar SMT cuando el rendimiento de cada procesador virtual sea importante. El SMT se puede habilitar o deshabilitar mediante la configuración del BIOS del procesador durante la instalación del BIOS, pero normalmente es una operación de ámbito de servidor que afectará a todas las cargas de trabajo que se ejecutan en el servidor. Puede considerar el separar las cargas de trabajo que se ejecutan en entornos virtualizados de aquellas que se beneficiarían de aumentar el rendimiento de SMT en un entorno físico del sistema operativo.

Obtener ayuda

Contribuya a la documentación de SQL

¿Sabía que puede editar el contenido de SQL usted mismo? Si lo hace, no solo contribuirá a mejorar la documentación, sino que también se le reconocerá como colaborador de la página.

Para más información, vea Cómo colaborar en la documentación de SQL Server.