Sql-server – SQL Server on CentOS using CAL licensing

centossql serversql-server-2017

I have been running a PoC for a large data science workload with SQL Server on CentOS.
I recently discovered that SQL is using only 20 cores of a 56-core server. I understand that this is because it is operating under the Server+CAL licensing mode, as shown by this entry in the SQL log:

SQL Server detected 2 sockets with 28 cores per socket and 28 logical processors per socket, 56 total logical processors; using 20 logical processors based on SQL Server licensing. This is an informational message; no user action is required.

I know I can change Edition using mssql-conf, but is it possible to change the licensing mode so that I can address all CPU sockets?

Best Answer

Yes, the wrong SQL Server installation files (for the CAL-based setup) were used. The 20-core-limit version is designed for people upgrading from older versions of SQL Server, as explained by Aaron Bertrand.

Check with the team who got your installation files for SQL Server (ISO, CD, ZIP, etc) to get the core-based installation files instead of CAL-based installation files.

Microsoft's instructions for Linux don't include CentOS, but if you read through the comments on that page, they tell you how to pick your repo. If you're still using the latest CU repo and you're still getting the issue, then contact Microsoft support - they may have deployed the wrong binaries to the repo. (This wouldn't be something an outsider could fix.)