這說明你所安裝的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 的版本信息