Being charged per core is a rip-off due to the decrease in performance as each successive core is utilized.
For instance utilizing all 8 cores on an 8 core processor is negligibly faster than only utilizing 6 cores. Hence the license paid on the last two cores is a waste of money.
In this case you set the processor affinity to only use 6 cores, as then only buy 6 x core licenses. Regardless of what you have however, you always need to start with a min of 4 cores to fit the current licensing model. I feel that this is outdated, as MS are in a way using a legacy model of 1 processor = 4 cores, which in this virtual world that we now operate in is not really fit for purpose!
We have some very low use, dedicated application SQL VM's which only require 2 vcpu's... however we have to buy 4 core licenses for it and cannot use CPU affinity due to the licensing model that is currently in place!
I feel that the rule of buying 2 x core packs, but starting with a min of 2 of these packs should be changed to just allowing you to purchase in 2 core packs regardless... phew!!
All non production environments should be covered by MSDN (subscription in place of course), regardless of either STD or EE, however for EE in QA/Dev, you can always use Developer Edition.
Then there are of course the nuances with virtualization and license mobility, for which you must have Software Assurance unless you don't mind falling into the 90 day rule. To "SA" or not to "SA", that is the question?
It is a very complicated subject, something which I have recently spent a lot of time working on and something that I feel could be simplified... especially where it comes to legacy servers built pre September 2012, that were not "cashed in" for equivalent core licenses at the time, which you now need to move to a newer platform.
Originally purchased without "SA" meaning that you can re-use these processor licenses per say in a newer platform regardless of cores, however if originally purchased with "SA"... then you can't as need to convert each proc into 4 cores, which could potentially create a shortfall in cover and incur a cost!
There are licensing boot camps, which speaks volumes about the levels of complexity.
Lead level SQL DBA currently working for a well established Insurance organisation in London.