SQL Server 2016 | MS Exam According to Microsoft computation here:


  The maximum compute capacity usage by one instance is limited to the
  lesser of 4 sockets or 24 cores.


To me a socket is the recepticle where a CPU is seated. In which case a socket and a core count aren't always equivalent. I know some motherboards can have multiple sockets but nowadays with the high core count on server CPUs this isn't the case normally.

Can anyone explain what this means?

(doing my Microsoft 70-762 developing SQL databases exam)
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.