The Microsoft SQL Server Licensing Guide is really not long and contains just over fifty pages. However, the challenge here is that it refers to other related memos and manuals such as Capacity Guide, Volume Licensing Guide, SQL Server Virtualization Guide, etc.
So, to address the challenge, the most straightforward way would be to familiarize yourself with these documents and call it a day. These books are slightly tricky to read through, but they cover in detail the question of Microsoft SQL Server Licensing.
To a certain extent, the Microsoft SQL Server Licensing is very much like complex parking rules with multiple exceptions. Like no free parking every other Sunday, on Thursdays, all parked cars are towed for the street cleaning etc. This article is an endeavor to build a cheat sheet containing the important parking rules as well as exceptions.
In case you are new to the topic, you may find the document an easier read than dozens of Microsoft papers. Or, if you are quite familiar with the topic, please feel free to look it through to make sure you are not missing out on anything new (last update Oct 30th, 2020).
Different versions of SQL Server
After the 2014 version, Microsoft acquired many companies. Based on their expertise, the product line was upgraded. So, starting with SQL Server 2016, these are the SQL Server editions:
Standard
This is the essential experience with standard reporting and analytic capabilities. There are a few limits in memory, database size, and a maximum number of cores. Microsoft offers it in both Core-Based and Server + CAL licensing models.
Enterprise
Adds features over the Standard Edition. It offers tools for analyzing business and financial data, critical applications, and data warehousing features essential for enterprises, whom this edition is primarily targeted towards. It is only offered in core-based licensing models
Express
This free version offers a limited experience. The most important limitation is that SQL Server Express does not support databases larger than 10 GB. This will prevent you from growing your database to be large.
Many organizations will first deploy SQL Server Express to see if it is sufficient for their specific applications and will only move to the fee-based editions when they can confirm that Express will not meet their requirements.
Developer
This edition allows you to build, test, and demonstrate applications in a non-production environment.
Using the developer edition on production can result in hefty fines. Consider in production if individuals, either inside or outside of the organization, use the software for any reason beyond development.
An SQL Server will also be considered in production if it is connected to another database that is in production or runs as a backup or to provide disaster-recovery to an SQL Server in production.
As you can probably imagine, mixing production and non-production environments is a recipe for disaster. The challenge here is to have elements that prove that you are using the correct version.
For example, in a software audit, this can mean the difference between owing hundreds of thousands of dollars and owing nothing.
How to buy an SQL Server 2019 license?
Microsoft sells SQL Server Licenses in a variety of channels, and ways, which includes:
- Retail (although you cannot buy an enterprise license through this means)
- Through a third-party:
- Software Vendor Royalty (ISVR);
- Services Provider License Agreement (SPLA).
- Volume licensing programs:
- Microsoft Products and Services Agreement (MPSA);
- Enterprise Agreement (EA);
- The Enterprise Software Advisors (ESAs);
- Open Value Subscription (OVS);
- The Server and Cloud Enrollment (SCE).
*Every edition may not be available in all channels or licensing programs in all regions. For more information about Microsoft Volume Licensing Programs, see the Volume Licensing Reference Guide.
Retail Pricing for SQL Server 2019
Since SQL Server 2012, these are the prices:
- SQL Server Enterprise Edition: $7,128 per Core.
- SQL Server Standard Edition: $1,859 per Core.
- SQL Server Standard Edition Server Licensing: $931 plus $209 per named user client access license (CAL).
Licensing basics for on-premises (physical servers)
Five SQL Server 2019 are available now, but the Developer and Express (as the free products) are limited editions.
The Web Edition is offered in the Services Provider License Agreement (SPLA) program only. The most probable choice you will make is between the Enterprise or Standard versions. The Standard edition is the only one to propose licensing by Server + CAL (Client Access License) and Per Core.
In case you do not have a valid Enterprise Agreement or a Software Assurance version upgrade, the Enterprise edition can be only licensed Per Core.
In fact, CAL requires per-user payment, so every user entering SQL Server must have a license of their own, even if they do not use it directly. Per Core implies paying for each server CPU core.
The least number of cores licensed is four per Server, no matter your real core number (additional core licenses are sold in packs of two), which means servers with one or two core CPUs must purchase four licenses anyway.
The same logic is applied when using virtual cores in virtual environments. Nevertheless, this model provides user access without limits.
Under the Per Core licensing model, each Server running SQL Server 2019 software or any of its components (such as Reporting Services or Integration Services) must be assigned an appropriate number of SQL Server 2019 core licenses.
Which means you can’t separate products of the SQL Server over different machines.
For example, if the SQL Server Agent runs exclusively on one SQL Server and the SQL Server reporting services run exclusively on another machine, you’ll run into problems if you try to license under a single license.
Additionally, for SQL Server Enterprise and Standard Core, customers can purchase SQL Server Big Data Node cores worker nodes for SQL Server 2019 Big Data Clusters. This will be the topic of a new post soon.
Considering these points regarding your infrastructure will help you to think through the options:
- The number of cores – For servers with four cores and more, several licenses will be obligatory.
- The internal or external facing of the server – In a publicly accessible application or website, using CAL is impossible because you cannot find out the total number of users.
- The number of users who have access to the server – Just like in the case of a public/private server, you should opt for a core license if you expect more than 30 users.
- The possibility of a licensing break from a cloud provider – It’s a pretty common occasion when service providers pass on savings from a Service Provider Licensing Agreement, so try and ask about Bring Your Own License (BYOL) vs. buying a license as part of your cloud contract.
Licensing for public cloud
The cloud provider could be Amazon (AWS) or Microsoft (Azure). Here we assume that the license sits with the service provider, i.e., it pays as you go approach.
For example, a retailer could purchase additional capacity before Christmas sales to make sure there’s are no outages, and then ramp it down right after the holidays.
Usually, such an approach allows both flexibility and cost-efficiency. There might be complex cases where this doesn’t work, e.g., when the peak happens unexpectedly (see a case study where we had addressed a similar issue differently).
Amazon Web Services (AWS)
Licenses mobility
There’s a License included (so-called licenses mobility on AWS) option that puts the burden of license compliance on Amazon. Another benefit of AWS is AMI. This is when Amazon manages windows images, i.e. there is a library of the disk images of the popular products that are already pre-packaged, optimized and tested.
For example, there’s an image of Microsoft Server 2016 Enterprise. Another benefit of AMI is that starting from SQL Server 2017 it supports Linux AMI.
License mobility target savings
There have been success stories published on the achieved savings.
For instance, a company moved its SQL Server licenses to Amazon EC2 Dedicated Instances and Dedicated Hosts; they saved 15% on SQL licensing costs (+10% on Windows Server costs).
Pricing options
There’s a calculator on the AWS website that compares bringing your own license vs. buying a service that already has a license enabled.
You can choose on-demand (per hour billing), reserved instances (1 year and 3 years contracts are available), and spot instances.
The challenge is how to choose the right approach to licensing, so it is both cost-efficient and technically sufficient to meet all the business requirements. Eventually, it boils down to the following rules:
- BYOL works for slowly varying infrastructure
- License included works better for varying infrastructure (less management overhead)
- Mix
Microsoft Azure licensing
All standard licensing options are supported.
Enterprise agreements
Scaling up/down is available for enterprise customers. Pay per use principle is used, i.e. an image is selected from the library of pre-built images and then the company gets charged within the scope of the enterprise agreement. BYOL option is also supported.
Software Assurance
Within this additional expensive Microsoft provided support, it is possible to upgrade the software. No library is available, i.e. the company own images have to be used.
SQL Server images
These are images that have the license installed and that’s why they are more expensive than the plain VM.
Azure SQL (Management Instance and Database)
Is a pay as you use service that delivers PaaS, DBaaS, a SaaS from the cloud. The service is pay as you use, i.e. the client is being charged only for live instances.
SPLA
After installation, the SQL Server is registered in Microsoft Volume Licensing Program. This approach is designed for service providers that deliver SaaS to their clients.
Licensing of Virtualized Servers (on and off-premise options)
With virtualization added to a set of licenses, everything gets more complicated. It is considerably affected by the size of your environment and how many cloud servers run SQL, along with the hardware behind.
Your cloud provider may not necessarily share full details about the server specifications, so it might be a good idea to find this out. If there’s a private cloud server, then the detailed specification is available. At least you know what type of server virtual machines are running on.
Failing that, you may get stuck on licensing each virtual machine separately. That all makes a difference here: if only a few VMs are running your SQL Server, it’s probably best for you to license each VM.
Simply put, imagine your VM is an ordinary server located in your own data center. It will bring you to the choice between the two pricing options outlined above.
Therefore, if your VM is equipped with one or two vCPUs, using the Per Core model will still require buying four licenses. If you opt for the CAL model, one license per VM will be enough, but you will need to know the exact number of users.
Purchasing Software Assurance (see a section with key facts on SA and main pitfalls) will be helpful if you ever decide to relocate your virtual machine to another physical host server (like for a High Availability or Backup situation).
In doing so, you obtain permission to use vMotion or other ways to move your VM from one virtual data center or host to another.
Without Software Assurance, your Server is confined within a single server host for a term of 90 days.
Your license is basically tied down to the physical Server instead of the VM. Moving your SQL Server to another server is an option provided that the Server has a license as well — unless you purchase SA.
Microsoft enterprise agreements
Microsoft Enterprise Agreements are usually used for companies with a significant Microsoft footprint.
The rule of thumb if your company has over 300 SQL Servers (or other Microsoft products instances), and the company is ready to sign for 3 years spend then there might be 45% potential savings that could be achieved.
The trick is that the license model has to be carefully calculated and even slight deviations from the ideal scenarios might eat up all the savings.
Although truth be told it is easy to add licenses, devices, etc.
To cut a long story short there could be cases when this model works, but many companies avoid it due to significant upfront payments and spend commitments.
Software Assurance
This is the name of Microsoft license maintenance service program that includes a unique set of technologies, services, and rights to help you deploy, manage, and use your Microsoft products more efficiently.
For simplicity, we call it SA. It is a very expensive support from Microsoft that is sold on the top of the licenses and professional services. The major benefit of SA is to keep your initial investment guarded. Microsoft gives you free upgrades as long as you keep paying for it.
The program includes License Mobility, Disaster Recovery Licenses, and Azure Hybrid Discounts. It also helps boost organizational productivity with 24×7 technical support, deployment planning services, training, and much more.
As you can see, the table below shows new benefits for SQL Server 2019:
Licensing for disaster recovery and high availability
Since Nov 1st, every Software Assurance customer of SQL Server are able to use benefits for SQL Server HA and Disaster Recovery.
If you have a secondary server that is only used as failover support, then you do not need to license that Server separately from the SQL Server it is supporting, as long as the Server remains truly passive and the primary SQL Server is covered by your Software Assurance.
All new benefits can enable significant licensing cost savings for your SQL Server on-premises and on Azure VMs.
Check this post Software Assurance benefits for SQL Server HA and Disaster Recovery for a full breakdown of the enhanced benefits. No matter how many SQL Servers you need, there are many licensing options for different purposes.
Hello Jose,
Well explained.
Have few queries
1. Cloud SKU – Its one time purchase, what does it mean ? What happen after one year and who will provide the support ?
2. Cloud SKU – Where we can use, On-premise only or Cloud also ?
3. OVL 3 Years with SA — Where we can use, On-premise only or Cloud also ?
4. OVL 3 Years with SA – What to be renewed after 3 years, Only SA renewal or whole license cost to be paid ?
If I purchase an Ent edition of SQL 2019, on how many Windows servers can I install the SQL Server?
Hello,
Hope you can shed some light and offer some direction on this question. I know the question may seem vague but I will try to give some information without overwhelming. I work for a company that has 170-180 SQL Server instances ranging from 2012 – 2022. 95% of the editions are Enterprise. We also have over 600 servers that connect to those instances and we also have outward facing applications. They would like to move to Developer Edition in all the non-production environments. I was asked to look into this. In the information I have received from MS it seems like a large task and one with consequences. My first question would be who usually takes care of the licensing, specially in a large organization. Would it he the an architect or a dba? Any help would be greatly appreciated.