HOW SQL SERVER LICENSING WORKS
What are SQL Servers? A Brief Overview
SQL Servers are the most complicated, most expensive, and most critical element of an organization’s software infrastructure and it can be confusing to think about how it works, let alone how to license them. It is easy to get overwhelmed and to simply let your SQL Server sales rep handle it and tell you what you need to purchase and how many. Of course, just because they know their way around their CALs, cores, and sockets does not mean they know what is best for your business. Only you can answer that question.
At Instant-key, we strongly believe in educating our clients to improve their understanding of software asset management and software licenses in order to lead to strong, long-term SAM practices after our engagement has concluded. So, today we’re hoping to answer some of your more pressing questions about how to license your SQL servers.
The SQL Server’s Jobs
Just to make sure we’re all on the same page, the main job of SQL Servers is to store data and retrieve it upon the request of other software applications, sort of like a company’s personal Google. SQL servers are made of many varied sizes and targeted toward different workloads and different types of workforces. Some exist in the Cloud with thousands of concurrent users and others exist in small to medium size on-prem businesses.
SQL servers are also designed to process different types of data, including primitive types like Char, Varchar, binary, and text, just to name a few. SQL Server licensing can be staggeringly overwhelming due to its sheer size and the number of other applications that interact with it. Before we get into how a SQL Server works, here are some terms that you may need to know:
SQL Server Anatomy
Physical Server: the actual wires-and-bolts physical hardware system. |
Physical Processor: the physical chip that is housed in a socket within the physical server that contains one or more cores. |
Physical Core: Something like a mini server inside the server, a physical core is a smaller processing unit within the physical processor of the server, and is found in groups of two |
How Do you Buy a SQL Server License?
Instant-key sells SQL Server Licenses click here
Core Based Licensing
This license allows for an unlimited number of users and devices to be connected to a server. If you want to install your SQL servers under a Core Based License, make sure you can follow these rules:
You need to license every physical operating system environment (OSE) that is running SQL server software. You will need a core license for every core in the processor.
You need at least four core licenses for each physical processor on the server (core licenses are sold in packs of two). |
The SQL Server or any of its components needs to be licensed. What this means is that you can’t separate products of the SQL server over different machines. If the SQL Server Agent is running exclusively on one SQL server and the SQL server reporting services is being run exclusively on another machine, you’ll run into problems if you try to license that all under a single license. You would need two separate licenses for that scenario. |
- Anything that is installed on the physical machine you need to have a license for. You don’t necessarily need it to be running to require a license for it.
- The same logic is applied when using virtual cores in virtual environments.
A Math Problem:
Let’s say I have a single physical server. On the physical server, there are two processors, each with six physical cores with a total of twelve cores. In addition to the license for the operating system, I would need 6 core licenses (since they come in packs of two) in order to be properly licensed.
Benefits of Core-Based Licensing
- Core-based licensing is typically the only option you have at your disposal when the SQL server in question is being accessed by devices and users outside your company’s network since Server + CAL licenses would require you to purchase a license for every external person/device, which would not only be expensive, it would also be impossible to keep track of.
- Ideal for larger companies, since it is easy to manage. Imagine having an international corporation with tens of thousands of employees, keeping track of who needed what CAL would be exhausting.
- It also can prove cheaper for larger organizations, especially if your users far outnumber the cores you have.
Server + CAL-based Licensing
There are instances where a Server + CAL license arrangement may suit your business’s needs better, although it will involve a lot more mixing and matching. You have to fulfill a certain number of guidelines in order to use a Server + CAL license successfully:
Just like with the core-based licenses, any physical operating system running SQL server software or any of the SQL server’s components will need a SQL Server license assigned to the physical server hosting OSE |
In addition to the license for the OSE, you will also need to purchase a license for each device and/or user that has access. Think of the OSE license as purchasing the lock on your door, the CALs are the keys, you need both to gain access. |
SQL Client Access Licenses (CAL)
Client Access Licenses (CAL), is a license that grants access to specific Microsoft server software, usually in conjunction with other Microsoft server software licenses. Basically, while the server license allows for the installation of the software on an operating system, the CAL allows for people or devices to access the services that the operating system is hosting. There are two different types of CALs, depending primarily on what your company needs and the server software you intend to use your CAL for.
User CAL: This allows for a single unique physical user to access the Microsoft software from many different devices. This includes work devices, personal devices, an Internet kiosk, or a personal digital assistant without the need to purchase a CAL for every device. However, you are licensed per physical person, not log-in usernames, so all the John Smiths in your company can breathe easily.
Device CAL: This allows a large number of users to access the server software through a single device.
Benefits of the Server + CAL Licenses User CAL:
- A bit more complex but easy to manage if you have a small business with a countable number of employees.
- Usually can prove cheaper for smaller businesses.
- A cheaper option if your processors have less than four cores since four cores are the minimum licensing number.
How to buy SQL Server CAL License User or Device?
SQL Server CAL license is available on the Instant-Key store at a very attractive price starting at 99$ depending on how many cores you need.
Purchase SQL Server 2019 User CAL License Key
Types of SQL Server Edition
Now that we have our SQL server licensing models laid out, we can move on to the next level of complication: Editions. Microsoft offers four different Editions: Standard (popular selection), Enterprise (also popular), Express, and Developer.
- Standard: The basic experience with standard reporting and analytic capabilities. There is a limit on memory, database size, and a maximum number of cores. Offered in both Core-Based and Server + CAL licensing models.
- Enterprise: Having all the basic features of the Standard Edition, Enterprise also offers tools for analyzing business and financial data, along with critical applications and data warehousing features essential for enterprises, whom this edition is primarily targeted towards. Where the Standard edition had limits on its space and usage, the Enterprise edition has the sky as the limit. It is only offered in core-based licensing models, which makes sense since enterprise customers usually chose core-based licensing models.
- Express: This free version offers a limited experience, even when compared to the Standard edition. It is excellent though for general database use, including small applications with both hardware and software limitations. 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. It is important that the ‘non-production’ element is upheld in this edition, since using the developer edition on anything that is full production can result in heavy fines. A piece of software will be considered in production if individuals, either inside or outside of the organization, use the software for any reason beyond development, including evaluation acceptance testing such as a review of the application before it is put into general use.
A 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 a SQL server in production. As you can probably imagine, mixing production and non-production environments is a recipe for disaster, as this can cause hyper-complexity and compliance issues, especially if access controls are not established that prohibit use outside of development and testing.
There are a few ways to counteract this problem:
- Use naming conventions for SQL Server instances to explicitly state if a Server is in development or in testing.
- Install the SQL server on a separate network segment or cloud environment to lower the chance of unauthorized interaction.
- Require that installs be developer-specific editions.
The main challenge with these editions is proving which edition you have. For example, if you are in a software audit unless provided with evidence that proves otherwise, the software auditors will assume that you only have Enterprise editions, which are the most expensive. Proving which editions, you have could mean the difference between owing hundreds of thousands of dollars and owing nothing.
Licensing for Development Environments
While Development and Express environments can be great in saving you money, in testing and demonstrating your software before deployment, it is important that these scenarios are licensed properly and that you understand their limitations. There are two types of SQL Server Development licenses
Developer-Specific Licenses: Used primarily for debugging, designing, development, testing, and demonstrating purposes. This license is for non-production use only and is often purchased when programmers, professional testers, technical writers, database professionals, or IT administrators are involved. Developer-specific licenses are assigned on a per-user basis, in which Users can install and access an unlimited number of SQL Server instances and share those instances only with other users who have been assigned the same type of developer-specific user licenses.
That means, for this licensing model, anyone wishing to access a development environment requires a developer-specific license, even for tasks as hands-off as administrative purposes. The only exception to this is user acceptance testing. Installations can be set up and taken down at any time and can be placed on desktops, dedicated servers, shared servers, and cloud environments. Some potentially less expensive alternatives to this license include the following:
• Purchasing new production licenses.
• Cloud-based services like Windows Azure, which are usually based on a monthly subscription model (if you have an MSDN subscription, it includes Windows Azure credits, discounted rates, and the ability to use MSDN software at no additional charge).
• Free editions like SQL Server Express and the SQL Server Compact (a free embedded edition of SQL specifically for developers)
Evaluation Licenses: Used to assess the software for potential business use. Again, only used for non-production environments but it is not often used in the development and test environments. Usually comes with an expiration date (60-180 days to evaluate the use of the software) when obtained through volume license contracts.
Licensing Virtualized Environments
It is possible and necessary to license virtualized environments, and you have the ability to cover your VMs under your Enterprise + Software Assurance addition licensing model if you have one. This will cover all the VMs that your software environment will ever see, which comes in handy since VMs are so easily and quickly cloned and installed. However, it is terribly important to consult with your Microsoft Rep to ask if virtualized environments can be properly covered by your software assurance as you don’t want to run the risk of facing any compliance issues with Microsoft. You will need a license for every virtual core that you have. Licensing your Virtual Environment all depends on the licensing model you choose, with the per-core model proving much more cost-effective for many clients. If you aim to license the Virtual Cores on Virtual Operating System Environments (OSE), then you will need a minimum of four licenses per processor, if you have more than four cores on each of your virtual processors, then you’ll need to calculate what you’ll need based on the number of cores. If your OSE is mapped to different pieces of hardware, you’ll need additional licenses for anything the OSE is touching.
Upgrading your SQL Server
If your SQL Server Edition reaches a certain age (Server 2005, for example) Microsoft could eventually announce that they are no longer supporting your particular brand of SQL Server (Microsoft announced in 2016 that support for SQL Server 2005 would end that April).
This means no more security or feature updates, and no more help from Microsoft to keep your environment healthy and protected. Even if your license is perpetual and legally speaking you are allowed to keep the product forever, it may still be within your best interest to upgrade your license anyway to one that Microsoft supports.
However, it will not be easy since a SQL Server upgrade will take months and you should plan accordingly. When you are considering updating from one Server to the next, the first thing you need to do is make a to-do list containing everything you have to do, such as:
- Make sure you have all the Window Updates,
- Do you have .NET Framework installed correctly?
- Do you have KB2919355 installed (if you are using Server 2012 with SQL 2014 installation)
- ensure that you have enough free space to allow for the upgrade (at least 100GB). After all such preparations are ready you can begin the whole upgrading process.
If you have Software Assurance, then you are covered to upgrade your SQL Server edition, if not then you will have to purchase more licenses. Check to make sure what sort of changes have occurred since you last updated SQL Server, since depending on how old your SQL Server is, you may find yourself confronted with new features, new definitions, and new licensing metrics.
Do some research into the new SQL Server model you are planning on upgrading to and familiarize yourself on any differences the new edition has compared to your old model. If you are purchasing brand new licenses, consider which new SQL Server Edition will best suit your company’s needs and budget. Lastly, decide whether, this time around with your new SQL Server, if Software Assurance is something that interests your company.
Leave a Reply