Note that this only applies to Standard Edition.
Assume you have four sockets in the motherboard. If each of those sockets is populated with a CPU with more than six cores, SQL Server Standard Edition will not use the additional cores, but take care. It does something really ugly:
- CPU 1: 8 cores (all used) - running total 8
- CPU 2: 8 cores (all used) - running total 16
- CPU 3: 8 cores (all used) - running total 24
- CPU 4: 8 cores (none used) - you will still have to license these and the load will be unbalanced.
Another scenario, with two sockets:
- CPU 1: 16 cores (all used) - running total 16
- CPU 2: 16 cores (8 used) - running total 24
In this second scenario the cores are also unbalanced (meaning it won't spread the load evenly across NUMA nodes), and you'll still have to pay for the 8 remaining cores even though you can't use them.
If you have no say in the purchasing of hardware, you can mitigate this balancing problem by running Standard Edition in a virtual machine, and assigning the right number of vCPUs accordingly.