zoukankan      html  css  js  c++  java
  • 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  的标识了 !!
     
  • 相关阅读:
    java嵌套接口
    关于继承与多态
    重看Maven技术
    npm常用命令及参数总结
    vue.js和node.js的关系
    Invalid [xxx] in servlet mapping 、 <url-pattern>的匹配规则
    Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'name' in 'field list'
    关于中文词云生成报错
    easygui安装过程
    将写好的python软件打包成程序
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/13591098.html
Copyright © 2011-2022 走看看