Monday, June 6, 2016

SQL Server 2016 Licensing

My research is based on Microsoft SQL Server 2016 Licensing Guide Document.


- Two Major Licensed Editions: Enterprise and Standard;
- Enterprise Edition can be licensed only "By Core". Standard also available on "Server+CAL*" basis;
- If you have SA** you can still use your old CAL licenses with SQL Server 2016 Enterprise Edition, but will be limited by usage of only 20 Cores on your server;
- Standard Edition is limited by 4 Sockets/16 Cores and 128 Gb of Memory;
- For "Core Based" license model you have to purchase at least 4 Core licenses, then you can add cores in increment of 2;
- Core Licensing model is used when the number of users/devices cannot be counted easily;
- If SQL components, such as: SSAS, SSRS, SSIS, DQC are installed separately from SQL Server they must be fully licensed the same way as a SQL Server;
- One License covers all SQL Server instances on the same physical or virtual box;
- If you have SA** and use one of Microsoft HA/DR solution you can have ONE free licensing for the secondary server as far as you do not read from it and do not perform any operations on it, such as DBCC CHECKDB etc.
- If you have License Mobility you can have one free license for Passive Secondary node in the Cloud;
- If you have more than one secondary Node, these additional Nodes have to be licesed individually;
- You can re-assign SQL Server licensing from one server to another once every 90 days. With SA** you can do it as often as you want;
- Every SQL Server must be licensed, unless it is Developer Edition or Evaluation version;
- You can't use Developer Edition for a production;
- If you have SA**you can have a right for free upgrade to a newer product version, but with the same edition;

*CAL - Client Access License. A license per user or any electronic device. (See my older post: CORE vs CALs);
**SA - Software Assurance agreement with Microsoft.  


"Multiplexing" is a term to limit usage of per CAL model.
You are prohibited to use CAL for devices/processes, which allow access to the SQL Server multiple peolpe or other servers. The best way to demonstrate "Multiplexing" is to provide list of prohibited cases of CAL licensing usage:

Case 1: Company has an application server, which extracts SQL Server data and generates a report, which is automatically sent to 10 individuals.
For that case you need 10 CAL Licenses for all people getting automated reports.

Case 2: Company has a department of 15 people, who scan documents through only one device connected to SQL Server to store scanned images.
For that case you need 15 CAL Licenses for all people who use that device to store scanned data into SQL Server.

Case 3: Company has a Web server, which uses SQL Server as a back end. Web application is used by all employees.
Obviously, you have to have CAL licenses for ALL your employees.

Case 4: Company has a Web server, which uses SQL Server as a back end. Web application is used by outside world.
Technically, you can buy CAL license for every logged user, but in that case it will be probably cheaper and easier go with Core Based licensing model. If you are not sure how many users you have, you must use only Core Based licensing model.

Case 5: Company installed a security system to keep records of all people entering the building.
You must use only Core Based licensing model because you do not know exact number of people triggering the SQL Server data entry.

Case 6: Company installed web camera on their building, which automatically stores videos in a SQL Server.
Because we can't determine how many people would have their pictures in SQL Server database, Microsoft requires to use Core Based licensing model.

*Somebody might disagree with these cases, but if you are not sure, you have to contact Microsoft in each individual case.


Licensing SQL Server in Virtual environment can be performed in two ways:

Per Virtual Machine 

You have to license SQL Server by number of Virtual Cores allocated for that machine. That is only option for those who runs Standard Edition under Core Based Licensing;
That method is preferrable for small organization with not very high SQL Server load.

Benefits: When you have only one virtual box with only four cores for a SQL Server on bigger Host machine, you license only/minimum four cores for your box and use other host resources by other non-SQL virtual machines.

Per Host 

You have to license SQL Server by total number of Physical Cores on that Host Machine;
Benefits: You have ability to assign down to one core per Virtual Machine, that allows you to have up to 16 Virtual SQL Server boxes on 16 core host.
For customers with SA (Software Assurance) available option to have even more Virtual Cores, utilized by SQL Servers, than physical cores.


Table of current estimated SQL Pricing ( Keep in mind that Core licenses sold in packs of two.
Edition, Core/CALPrice, USD
Enterprise, Per 2 Cores$ 14,256
Standard, Per 2 Cores$ 3,717
Standard Server for CAL$ 931
Standard, Per CAL$ 209

No comments:

Post a Comment