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)

  • I think i just got it sorry... you can have 4 sockets with CPUs running 6 cores each or 1 CPU running 24 cores. – ResoundingBoom Nov 29 '19 at 22:59

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.