Thursday, July 24, 2014

SQL Server Licensing: CORE vs CALs. Do not waste your money.

Just recently on July 8th Microsoft stopped Mainstream Support for SQL Server 2008 and 2008R2.
Finally organizations are moving in direction of SQL Server 2012 and even 2014.

During this migration, Microsoft clients who used SQL Server Enterprise edition with CAL licensing model, face not easy dilemma: Switch to CORE licensing model or keep the old one based on CALs.

The difficulty of that decision is not only in predicting the future, but also in the fact that this decision is supposed to be final.

Will start from the very beginning.
In SQL Server 2008 licensing model you could buy server licenses on enterprise edition per CORE or based on User/Device CALs (Client Access License).
In SQL Server 2012 there is no option to have CAL licensing model for Enterprise edition. Also, CORE licenses sold in bundles: At first you have to by "4 cores" license and then you can add by two.

For some businesses that would be an additional spending.
Here is possible scenario:
- Company has server with two cores and want to install Enterprise edition of SQL Server for very limited number of users.
With SQL Server 2008 they could purchase one server license with 25 CALs and that would cost them about $13K.
With SQL Server 2012 they have to purchase Enterprise license for four Cores, which doubles their expenses.

However not everything is so bad. If you previously had SQL Server 2008 Enterprise edition + CALs and have Software Assurance (SA) from Microsoft you can upgrade you Enterprise server to version 2012 or 2014 and still use your CALs as in old licensing model.

There is a catch (#1): You will not be able to purchase additional CALs.
Would say company is growing in size, even just a little bit, if they have not enough CAL licenses they would have to purchase brand new SQL Server Enterprise.

Again, not everything is so bad. Companies with Microsoft Software Assurance, while they are on SQL Server 2008 Enterprise, can purchase CALs in advance and use them with the newer version!!!

And there is another catch (#2): CAL based licensing model supports only up to 20 cores. That means if you have only one user and 24 cores server you'd have to pay more than $160K forSQL Server Enterprise CORE licenses.

Read stories in internet how one company purchased 10000 CALs (over a million dollars spent) and then realized that their brand new 64 cores server can't be used.

So, for those who right now facing the decision to switch to CORE model or to buy more CALs I'd recommend to look at diagram I come up with*:

- Scale at the bottom represents number of cores. Diagram shows only 20 cores, if you have more cores and want to use them, or have more than 600 devices/users - forget about this article, you have to use CORE licensing model.

- Scale at the left is approximate amount of money you will spend for Enterprise edition licensed by COREs and Red line represents that number.

- Scale at the right represents number of CALs that would be equivalent in price with Enterprise model based on COREs. Green line represents that number.

Generally speaking, if you below green line in your CAL usage you better stay with CALs, if you are abowe, than it is more beneficial to go with CORE licensing model.

Situation You have 8 cores, which costs about $45K. That is an equivalent of about 220 CAL licenses.

If you have only 100 users/devices you can safely buy another 120 CALs to get the same price as with CORE and be able to expand your server for the same price.
If you already have 220 or more users, then most probably it would be better to go with CORE model.

Staying with CALs in that situation put you at risk of not having enough CALs in the future to accommodate all your new users.

Also, you have to always put into the account that you already spent a lot of money for existing CALs and Server licenses which you might to throw away....

Let stop for a second.
In the worst case scenario your CAL licenses won't be usable anymore....
You have an opportunity to build another 20 core server for BI purposes which will serve limited number of people in your company.

Also, SQL Server still has Server + CAL licensing model available for its Standard edition.
Here is diagram to compare CORE vs CAL licensing models:
 As you can see, with the same CAL pricing and cheaper Standard edition having Server+CAL licensing model is about three times less profitable than for Enterprise edition, but that is a good way to use your old CAL licenses.
Moreover, you can install several SQL Servers with Server+CAL model and all your devices/users covered by CALs will be able to access them.

Never waste your money!

* Diagram is not perfect it is based on approximate prices, which I've could find in the internet:
- SQL Server CAL license - $171.

- SQL Server Enterprise edition Server license - $7,026;
- SQL Server Enterprise edition one core license -$5,622 (you need at least four of them);
- SQL Server Standard edition Server license - $734;
- SQL Server Standard edition one core license -$1,466 (you need at least four of them);

Additional links (I've uploaded these documents to my Google Drive in case they disappear from MS site):
SQL Server 2008 - Licensing Quick Reference Guide
SQL Server 2012 - Licensing Guide
SQL Server 2012 -  Pricing Scenarios, Virtualization and License Mobility
SQL Server 2014 - Licensing DatasheetSQL Server 2014 - Licensing Guide
SQL Server Multiplexing - CAL requirements


  1. Hello Murygin,

    How many SQL licenses would I need to get for the simple scenarios below under the server + CAL plan.

    One SQL server which is queried by approximately 100 clients using Microsoft Dynamic Nav.

    One SQL server queried by approximately 100 clients using Microsoft Dynamic Nav and two administrators who manage the server


    1. You need two SQL Server licenses. How many CAL's you need depends on total number of physical people using both SQL Servers within YOUR organization. I assume it can be a range from 100 to 200. If there are external users accessing your system you have to document each external user with assigned CAL.
      Also, you need to cover your DBAs by CALs or MSDNs.

  2. Hello Murygin,
    For our Dynamic NAV, we have 25 users (in the setup list) but only have 7 full and 6 limited license for concurrent access. How many CAL for SQL server would we need? 25 or 13? We are running on SQL Express and I'm considering to upgrade to Standard due to DB size.

    Thank you

    1. For SQL Express you do not have to have any licensing, it is absolutely free with no warranties.
      If you want to go with Standard Edition to up to four cores the price will be almost the same and you do not have to worry about core licences, track them and make sure you do not have more devices/user than you have licenses.

      You might use CALs only in following case:
      1. You already have some CALs and you'll be able to purchase more if needed.
      2. You plan to upgrade your SQL Server to more than 4 cores in the future.
      3. You are absolutely sure that number of your users/devices will not grow significantly.

    2. Thank you!
      My Server is actually running on a VM and it's 6 cores, so thank you, I'm going to use CAL (as the number of users won't grow so fast)

  3. does it mean, if you purchase Core based license, you don't have to worry about number of users connecting to SQL Server? Please let me know. Thanks.

    1. Accordingly to the Guide - Yes. However, do not blindly fallow free answers in internet, which can cost you thousands of dollars.