我一直在使用 CentOS 上的 SQL Server 为大型数据科学工作负载运行 PoC。我最近发现 SQL 只使用了 56 核服务器的 20 个核。我理解这是因为它是在 Server+CAL 许可模式下运行的,如 SQL 日志中的这条条目所示:
SQL Server 检测到 2 个插槽,每个插槽 28 个内核,每个插槽 28 个逻辑处理器,总共 56 个逻辑处理器;使用基于 SQL Server 许可的 20 个逻辑处理器。这是一条情报信息; 无需用户操作。
我知道我可以使用 mssql-conf 更改版本,但是是否可以更改许可模式以便我可以处理所有 CPU 插槽?
是的,使用了错误的 SQL Server 安装文件(用于基于 CAL 的设置)。正如 Aaron Bertrand 所解释的那样, 20 核限制版本专为从旧版本 SQL Server 升级的用户而设计。
请咨询为您提供 SQL Server 安装文件(ISO、CD、ZIP 等)的团队,以获取基于核心的安装文件而不是基于 CAL 的安装文件。
微软针对 Linux 的说明不包括 CentOS,但如果您通读该页面上的评论,它们会告诉您如何选择您的存储库。如果您仍在使用最新的 CU 存储库并且仍然遇到问题,请联系 Microsoft 支持 - 他们可能已将错误的二进制文件部署到存储库。(这不是局外人可以解决的问题。)
这似乎是 RHEL 包的默认行为。我已经通过完全删除和重新安装 SQL Server 来测试它,包括刷新存储库设置。在设置过程中选择企业版会导致我们使用 Server+CAL 旧版许可。输入产品密钥可能会改为启用按核心许可。
由于这是一个开发环境,我已更改为 Developer Edition,这将启用所有 56 个内核。