Summary
SQL Server licensing in hosted environments and the Cloud is a little complicated. SPLA and BYOL are both similar and different and can confuse even a seasoned licensing expert.
Let's de-confuse it.
TL/DR or Quick reference if you are busy
SQL Server licensed per VM requires one core license per virtual core with a minimum of four licenses per virtual machine. This rule is the same for SPLA and BYOL.
Excel: =MAX(4, VirtualCores)
SQL Server Standard in SPLA can also be licensed per user or device with Subscriber Access Licenses (SAL). You must count the final consumers of the data: persons or their client devices. When you cannot count them, use the per-core model. The beauty of this model in SPLA is that it does not require per-server licences, so server instances are unlimited. BYOL is different: server licenses are required.
Plus, although it rarely provides cost benefits, SQL Server Enterprise may also be licensed at the physical host level. It allows running unlimited virtual machines and containers. You must assign one core license per physical core with a minimum of 4 core licenses per physical CPU.
Excel: =MAX(4, PhysicalCoresPerProcessor) * PhysicalProcessors
Cluster discount: You get one passive node free of charge for each licensed active node.
The above should cover 99% of your queries. Now, let's dive deeper.
What is SQL Server
Microsoft SQL Server is a database management system that helps businesses of all sizes store, organise, and manage their data.
SQL Server is available in several editions, each tailored to meet different business needs:
SQL Server Standard Edition: This edition is designed for small* to medium-sized businesses that need database functionality.
SQL Server Enterprise Edition: This edition is designed for large* businesses that need high performance, scalability, and advanced security features.
SQL Server Web Edition: This edition, available only in SPLA, is designed for web hosting and may only be used for that purpose.
*That is according to Microsoft marketing materials. In fact, SQL Standard serves large enterprises well in most applications. You only need SQL Enterprise for its advanced functionality.
How to license SQL Server on hosting
There are two options to license SQL Server when you run it in a service provider environment:
Pay-as-you-go (PAYG) or SPLA licensing is when an end client rents a SQL Server with a SPLA license. The license cost is included in the service cost, and the provider takes care of the license.
Bring-your-own-license (BYOL) is when the provider provides a SQL Server but allows the end client to bring their existing licences. In this case, the client must ensure that it has enough licenses and that the licenses are eligible for BYOL.
Pay-As-You-Go licensing of SQL Server on hosting
Service Provider License Agreement (SPLA) is a licensing program designed by Microsoft for service providers to host Microsoft software. The SPLA program enables service providers to license Microsoft products on a monthly basis, allowing them to offer software services to their customers without having to make a long-term commitment.
Benefits:
No long-term commitment. The billing period is one calendar month.
It's the best option for elastic workloads.
The provider takes care of the license.
Drawbacks:
No price protection. Prices usually go up once a year.
You may have a better price on your volume licences.
Costs:
SQL Server Enterprise is roughly four times more expensive than SQL Server Standard licensed per core.
License costs are comparable to one-year CSP licences and the Level A price list in an Enterprise Agreement.
Bring Your Own License for SQL Server
You may take your licenses and assign them to hosted SQL Server instances if:
You have licenses with Software Assurance or subscription licences via any program, including Microsoft CSP,
The provider allows bringing your own licences. Some providers may refuse this option.
You may have read or heard that the provider must be an Authorised License Mobility Partner. That advice is outdated. From October 2022, any provider may allow BYOL, and no authorisation is required.
The provider also does not have to be a CSP-Hoster. It makes no difference for BYOL.
Benefits:
It's cheaper. If you have licenses you no longer need on-premises, you are most probably paying less for Software Assurance or subscription compared to SPLA costs. That is especially true for government entities and large enterprises.
Licenses on long-term subscriptions or purchased via Enterprise Agreement have price protections from their respective agreements.
Drawbacks:
Elasticity is cheaper via Pay-As-You-Go. The solution is to use mixed licensing: BYOL for consistent needs plus SPLA, for example when you have seasonal requirements,
You have to take care of the licenses.
There's the added burden of providing license evidence to the service provider every time you renew your subscription or SA.
Costs:
The cost ratio between SQL Server Enterprise and SQL Server Standard licensed per core is roughly 4:1. This is true for all kinds of licenses: new licenses with Software Assurance, SA renewal, or subscription licenses.
Renewing Software Assurance is about 30-40% cheaper than acquiring new subscription licences. Before you cancel Software Assurance on unnecessary on-premises licences, see if you may reuse them on hosting or in the Cloud.
Types of licenses available under SPLA for SQL Server
Service providers can license SQL Server in the following ways under SPLA.
Enterprise | Standard | Web | |
---|---|---|---|
Per core per virtual machine | Yes | Yes | Yes |
Per core at the host level | Yes – providing unlimited virtualisation | Yes – only for the SQL in the physical operating system | Yes – only for the SQL in the physical operating system |
Per User or Device | — | Yes – server licenses not required | — |
Types of licenses available for BYOL for SQL Server
The following licence models are available for SQL Server BYOL:
Editions: Standard, Enterprise
Models: Per Core per VM, Per core host, Per User/Device (Server/CAL).
Enterprise | Standard | |
---|---|---|
Per core per virtual machine | Yes | Yes |
Per core at the host level | Yes – providing unlimited virtualisation | Yes – only for the SQL in the physical operating system |
Per User or Device | — | Yes – both Server and Client Access Licenses are required |
IMPORTANT: all licences, including Client Access Licenses (CAL), require active Software Assurance or subscription.
What SQL Server licensing model to choose
Please note that these recommendations are for SPLA and BYOL licensing, so it is implied that you have Software Assurance or subscription licenses as required by Flexible Virtualisation Benefit.
Per-core is the only choice for SQL Server Enterprise and Web editions. But you may also consider it for SQL Server Standard:
When you cannot count the users or devices, for example, when SQL Server is used with an Internet-facing application or a website.
When you can count the number of users or devices or when it is too high. In that case, the per-core licensing is cheaper. You need to calculate your own threshold, but it's roughly around 20 users per 4 cores on average.
Per-core licensing also has sub-scenarios:
Per-core licensing of individual virtual machines is the most popular and convenient option.
Licensing SQL Server per core at the host level for "Unlimited Virtualisation". It works best on hosts dedicated to SQL Server and requires you to run a significant number of SQL Server virtual machines to achieve any economic benefit. In reality, it's rarely beneficial. Do your maths first.
Licensing SQL Server per core at the physical CPU level without virtualisation is required when you do not virtualise SQL Server. For example, stock exchanges use high-performance SQL Server clusters where SQL Server runs in a physical operating system only.
How to determine the number of licenses needed
To determine the number of licenses needed for SQL Server, you must identify the following:
The edition of SQL Server,
Licensing model:
per-core or
per user or device (SQL Standard Edition only),
For per-core licenses:
In a virtual machine:
The number of virtual cores,
When licensing at the host level:
The number of processors,
The number of cores per processor,
When licensing per user or device: the number of persons or their client devices that access the data directly or indirectly. Middle-tier applications, connection pools, concurrency and so on do not matter. You may not reduce the number of required access licenses by using any technical measures. You must always count the final consumers of the data.
Please also note that you must consider the following standalone services as full SQL Servers, as it is a common mistake to think they are free of charge (they are not free):
Analysis Services,
Reporting Services,
Master Data Services,
Data Quality Services.
When you have all the above information, here is how you calculate the required licences.
SQL Server licensed per VM requires one core license per virtual core with a minimum of four licenses per virtual machine. This rule is the same for SPLA and BYOL.
Excel: =MAX(4, VirtualCores)
SQL Server licensed per core at the physical host level. You must assign one core license per physical core with a minimum of 4 core licenses per physical CPU.
Excel: =MAX(4, PhysicalCoresPerProcessor) * PhysicalProcessors
SQL Server Standard in SPLA licensed per user or device with Subscriber Access Licenses (SAL):
Server licences aren't required. The number of instances is unlimited.
The number of Subscriber Access Licenses equals the number of users or devices authorised to access the server, directly or indirectly. Activity or actual access does not matter. Concurrency does not matter. Please note that there are SALs per User and Device. Choose the correct type of SAL.
SQL Server Standard in BYOL licensed per user or device – the Server/CAL model (Server+CAL):
You must assign a server license to each operating system environment (OSE), physical or virtual, that runs SQL Server. The number of instances inside the licensed OSE is unlimited.
The number of Client Access Licenses (CAL) equals the number of users or devices authorised to access the server, directly or indirectly.
Avoid paying double!
SQL Server core licenses are sold in 2-core packs. Do not forget to divide the number of required core licenses by two when you place an order.
Do not pay for passive SQL Server instances
There is a discount for SQL Server clusters, also known as SQL Fail-over rights: for each licensed active node, you get one passive node free of charge. The nodes must require an equal number of licenses.
In addition, you do not have to pay for cold backups. However, the rules are a little complicated, and you must comply fully and unconditionally.
The disaster recovery server can only run during specific exception periods, such as during brief periods of disaster recovery testing within one week every 90 days or when the production server being recovered is down.
Additionally, it can also run briefly around the time of a disaster to assist in the transfer between the primary production server and the disaster recovery server.
The disaster recovery server cannot be in the same cluster as the production server.
License Reporting and Management
When using SPLA licenses, providers must accurately report SQL Server licenses on a monthly basis following the standard reporting process.
In the case of BYOL, CSP-Hosters must verify license eligibility and report it to Microsoft using License Validation forms.
Accurate license reporting helps ensure compliance with the licensing requirements of SQL Server in SPLA and can help avoid potential legal or financial penalties.
Common mistakes that you should avoid when reporting SQL Server licenses in SPLA:
Reporting incorrect license types or editions,
Forgetting the minimum of 4 core licenses per VM or per physical CPU,
Failing to report all authorised users when you use Subscriber Access Licenses (SAL),
Failing to report fully licensable SQL Server components like Reporting Services, Integration Services, Analysis Services, Master Data Services and Data Quality Services,
Forgetting to discount passive instances.
To ensure accurate reporting, compliance with licensing requirements and effective cost management, we recommend maintaining a detailed inventory of all the licenses and software used and taking regular data snapshots. Having a good dedicated SPLA tool helps.
It is also essential to keep track of changes in the licensing models and act accordingly.
Frequently asked questions
What are the licensing options for SQL Server in a hosting environment?
SQL Server can be licensed through either the Pay-As-You-Go (PAYG) or the Bring-Your-Own-License (BYOL) model. Under PAYG, the end-client rents a SQL Server with a SPLA license, while under BYOL, the provider provides the SQL Server, and the client brings their existing licenses.
What is the difference between SPLA and BYOL licensing for SQL Server?
SPLA is a monthly subscription model where the end-client rents a SQL Server with a license from the provider, while BYOL is when the provider provides a SQL Server, but the end-client brings their own licenses.
Can I use my existing licenses with a hosting provider?
Yes, if you have licenses with Software Assurance or subscription licenses via any program, including Microsoft CSP, you may use them with a hosting provider that allows BYOL.
How do I avoid overpaying for SQL Server licenses?
You can avoid overpaying by choosing a suitable licensing model, using mixed licensing (BYOL and SPLA) for constant and seasonal needs, and taking advantage of cluster discounts and disaster recovery rights.
What common mistakes to avoid when reporting SQL Server licenses in SPLA?
Some common mistakes to avoid include the following:
Reporting incorrect license types or editions.
Forgetting the minimum of four core licenses per VM or physical CPU.
Failing to report all authorised users when using Subscriber Access Licenses (SAL).
What are the different editions of SQL Server?
SQL Server is available in several editions, including Standard, Enterprise, and Web. The Web edition is only available through SPLA.
What are the licensing options for SQL Server Standard in SPLA?
SQL Server Standard in SPLA can be licensed per core or per user or device with Subscriber Access Licenses (SAL).
What are the licensing options for SQL Server Enterprise in SPLA?
SQL Server Enterprise can be licensed per virtual machine core and at the physical host level for unlimited virtualisation.
What is the minimum number of core licenses required for a SQL Server virtual machine?
A virtual machine requires a minimum of four core licenses.
How do I choose the suitable SQL Server licensing model for my hosting environment?
The recommended licensing model will depend on various factors, such as the edition of SQL Server, the licensing model (per-core or per user/device), and the number of virtual cores or processors. It is best to consult with a licensing expert to help you determine the most cost-effective and compliant licensing model for your business.
What are the permitted periods of use for a disaster recovery server running SQL Server under disaster recovery rights?
The disaster recovery server can run during brief periods of disaster recovery testing within one week every 90 days, during a disaster while the production server being recovered is down, and briefly around the time of a disaster to assist in the transfer between the primary production server and the disaster recovery server. The disaster recovery server cannot be in the same cluster as the production server.
Ask an expert
SAMexpert is fully and intentionally independent. We do not sell licences or benefit from license sales indirectly. If you are looking for honest advice, please use the form below, and a senior member of our team will get in touch with you ASAP.