sql server 2019不能全部用到CPU的邏輯核心數的問題


這說明你所安裝的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  查看版本的命令 ,查出版本是 

Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
    Dec 28 2012 20:23:12 
    Copyright (c) Microsoft Corporation
    Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
 
是64位 企業版的啊 ! 為什么不行? 經過網上查找發現 ,sql server 2012  企業版的有兩種 , 一種就是上面看到的 ,他最多只能認到單組64核心,因為處理器編組的原因,它只用到了其中的一組40核心的,而另一組32核心的,沒有辦法再用到。
 
那么最簡單的辦法就是把現有sql 的版本給升級到 SQL SERVER 2012 ENTERPRISE CORE  Edition
 
打開 sqlserver 安裝中心  如圖:  
   
   

 

維護  -版本升級
   

 

  輸入 core  版本的序列號,然后就 下一步  下一步  下一步  一直點下去 ,等它升級完了。
  
     

 

接下來 ,我們再去看sql server  這時是不是真真正正的,全部都用上了 72個核心。
 

     

這時,我們再用 SELECT @@version  看下sql 的版本信息

Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
    Dec 28 2012 20:23:12 
    Copyright (c) Microsoft Corporation
    Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
 
 
我們看到   Core-based Licensing  的標識了 !!
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM