Una vCPU solo se puede asignar a una sola CPU física. No puede tomar 4 CPU físicas y hacer una sola vCPU que sea 4 veces más rápida; simplemente no es cómo funciona.
Hyper-V se limita a asignar 4 vCPU a una VM (la última vez que lo verifiqué). Si necesita una potencia de CPU significativa, vaya a lo físico, no tiene sentido agregar sobrecarga de virtualización a algo que CPU intensivo y paralelo en primer lugar.
Además, como señala Holocryptic, si asigna 4 vCPU a una VM, esa VM no puede ejecutarse hasta que Hyper-V haya adquirido 4 núcleos físicos de CPU para ejecutarlos. Dependiendo de su configuración, esto podría ser un obstáculo importante (por ejemplo, si tiene una máquina de 6 núcleos con un montón de 4 máquinas virtuales de vCPU, solo una se ejecutará a la vez, los otros dos núcleos siempre quedarán esencialmente sin usar). Según Jake Oshins, esto no era cierto para ninguna versión de Hyper-V. Afirma que Hyper-V no utiliza la programación de pandillas para la CPU; como lo hace casi cualquier otro hipervisor. En consecuencia, si hay un núcleo de CPU físico disponible, Hyper-V puede usarlo para ejecutar una VM de CPU múltiple. (También se menciona que Hyper-V puede no usar todos los núcleos físicos disponibles en el momento debido a la partición NUMA)
Nota al margen: SQL no necesariamente usa todos los núcleos que puede lanzar en primer lugar. Es realmente depende de lo que lo está utilizando y cómo la carga es paralelizable.