Uma vCPU só pode ser mapeada para uma única CPU física. Você não pode pegar 4 CPUs físicas e fazer uma única vCPU 4x mais rápida; Não é assim que funciona.
O Hyper-V está limitado a atribuir 4 vCPUs a uma VM (última que verifiquei). Se você precisar de um poder de CPU significativo, seja físico, não faz sentido adicionar sobrecarga de virtualização a algo que consome muita CPU e paralelamente em primeiro lugar.
Além disso, como observa Holocryptic, se você atribuir 4 vCPUs a uma VM, essa VM não poderá ser executada até que o Hyper-V tenha adquirido 4 núcleos de CPU física para executá-los. Dependendo de sua configuração, isso pode ser um grande obstáculo (por exemplo, se você tiver uma máquina de 6 núcleos com um monte de 4 VMs de vCPU, somente uma delas será executada por vez, os outros dois núcleos sempre serão essencialmente não usado). De acordo com Jake Oshins isso não era verdade para qualquer versão do Hyper -V. Ele afirma que o Hyper-V não usa o agendamento de gangues para a CPU; como quase todos os outros hipervisores fazem. Assim, se um núcleo de CPU fístico estiver disponível, o Hyper-V poderá usá-lo para executar uma VM com várias CPUs. (Também mencionado, o Hyper-V não pode usar todos os núcleos físicos disponíveis no momento devido ao particionamento NUMA)Nota: O SQL não usa necessariamente todos os núcleos que você pode usar em primeiro lugar. realmente depende do que você está usando e como é paralelizável a carga.