My understanding is that for a virtual server, you only need a licence for the number of cores that will be running SQL Server.
By default, SQL Server is set to use all the cores visible to Windows, but you can set processor affinity to use fewer cores. You only need to license the cores you are using.
If you have a host server with 8 cores and define 8 guests each of which are allocated use of 2 cores and you install SQL Server on all these guests and allow them to use all cores visible in Windows, and you license each guest separately, you need to license for 16 cores. However, if you get a SQL Server Data Centre license for this host, then you only need to license for 8 cores.
If you have a host server with 8 cores and you define one guest which is allocated use of all 8 cores and you install SQL Server and allow it to only use 4 cores, you only need to license for 4 cores.
If you have a physical server with 8 cores and you install SQL Server and allow it to only use 4 cores, because this is a physical server you must license for all 8 cores.
If you want your management to sleep well at night knowing they have a valid license for all the SQL Server cores you are using, then follow jasona's advice and get help from a Microsoft Licensing specialist.
Original author: SQL Server FineBuild 1-click install and best practice configuration of SQL Server 2017 2016, 2014, 2012, 2008 R2, 2008 and 2005. 1 Dec 2016
: now over 39,000 downloads.
Disclaimer: All information provided is a personal opinion that may not match reality.
Quote: "When I give food to the poor they call me a saint. When I ask why they are poor they call me a communist." - Archbishop Hélder Câmara