码迷,mamicode.com
首页 > 数据库 > 详细

sql server 2012不能全部用到CPU的逻辑核心数的问题

时间:2016-06-28 02:04:45      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:

最近在工作中遇到了,sql server 2012 不能把CPU 的核心全部用到的问题,想信也有很多人遇到这问题,那么今天这节就先说说这问题是怎么出现的。

首先  介绍下服务器的环境

 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  的标识了 !!
 

 

 

sql server 2012不能全部用到CPU的逻辑核心数的问题

标签:

原文地址:http://www.cnblogs.com/fooa1098/p/5621454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!