这说明你所安装的SQL企业版本的License是CAL,而非Core,CAL有40个逻辑Core的限制。
2012,2016,2017,2019都有此问题。
安装SQL企业版时,一定要选择Enterprise Core序列号,而不是Enterprise。
你可以这样看一下版本:

或者执行脚本
SELECT SERVERPROPERTY('Edition') AS Edition , CASE SERVERPROPERTY('EditionID') WHEN 1804890536 THEN 'Enterprise Edittion: CAL Lincenseing' WHEN 1872460670 THEN ' Enterprise Edition: Core-based Licensing' WHEN 610778273 THEN 'Enterprise Evaluation' WHEN 284895786 THEN ' Business Intelligence' WHEN -2117995310 THEN 'Developer' WHEN -1592396055 THEN 'Express' WHEN -133711905 THEN 'Express with Advanced Services' WHEN -1534726760 THEN 'Standard' WHEN 1293598313 THEN 'Web' ELSE '' END AS License最近在工作中遇到了,sql server 2012 不能把CPU 的核心全部用到的问题.通过分析工具看到

总共CPU核心有72核,但sql 只能用到40核心,想信也有很多人遇到这问题,那么今天这节就先说说这问题是怎么出现的。
首先 介绍下服务器的环境
Windows 2008 R2 Enterprise Edition(X64) + Microsoft SQL Server 2012 (SP1)Enterprise Edition (64-bit)
CPU 2路 18核 开启超线程后是72核心 如图:

再看sql实例的属性 如图:

sql server 其实已经认出了总的核心数 72
那么sql server 是不是代表就能全部使用上呢,通过系统视图可以看到

sql sever 真正用到的只有40个核心。
那么 我们知道,Process Group这个概念是在Windows server 2008 (x64)才引入的技术,sql server 2008 R2 及以后的版本,都使用Process Group 的技术,为什么 sql server 2012 Enterprise Edition (64-bit) 的居然还有这问题,
是不是 有点说不过去呢?
是不是 sql 的版本不对,那么我通过 执行 select @@version 查看版本的命令 ,查出版本是
这时,我们再用 SELECT @@version 看下sql 的版本信息