Licensing SQL Server has always been a bit of a pain point. Luckily, Microsoft hasn’t really changed anything in eight years. If you could license SQL 2012, 2014, or 2016, you can license SQL 2017 and 2019. There are a few new features in certain versions you may want to pay attention to, but as far as licensing the actual server itself, not a lot has changed. If you don’t remember how to license those, let’s look at some refresher blogs.
The most important parts of SQL licensing are making two decisions: Do you want Standard or Enterprise? And do you want Server + CAL or core licensing?
The “Standard versus Enterprise” decision is predominantly around a featureset. There are a LOT of features, so check out this Microsoft article for the features that are in each respectively. Infrastructure people: you’re probably going to want the database people to look at this instead of you because it’s a bit dense.
Once you’ve made that decision, it may have made the other decision for you. If you chose Enterprise, your only option is core-based licensing. In core licensing you can buy two-core packs, with a minimum of four cores for your SQL instances.
The other option is to get SQL Server + CAL licensing. If you do that, you have to buy a CAL for every user, but the server license itself is much cheaper. This is really only a significant benefit if you have around 30 users.
You can read about this in more depth on our other blog (it says SQL Server 2016 but the concepts still apply).
You can license physical servers with Enterprise for all their cores (to run unlimited VMs) or you can license an individual VM, again at a minimum of four cores. If you do core licensing, you don’t have to worry about CALs at all!
Finally, don’t forget about the ability to move a VM around. If you haven’t paid for the licensing on all physical servers, the only way to ‘legally’ move a VM between hosts is to have SA. SA entitles the license to move around with a VM rather than being tied to hardware. Assume you must always get SA if you’re a virtualized environment, unless you are licensing the physical cores.
Also, don’t forget about some of the fringe benefits of SQL licensing (yes, there are some). Microsoft only charges you for the active copy of your data. If you have a failover cluster, or a DAG and only one side is live at a time, then you ONLY have to license that living side. However, if it’s active then both sides must be licensed. If you’re doing an asynchronous replica into the cloud, that is also covered. Technically, you can have three copies of your data and only pay to license one!
You can read up more on the cost, the licensing models, SA and high availability with SQL Server with this Redmond Mag article.