Recently, there are lots of questions about SQL licenses, many of them came from the fact that they starting to upgrade to 2012/2014 from their old 2005 servers as they are going to be end of life in 2016. As the major confusion was the changes made in licensing from 2008 R2 to 2012, where from 2012 onward, per socket license is no longer available, and it replaced by core licensing instead. I will only discuss about the 2 mainstream editions: Enterprise and Standard to keep it simple. Let me outline what you need to look out for below:
- Standard edition will have a hard limit for lesser of 4 sockets or 16 cores with 64 GB of RAM for SQL 2012, where SQL 2014 can take up to 128 GB RAM. It applies to both Server/CAL and Core licensing model.
- Enterprise Edition will only have Core licensing model (with the exception of software assurance (SA) upgrade where you can use up to 20 cores)
- Core licensing model only have to count physical cores, Hyper-threading does not count!
- Core licenses are sold in 2 core packs
- Passive server (standby cluster node or DR server) can be cover by software assurance (SA), where one SQL license with SA can cover one passive server. E.g. If you have a 3-node cluster with only 1 active SQL instance, you still require 2 licenses!
- Passive server means no querying on that server, backup or DBCC is considered as querying the server!
- Minimal of 4 cores licenses per server is required.
- If you use SQL Enterprise edition with SA on virtual machine, you have the option to license the hypervisor (all the cores) which gives you unlimited SQL server VMs on that hypervisor. Or you can license each virtual machine if you have a mixture of VMs.
This should help you answer most of the questions about SQL licensing, please do contact Microsoft if you are in doubt about licensing.