“Do I need SQL CALs when using SharePoint?” This question came up recently while we were putting together a SharePoint solution for one of our clients … and it wasn’t the first time it has come up.
It’s a natural question. Here’s the scenario: you are setting up a SharePoint server. You need a SQL server on the backend to hold and manipulate all the data that SharePoint will need. But the users and endpoint devices will never touch the SQL server. They will just be accessing the SharePoint server. So naturally they won’t need SQL CALs, right? Wrong!
Let me introduce you to the term “multiplexing.” Multiplexing is essentially where one system sits in front of another system providing services to endpoint devices. Or, as Microsoft puts it in a volume licensing brief devoted to the subject:
‘Multiplexing’ is when customers use hardware or software to pool connections, reroute information, or reduce the number of devices or users that directly access or use a product. Multiplexing can also include reducing the number of devices or users a product directly manages.
This is illustrated in the diagram below. SQL server sits on the backend, the “pooling hardware or software” sits in the middle, and the users and devices access the pooling system from the outside. SharePoint would be an example of “pooling software.”
But again, the users and endpoints are never touching the SQL server so you would naturally think that SQL CALs would not be needed. However, you would be out of compliance if you did not buy SQL CALs for those users or devices.
Every User or Device Needs a CAL
Here is the key statement by Microsoft on the subject, taken from the same licensing brief:
“Multiplexing does not reduce the number of Microsoft licenses required. Users are required to have the appropriate licenses, regardless of their direct or indirect connection to the product. Any user or device that accesses the server, files, or data or content provided by the server that is made available through an automated process requires a CAL.”
In other words, since SharePoint is accessing the data in the SQL server and the user/endpoint is accessing SharePoint, then the user or endpoint needs a SQL CAL. Essentially, if you access SharePoint then you are accessing SQL as well.
Here is the full diagram from Microsoft’s licensing brief. It illustrates the point that whether you access the SQL server directly or indirectly, you need a CAL.
By now you may be saying, “If that’s the case, then my SharePoint project just became impossibly expensive! What’s the workaround?”
The other option you have is to use core licenses of SQL instead of server/CAL licenses. There are two ways to purchase SQL 2012:
- You can purchase a server license for the server, and CALs for all your users or endpoint devices; or …
- You can purchase core licenses for all the processor cores within the server. (CALs are not needed for this option.)
If you go with core-based licenses, then all your CAL problems go away. A million people could access that server and you would be all set … at least from a licensing standpoint. (But from a performance standpoint, I wouldn’t recommend a million hits on your server all at once.)
Which Option Should I Choose?
Last question on this topic: “At what point is it more cost effective for me to go with core-based licenses instead of server/CAL licenses?” The answer to that question depends on a number of factors (number of CPU cores running SQL, number of users, and number of devices), so let’s set up a simple example:
Let’s say you are a small shop and you want to have SQL Standard running on a single server with a dual-core processor. Should you go with core licenses or server/CAL licenses?
Well, it depends on the number of users or devices that need to access SQL. In this situation it would cost the same for you to buy core licenses as it would for you to buy a server license and 30 CALs.
Server/CAL Licensing vs. Core-Base Licensing for SQL Standard:
- 1 Server + 30 CALs = $7,168
- 4 Core Minimum = $7,172
So if you have over 30 users, then you should go with core licenses. If you have less than 30 users, then server/CAL licenses would be the way to go. (Note that there is a four-core minimum purchase if you go with the core licenses. Even though you only have a dual-core processor, you still need to license four cores.)