Computar limites de capacidade por edição do SQL Server

Aplica-se a: simSQL Server (todas as versões compatíveis)

Este artigo discute os limites de capacidade de computação das edições diferentes do SQL Server e quais suas diferenças em ambientes físicos e virtuais com processadores com hyperthreading.

Mapeamentos para calcular limites de capacidade

Esta tabela descreve as notações do diagrama anterior:

Valor Descrição
0..1 Zero ou um
1 Exatamente um
1..* Um ou mais
0..* Zero ou mais
1..2 Um ou dois

Importante

Para elaborar mais:

  • Uma VM (máquina virtual) tem um ou mais processadores virtuais.
  • Uma ou mais processadores virtuais são alocados a exatamente uma máquina virtual.
  • Zero ou um processador virtual é mapeado para zero ou mais processadores lógicos. Quando o mapeamento dos processadores virtuais para os processadores lógicos é:
    • Um para zero, representa um processador lógico não associado não usado pelos sistemas operacionais convidados.
    • Um para muitos, representa uma superconfirmação.
    • Zero para muitos, representa a ausência de máquina virtual no sistema host. Portanto, as VMs não usam nenhum processador lógico.
  • Um soquete é mapeado para zero ou mais núcleos. Quando o mapeamento do soquete para núcleo é:
    • Um para zero, representa um soquete vazio. Não há chip instalado.
    • Um para um, representa um chip de núcleo único instalado no soquete. Esse mapeamento é raro nos dias atuais.
    • Um para muitos, representa um chip de vários núcleos instalado no soquete. Os valores típicos são 2, 4 e 8.
  • Um núcleo é mapeado para um ou dois processadores lógicos. Quando o mapeamento dos núcleos cores para os processadores lógicos é:
    • Um para um, o hyperthreading está desativado.
    • Um para dois, o hyperthreading está ativado.

As definições a seguir aplicam-se aos termos usados neste artigo:

  • Um thread ou processador lógico é um mecanismo de computação lógico da perspectiva do SQL Server, do sistema operacional, de um aplicativo ou de um driver.

  • Um núcleo é uma unidade de processador. Ele pode consistir em um ou mais processadores lógicos.

  • Um processador físico pode consistir em um ou mais núcleos. Um processador físico é o mesmo que um pacote de processadores ou um soquete.

Os sistemas com mais de um processador físico ou sistemas com processadores físicos que têm vários núcleos e/ou hyperthreads permitem que o sistema operacional execute várias tarefas simultaneamente. Cada thread de execução aparece como um processador lógico. Por exemplo, se você tiver um computador com dois processadores com núcleo quádruplo, hyperthreading habilitado e dois threads por núcleo, você terá 16 processadores lógicos: 2 processadores x 4 núcleos por processador x 2 threads por núcleo. Vale a pena observar que:

  • A capacidade de computação de um processador lógico de um único thread de um núcleo hyper-threaded é menor que a capacidade de computação de um processador lógico daquele mesmo núcleo com hyperthreading desabilitado.

  • A capacidade de computação dos dois processadores lógicos no núcleo com hyperthreading é maior que a capacidade de computação do mesmo núcleo com o hyperthreading desabilitado.

Cada edição do SQL Server tem dois limites de capacidade de computação:

  • Um número máximo de soquetes (ou de processadores físicos ou de pacotes de processadores)

  • Um número máximo de núcleos como relatado pelo sistema operacional

Esses limites se aplicam a uma única instância do SQL Server. Eles representam a capacidade máxima de computação que uma única instância usará. Eles não restringem o servidor em que a instância pode ser implantada. Na verdade, implantar várias instâncias do SQL Server no mesmo servidor físico é um modo eficiente de usar a capacidade de computação de um servidor físico com mais soquetes e/ou núcleos que os permitidos pelos limites de capacidade.

A tabela a seguir especifica os limites de capacidade de computação para uma única instância de cada edição do SQL Server:

SQL Server edição Capacidade máxima de computação para uma única instância (SQL ServerMecanismo de Banco de Dados) Capacidade máxima de computação para uma única instância (AS, RS)
Edição Enterprise: Licenciamento baseado em núcleo* Máximo do sistema operacional Máximo do sistema operacional
Desenvolvedor Máximo do sistema operacional Máximo do sistema operacional
Standard Limitado a menos de 4 soquetes ou 24 núcleos Limitado a menos de 4 soquetes ou 24 núcleos
Express Limitado a menos de 1 soquete ou 4 núcleos Limitado a menos de 1 soquete ou 4 núcleos

*O licenciamento Enterprise Edition com servidor + CAL (licença de acesso para cliente) limita-se a 20 núcleos por instância do SQL Server. (Esse licenciamento não está disponível para novos contratos.) Não há limites no modelo de Licenciamento de Servidor Baseado em Núcleo.

Em um ambiente virtualizado, o limite de capacidade de computação é baseado no número de processadores lógicos, e não de núcleos. O motivo é que a arquitetura dos processadores não é visível aos aplicativos convidados.

Por exemplo, um servidor com quatro soquetes preenchidos com processadores com núcleo quádruplo e com a capacidade para habilitar dois hyperthreads por núcleo contém 32 processadores lógicos com o hyperthreading habilitado. No entanto, ele contém só 16 processadores lógicos com o hyperthreading desabilitado. Esses processadores lógicos podem ser mapeados para máquinas virtuais no servidor. A carga de computação das máquinas virtuais nesse processador lógico é mapeada para um thread de execução no processador físico no servidor host.

Quando o desempenho de cada processador virtual for importante, você poderá desabilitar o hyperthreading. Você pode habilitar ou desabilitar o hyperthreading usando uma configuração do BIOS para o processador durante a instalação do BIOS. No entanto, isso normalmente é uma operação com escopo do servidor que afetará todas as cargas de trabalho em execução no servidor. Isso pode sugerir separar as cargas de trabalho que serão executadas em ambientes virtualizados daquelas que se beneficiariam do aumento de desempenho do hyperthreading em um ambiente de sistema operacional físico.

Confira também

Edições e componentes do SQL Server 2016
Recursos compatíveis nas edições do SQL Server 2016
Especificações de capacidade máxima do SQL Server
Instalação de Início Rápido do SQL Server 2016

Obter ajuda

Contribua com a documentação do SQL

Você sabia que pode editar conteúdo do SQL por conta própria? Ao fazer isso, além de melhorar nossa documentação, você também será creditado como um colaborador da página.

Para obter mais informações, confira Como contribuir para a documentação do SQL Server