Microsoft SQL Servers are usually the most complicated, the most expensive, and the most critical element of an organisation’s software infrastructure.
It can be difficult to get an overall understanding of the many SQL Server options and how they best fit into your organisation's needs.
And then there is SQL licensing, which can be particularly confusing.
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 organisation. Only you can answer that question.
At Tekgia, we strongly believe in educating our clients to improve their understanding of software asset management (SAM) and software licenses. This helps develop strong, long-term SAM practices. With this article we’re hoping to answer some of your more pressing questions around how to use the different SQL Server editions and how to license your SQL servers.
Just to make sure we’re all on the same page, the main job of SQL Servers are to store data and retrieve it upon the request of other software applications. In other words, they are sort of like a company’s personal Google.
You can find SQL servers in the Cloud with thousands of concurrent users and others on-premises serving small to medium size organisations.
SQL servers are designed to process different types of data.
SQL Server licensing can be staggeringly overwhelming.
Before we get into how a SQL Server works, here are some terms that you may need to know.
SQL Servers come with different licensing types and different editions, all of which we will break down. First, let’s look at licensing types, of which there are two: Core Based Licensing, and Server + CAL 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:
Example: 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) to be properly licensed.
There are scenarios where a Server + CAL license arrangement may better suit your organisation’s needs. You have to fulfil a certain number of guidelines to use a Server + CAL license successfully:
A Client Access License (CAL), is a license that grants access to specific Microsoft server software, usually in conjunction with other Microsoft server software licenses.
Basically, a CAL allows people or devices to access the services hosted by the operating system.. There are two types of CALs, Device CALs and User CALs.
User CAL: Allows for a single unique physical user to access the Microsoft software from many different devices. This includes work devices, personal devices, Internet kiosk or a personal digital assistant without the need to purchase a CAL for every device. You are licensed per physical person, not log-in usernames, so all the John Smiths in your company can breathe easy.
Device CAL: Allows a large number of users to access the server software through a single device.
Be very careful with the version number your CAL has when you purchase it The CAL must be of the same version or be a more recent version than the version of the Server software you are pairing it with. For example, a Windows Server 2019 CAL can be paired with a Windows 2019 or 2016 server but not a 2022 Windows Server.
Each server product will require the associated CAL. For example, if you have a Windows Server and an Exchange Server, which both access the Active Directory, then you will need a Window Servers CAL and an Exchange CAL. A CAL can also give you access to multiple servers of the same kind throughout your domain.
As you might expect, the pairing of your CALs to your servers can get extremely confusing and complex, especially if you try to mix and match. So, it is always a good idea to consult your Microsoft Rep or your third-party rep, give them a clear picture about what your software environment looks like and then they can tell you about the CALs you need.
Now that we have our SQL server licensing models laid out, we can move onto the next level of complication: the Editions.
Microsoft 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 organisation, 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 might expect, mixing production and non-production environments can cause hyper complexity and compliance issues. This can especially be the case if access controls are not established that prohibit the outside use of development and testing. There are a few ways to counteract this problem:
The main challenge with the Developer edition and the Express edition 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 thousands of pounds and owing nothing.
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.
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 the Developer licensing model, if anyone wishing to access a development environment, they require 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. They can be placed on desktops, dedicated servers, shared servers, and cloud environments.
Some potentially less expensive alternatives to this license include the following:
Evaluation licenses: Used to assess the software for potential operational use. Again, only used for non-production environments. It is not often used in development and test environments. It usually comes with an expiration date (60-180 days to evaluate the software).
It is possible to license virtualized environments. 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 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.
Power BI is one of the most popular services for large organisations, and it can quickly become the most complicated due to its robust environment and its complicated, although critical, relationship with SQL servers.
You can obtain Power BI either through purchasing one of the Power BI plans or through having SQL Server Enterprise Edition + Software Assurance.
SQL Server Enterprise Edition + Software Assurance will give you access to the Power BI Server. This will allow for on-premises sharing of Power BI Content through the Power BI report server.
You will still need to have a Power BI account for content creation. If your organisation already has an Enterprise SQL Server edition and intends to use Power BI strictly for on-premises sharing of content, simply getting Software Assurance will be the more cost-effective option when compared to buying a Power BI plan.
You should also note that Power BI Desktop has access to SQL Server, but not Power BI Service. Although Power BI Service can provide a connection to Azure SQL Database and SQL Data Warehouse, it can’t do the same with SQL Server. With the Desktop, however, you can retrieve SQL Server data from tables and run queries that can retrieve a subset of the data from multiple tables.
Making sure that your SQL server can properly store information and making sure you can access it at any time is critical for SQL servers’ customers. This makes it one of the most popular features in their software assurance benefits.
Which is why Microsoft, as of 1 November 2019, has three enhanced benefits to offer to software assurance customers. These can be applied to any SQL Server that is still supported by Microsoft, including failover servers for high availability, disaster recovery, and disaster recovery in Azure.
What this means is that you can run passive SQL Server instances on separate operating system environments (OSE) or servers for high-availability on-premises or in Azure to cover any sort of failover event.
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.
If the passive server is providing data, such as reports, to clients or performing any other ‘work’ including additional backups, then it will be considered active and will require its own license. It is most important that you have a means of proving when your servers are passive, since during a software audit, the software auditors will assume that all your servers are active if given the chance to assume so.
If you are licensed using the Server + CAL model, then any user or device that is indirectly accessing your SQL server data through another hardware device or software application will require their own SQL Server CALs.
If your SQL Server Edition reaches a certain age, Microsoft will announce that they are no longer supporting your particular version of SQL Server. For example, on 20 June 2023, Microsoft announced that it no longer supports SQL Server 2008 and 2008 R2. https://learn.microsoft.com/en-us/troubleshoot/sql/general/end-support-sql-server-2008
This means no more security or feature updates, 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:
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, such as new features, new definitions, and new licensing metrics.
Do some research into the new SQL Server model you are planning on upgrading to and familiarise 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, with your new SQL Server, if Software Assurance is something that interests your company.
SQL Server licensing should not be a mystery, it’s important that you have a strong understanding of your software environment, including the backbone of the whole infrastructure.
At Tekgia, we understand the importance of making sure that your SQL Server licensing is understood and maintained. Our expertise in software licenses has led to clients saving 20%-30% of spending on your software environment. If you’d like to find out how you can put money back into your IT department, please contact us.