SQL Servers are the most complicated, the most expensive, and the most critical...

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.

What are SQL Servers? A brief overview

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.

Phyisical server

  • 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,. They are found in groups of two.

How do you buy a SQL Server license?

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.

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.

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.

Benefits of core-based licensing

  • Core-based licensing is typically the only option when the SQL server is being accessed by devices and users outside your company’s network,. Server + CAL licenses would require you to purchase a license for every external person or device, which would not only be expensive, it would also be impossible to keep track of all the external people and devices accessing the SQL server.
  • 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 organisations, especially if your users far outnumber the cores you have.

Server + CAL based licensing

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:

  • Just like with the core-based licenses, any physical operating system running SQL server software or any of 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 Client Access License for each device or user that will access the SQL server. Think of the OSE license as the lock on your door and the CALs as the keys. You need both to gain access.

SQL Server + CAL licensing model

Client Access Licenses (CALs)

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.

Benefits of the Server + CAL licenses

  • A bit more complex but easy to manage if you have a small organisation with a countable number of employees
  • Usually can prove cheaper for smaller organisations
  • A cheaper option if your processors have less than four cores, since four cores is the minimum licensing number.

Other SQL Server editions and how you use them

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:

  • 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 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.

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.

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:

  • 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 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).

Licensing virtualized environments

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 and SQL Server

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.

Licensing for disaster recovery and high availability

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.

Upgrading your SQL Server

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:

  • Making sure you have all the Window Updates
  • Do you have .NET Framework installed correctly?
  • Insure that you have enough free space to allow for the upgrade.

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.

Want to know more?

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.