Microsoft SQL Server licensing can be complicated and even a little overwhelming at times. The purpose of this post is to cut through that complexity at an introductory level and then delve deeper in future posts.
What SQL Server 2016 Editions are currently available?
The previous release of SQL Server 2014 was commercially available in four editions:
- Enterprise edition – recommended for use with mission critical applications and large scale data warehousing
- Business Intelligence edition – provides premium corporate and self-service business intelligence (BI)
- Standard edition – delivers basic database, reporting and analytics capabilities
- Developer – is a full-function version of SQL Server software—including all of the features and capabilities of Enterprise Edition—licensed under the Developer Tools model, which is a “per user” model
This has been streamlined with the 2016 release and now is available in three commercial editions:
- Enterprise edition
- Standard edition
The key difference here being that the licensing and product function of Business Intelligence edition has been absorbed into the Enterprise edition.
Note: SQL Server Express is available as a free download from Microsoft, but it must be noted there are limitations on its supported system requirements. For an overview of the available editions and supported scale of SQL Server, click here.
How are SQL Server licenses sold?
The software licensing options remains the same for SQL Server 2016 as previously available e.g. Server + CAL or Per Core. It must be noted however that the Enterprise edition is only available under the Per Core model.
SQL Server – Per Core Based Licensing
The Per Core licensing option allows for unlimited users or devices to access SQL Server (both internally and externally). The major benefit of this option is that there is no requirement to try to quantify the number of users or devices accessing the SQL Server, be that direct or via indirect means (multiplexing).
Note: When running SQL Server in a physical environment, licenses must be assigned to all of the physical cores on the server. A minimum of four core licenses per physical processor are required, with licenses being sold in packs of two.
So how many licenses do I need? The process to determine this is relatively straight forward:
Example 1 – This SQL Server has two processors, each with six cores:
- Ascertain how many cores there are per processor (keeping in mind the minimum requirement of four cores per processor)
- Count the total number of cores
- A total of twelve cores are present, therefore 6 SQL Server Per Core licenses (packs of 2) are required
The Per Core option is often the preferred licensing option when:
- The SQL Server is external facing and an unquantified number of users or devices access the server
- Deploying SQL Server Enterprise – the Enterprise edition does not support the Server + CAL licensing model
- The cost of licensing SQL Server Standard is too high based on server access
SQL Server – Server + CAL Licensing
When licensing SQL Server Standard under the Server + CAL option, customers must assign a license to the physical server hosting any operating system environment (OSE) running SQL Server and acquire a SQL Server CAL for each user or device that accesses the server.
Note: The SQL Server license allows unlimited SQL instances to be deployed on the OSE (physical or virtual).
The Server + CAL option is often the preferred licensing option when:
- Smaller SQL Server implementations exist and SQL is the supporting database for another application or smaller Intranet; and
- The number of users or devices accessing SQL Server can be quantified and Server + CAL is more cost effective than the Per Core model
Licensing SQL Server in a Virtualised Environment
When deploying SQL Server in virtualised environments, customers have the choice to license either the individual virtual machine(s) or for maximum virtualisation by assigning SQL Server Enterprise Per Core licenses with Software Assurance (software maintenance) to the physical server.
SQL Server – Per Core Based Licensing in a Virtualised Environment
When licensing SQL Server under the Per Core model in a virtualised environment, the following will need to be identified:
Example 2 – This SQL Server has two virtual machines, VM1 has two virtual cores and VM2 has six virtual cores.
- Ascertain how many virtual cores there are in each virtual machine (keeping in mind the minimum requirement of four cores per virtual machine)
- Count the total number of virtual cores
- VM1 has two virtual cores, but doesn’t meet the minimum requirement of four virtual cores. VM1 will therefore require four core licenses
- VM2 has six virtual cores
- A total of eight cores are present, but four are required for VM1 therefore bringing the count up to ten virtual cores, so 5 SQL Server Per Core licenses (packs of 2) are required
Note: Licensing of SQL Server Enterprise in a virtualised environment is only supported by the Per Core license model.
SQL Server – Server + CAL Based Licensing in a Virtualised Environment
When licensing SQL Server Standard under the Server + CAL model in a virtualised environment, customers are required to purchased one server license per virtual machine running SQL Server irrespective of the number of virtual processors allocated. The following will need to be identified:
Example 3 – This server has two SQL Server virtual machines (Virtual Machine 1 and Virtual Machine 2), and two users are accessing the SQL Server virtual machines.
- Ascertain how many virtual machines have SQL Server deployed
- Virtual Machine 1 and Virtual Machine 2 – (2) Server licenses required
- Count the total number of users accessing the SQL Servers
- Two users are accessing the SQL Servers – (2) SQL Server User CALs are required
Which licensing option is best for me?
SQL Server Standard can be licensed under the Per Core or Server + CAL license options. It is recommended that you engage your Software reseller to determine which option best suits your SQL Server requirements (factoring in server role, access, technical requirements etc.) as there will be a tipping point where the Per Core model is more cost effective and easier to manage.
Some use cases to be aware of
As we have touched on here, there are a number of different licensing models available for SQL Server depending on the scenario and use case. Some of these may be relatively straight forward, others not so and the commercial implications could be significant. I would encourage open dialogue with the Database Administrators within your organisations to ensure there is some governance and understanding as to how SQL Server is deployed within your corporate environment. I intend to delve a little deeper in future posts, but in the meantime some items to consider include:
- The role of the SQL server – is it internal or external facing
- Can the number of users or devices accessing the database be quantified?
- Is access to the SQL server enabled via multiplexing?
- Do you have active Software Assurance on your SQL estate and as such access to benefits such as passive failover licensing?
- Is SQL Server deployed as part of a clustered environment?
- Does SQL Server reside in a Production or a Non-production environment?
- Are SQL Components such SQL Reporting Services deployed as standalone installs without SQL?