SPLA
Services Provider License Agreement
Overview
Monthly licensing
3-year term
Must be a member of the Microsoft Partner Network
Comply with Service Provider Use Rights (SPUR)
Provide monthly reporting
Must download from VLSC (to ensure you get a Volume License Product Key)
With SPLA, service providers only have to pay for the licenses consumed by their customers. (3)
There is, however, a requirement to report consumption of at least $100 per month. (3)
You may only provide SPLA licenses with software services. You may not resell them or provide them without services. (3)
You must include end-user license terms in all your client contracts. (3)
SPLA does not prevent you using Developer Edition for non-production database instances
Licensing by Physical Core on a Server
The number of Licenses required equals the number of Physical Cores on the Licensed Server subject to a minimum of four per core Licenses per Physical Processor. (1)
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.
For enterprise editions, Customer may use any number of Running Instances of the server software on the Licensed Server in the Physical OSE and/or any number of Virtual OSEs. (1)
For other editions Customer may use any number of Running Instances of the server software only in the Physical OSE on the Licensed Server. (1)
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
Applicable only to SQL Server Standard Edition
Each user needs a Subscriber Access License (SAL)
You must pay for every user with potential access, even if they do not use the software. (3)
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)
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
You must report all consumed licenses to Microsoft monthly.
You must report details of all clients who consume over $1000 per month.
Upon request, you must provide Microsoft with all details of your Software Services Resellers and Datacenter partners.