SPLA

Services Provider License Agreement

Overview

Licensing by Physical Core on a Server


My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
If you have a 6-core processor, you need 6 core licenses. If you have a 4-core processor, you need 4 core licenses. If you have a 2-core processor, you still need 4 core licenses.

My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
You can still deploy any "down edition" (e.g. Standard Edition) in a Virtual OSE as long as the physical cores are licensed for Enterprise Edition.
If you license all physical cores for Standard Edition, then all instances must run as "stacked" instances within a single OSE (i.e. they cannot run in individual virtual machines) or, to use SE under Type 2 Virtualisation or Containerisation, you need to license all virtual cores (minimum 4-core licenses per VM).

Licensing by Individual Virtual OSE

The number of Licenses required equals the number of Virtual Cores in the Virtual OSE, subject to a minimum of four License per Virtual OSE. (1)


My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
If you have a VM with 6 logical processors, you need 6 core licenses. If you have a 4 logical processors, you need 4 core licenses. If you have a 2 logical processors, you still need 4 core licenses.

If any Virtual Core is at any time mapped to more than one Hardware Thread, Customer needs a License for each Hardware Thread to which it is mapped. (1)


My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
If hyperthreading is enabled you still need to license every logical processor. e.g A 4-core processor with hyperthreading 

In a virtualized environment, the compute capacity limit is based on the number of logical processors, not cores (2)


My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
Standard Edition for SQL2019 is limited to 4 sockets or 24 cores. In a virtualised environment with hyperthreading enabled, this means 24 logical processors (with 2 threads, this would mean the limit is actually 12 physical cores). 

Licensing by User

My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
If database access was based on membership of a particular domain group, you would need a SAL for every member of that group (and you would need to carefully manager leavers and starters).
If an application accesses the database via an application service account then you need a SAL for every user of that application. This may work were each user has their own application login (but, again, you would need to carefully manaage leavers and starters). If it's an application that doesn't require a user account or when account creation can be instigated by the end user then licensing by user may not be the model for you.

HA / DR

SPLA does not include Software Assurance but it does include certain Software Assurance benefits. 

Developer Edition

If you do internal development, that’s non production.  If you host a dev environment for the benefit of your customer, now that is software as a service and would be considered production. (4)

My interpretation of this (but you should confirm with Microsoft or your preferred reseller before relying on this intepretation)...
You can use Developer Edition for non-production database instances as long as they are only used by the customer (or you working on behalf of your customer) for development and testing. Production workloads need a paid license. Production workloads include revenue related workloads and customer (i.e. your customer's customer) facing workloads whether revenue related or not (i.e. UAT can use Developer Edition unless your customer's customers login and test on the UAT environment).   

Reporting

Bibliography & References