SQL Server virtualizado e ambientes híbridos: Virtualizado + não-virtualizado (licenciamento por processador)
Olá pessoal!
Continuando nossa série sobre licenciamento de SQL Server, lembrando que o que estamos falando aqui se aplica para a versão do SQL Server 2008 R2 (e não necessariamente serão as mesmas para o SQL Denali) e que as regras efetivamente devem ser vistas no PUR – Product Use Rights.
Hoje falaremos de SQL Server em ambientes virtualizados.
Já sabemos que caso eu deseja instalar o SQL Server numa máquina física eu preciso licenciar todos os processadores, ou usar Server/CAL.
Mas e em ambientes virtualizados? A resposta é o famoso: depende!
Primeiramente temos que nos ater a uma tabelinha que diz em quandos OSEs (operational system environments) vamos poder rodar o SQL Server caso compremos licenças por processador para TODOS os processadores.
O que isso quer dizer? Quer dizer que caso licenciemos TODOS os processadores é possível, dependendo da edição, instalar em mais de um ambiente que rode naquela mesma máquina (ambientes virtualizados).
| Edição | Número de OSEs |
| SQL Server 2008 R2 Datacenter | Ilimitado |
| SQL Server 2008 R2 Enterprise | Até 4 por licença |
| SQL Server 2008 R2 Standard | 1 por licença |
| SQL Server 2008 R2 Workgroup | 1 por licença |
| SQL Server 2008 R2 Web | 1 por licença |
Como podem ver é de acordo com a edição do seu SQL Server (saiba quais são as edições aqui).
Isso signica que se eu tenho um servidor com 4 processadores físicos (não importa o número de cores) e licenciei todos os processadores com licença enterprise (4 licenças) eu vou poder subir até 16 máquinas virtuais e com o SQL Server instalado em cada uma delas.
Se eu comprar 4 licenças Datacenter, posso subir ilimitadas (desde que seu hardware suporte) máquinas virtuais!
É importante frisar que há uma limitação técnica do SQL Server Enterprise de suporte a até 8 processadores! Se o servidor possuir mais que 8 processadores físicos, a edição a licenciar deve ser a Datacenter.
Bom Zavaschi… mas quando virtualizo eu posso apresentar um número menor de cores para a minha máquina virtual (hyper-v por exemplo é possível apresentar até 4, isso vai aumentar na próxima versão) e nesse caso eu não vou usar todos os recursos da máquina, preciso licenciar todos os processadores? Mesmo que eu queira saomente uma máquina virtual (1 OSE)?
A resposta é não! Neste caso há uma pequena conta a se fazer para saber o número de licenças por processador que você irá necessitar por OSE.
Vamos lá. A imagem abaixo mostra o SQL Server 2008 R2 rodando em uma máquina com um processador físico (dual core). Neste cenário o número de núcleos importa.
A conta a se fazer é:
# de processadores virtuais dando suporte os OSE virtual
/
# de núcleos (hyperthreading desativado) ou threads (se o hyperthreading estiver ativado) por processador físico
=
# de licenças de Processador necessárias (se de rnúmero fracionado, arredonde para cima)
Se estamos apresentando 2 processadores virtuais para a VM e ela possui dois cores, então a conta fica 2/2 que resulta em uma licença por processador.
Em um cenário maior:
Temos 4 processadores físicos octacore. Apresentamos 4 processadores virtuais para a máquina virtual. São necessárias quantas licenças de processador?
Fazendo a conta: 4 / 8 = 0,5. Logo, 1 licença (mesmo tendo 4 processadores)!
Novamente: isso é por OSE! Se tiver duas máquinas virtuais, cada uma com 4 processadores virtuais, seriam 2 licenças. A tabela abaixo resume o cálculo:
É isso pessoal. Apesar dos cenários e arquiteturas em alguns casos serem complexos, o processo de licenciamento só precisa ser acompanhado com a ótica correta. Aguardo o feedback de vocês!
Abraços,
Thiago Zavaschi
September 8th, 2011 - 14:01
Zavaschi, muito bom assunto.
Obrigado pelas ajudas.
Abraço,
September 22nd, 2011 - 15:30
Otimo post.. Estou usando bastante ele..
August 8th, 2012 - 08:28
Olá, bom dia.
achei muito interessante seu blog, de grande ajuda, mas ainda sim gostaria lhe pedir uma ajuda mais específica. Vou adquirir um servidor com 1 processador de 8 núcleos e a versão standard me atenderia, mas em relação a licença 1 apenas é suficiente? E para um servidor com 2 processadores de 8 núcleos? Não vou virtualizar nada.
Um grande abraço,
Marcelo