Uma vCPU pode ser mapeada apenas para uma única CPU física. Você não pode pegar 4 CPUs físicas e criar uma única vCPU 4x mais rápida; simplesmente não é assim que funciona.
O Hyper-V é limitado à atribuição de 4 vCPUs a uma VM (a última vez que verifiquei). Se você precisar de energia significativa da CPU, vá físico, não faz sentido adicionar sobrecarga de virtualização a algo que consome muita CPU e paralela em primeiro lugar.
Além disso, como observa a Holocript, 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 físicos de CPU para executá-los. Dependendo da sua configuração, isso pode ser um grande obstáculo (por exemplo, se você tiver uma máquina de 6 núcleos com várias VMs de vCPU, apenas uma será executada por vez, os outros dois núcleos sempre serão essencialmente não utilizados). Segundo Jake Oshins, isso não era verdade para nenhuma versão do Hyper-V. Ele afirma que o Hyper-V não usa agendamento de grupo para a CPU; como quase todos os outros hipervisores. Portanto, se um núcleo físico da CPU estiver disponível, o Hyper-V poderá usá-lo para executar uma VM com várias CPUs. (Também mencionado, o Hyper-V pode não usar todos os núcleos físicos disponíveis no momento devido ao particionamento NUMA)
Nota lateral: o SQL não usa necessariamente todos os núcleos que você pode usar em primeiro lugar. Ela realmente depende do que você está usando para isso e como paralelizável a carga é.