[转帖]sql server 2016不能全部用到CPU的逻辑核心数的问题

sql,server,不能,全部,用到,cpu,逻辑,核心,问题 · 浏览次数 : 0

小编点评

## SQL Server 2016 CPU核心数量问题分析 **问题出现的原因:** * SQL Server 2016 只能使用 40 个 CPU核心,而总核心数为 72。 * Process Group 技术只能利用其中的一组 40 核心的 CPU。 * 由于你的服务器使用的是 64 位企业版 SQL Server 2016,它只能使用其中的一组 40 核心的 CPU。 **解决方案:** * 升级 SQL Server 版本到 2016 企业版。 * 修改 SQL Server 配置,禁用 Process Group 技术。 **升级教程:** 1. 打开 SQL Server 管理工具。 2. 在“性能”选项卡中,点击“修改”。 3. 在“SQL Server 版本”下拉菜单中选择 “2016 Enterprise Edition”。 4. 点击“OK”。 **注意:** * 升级过程可能会导致一些数据丢失或变更。 * 确保备份所有数据库和相关数据。 * 建议事先测试升级过程,确保服务器正常运行。

正文

https://blog.csdn.net/u011966339/article/details/122969685

最近在工作中遇到了,sql server 2016 不能把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 是不是代表就能全部使用上呢,通过系统视图可以看到  

select  * from sys.dm_os_schedulers where is_online=1 AND status='VISIBLE ONLINE'

sql sever 真正用到的只有40个核心。

那么 我们知道,Process Group这个概念是在Windows  server 2008 (x64)才引入的技术,sql server 2008 R2 及以后的版本,都使用Process Group 的技术,为什么 sql server 2016 Enterprise Edition (64-bit) 的居然还有这问题,

是不是 有点说不过去呢?

是不是 sql 的版本不对,那么我通过 执行 select @@version  查看版本的命令 ,查出版本是 

Microsoft SQL Server 2016 (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 2016  企业版的有两种 , 一种就是上面看到的 ,他最多只能认到单组64核心,因为处理器编组的原因,它只用到了其中的一组40核心的,而另一组32核心的,没有办法再用到。

那么最简单的办法就是把现有sql 的版本给升级到 SQL SERVER 2016 ENTERPRISE CORE  Edition

打开 sqlserver 安装中心  如图:  

维护 -版本升级

   SQL Server 2016 Enterprise Core Edition: TBR8B-BXC4Y-298NV-PYTBY-G3BCP

  输入 core  版本的序列号,然后就 下一步  下一步  下一步  一直点下去 ,等它升级完了。    

接下来 ,我们再去看sql server  这时是不是真真正正的,全部都用上了 72个核心。     

这时,我们再用 SELECT @@version  看下sql 的版本信息

Microsoft SQL Server 2016 (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  的标识了 ,同时SQLSERVER的对内核的限制也取消了!!

文章知识点与官方知识档案匹配,可进一步学习相关知识

与[转帖]sql server 2016不能全部用到CPU的逻辑核心数的问题相似的内容:

[转帖]sql server 2016不能全部用到CPU的逻辑核心数的问题

https://blog.csdn.net/u011966339/article/details/122969685 最近在工作中遇到了,sql server 2016 不能把CPU 的核心全部用到的问题.通过分析工具看到 总共CPU核心有72核,但sql 只能用到40核心,想信也有很多人遇到这问题

[转帖]SQL Server 不同版本之间的 区别说明

2021-05-12 23:5062070原创SQLServer 本文链接:https://www.cndba.cn/dave/article/4527 SQL Server 数据库版本也是在不断的进行迭代。目前主流存在的版本有:SQL Server 2008、2012、2014、2016、2017

[转帖]SQL Server 聚集索引和 非聚集索引 说明

https://www.cndba.cn/dave/article/4506 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。 索引包含由表或视图中的一列或多列生成的键。 这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行。 1 聚集索引

[转帖]SQL Server 体系结构中的2个主要引擎 说明

2020-03-18 16:2321450原创SQLServer 本文链接:https://www.cndba.cn/dave/article/4498 SQL Server 由两个主要引擎组成∶关系引擎(relational engine)和存储引擎(storage engine)。 1 关系引擎

[转帖]SQL Server 内部数据库版本 及兼容表

2022-04-20 09:043100转载SQLServer Microsoft SQL Server 的较新版本创建的数据库无法附加或还原到较早的版本。之所以存在此限制,是因为较旧的版本不知道新版本中引入的文件格式有哪些变更。 如果你尝试将数据库附加到早期版本、或者还原到早期版本,将会收到 SQ

[转帖]Sql Server中通过sql命令获取cpu占用及产生锁的sql

https://www.jb51.net/article/266255.htm 这篇文章主要介绍了Sql Server中通过sql命令获取cpu占用及产生锁的sql,需要的朋友可以参考下 获取SQLSERVER中产生锁的SQL语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1

[转帖]SQL Server各版本序列号/激活码/License/秘钥

https://www.cnblogs.com/cqpanda/p/16184853.html SQL Server 2019# Enterprise:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8GEnterprise Core:2C9JR-K3RNG-QD4M4-JQ2HR-8468J

[转帖]SQL Server 2022 正式发布,支持 Azure 最多的 SQL Server 版本!

https://www.modb.pro/db/559467 SQLSERVER 最新版 2022年11月16日,我们宣布正式发布 SQL Server 2022,这是迄今为止支持 Azure 最多的 SQL Server 版本,并在性能、安全性和可用性方面不断创新。这标志着 SQL Server

[转帖]Sql Server 创建临时表

https://cdn.modb.pro/db/513973 创建临时表 方法一: create table #临时表名(字段1 约束条件,字段2 约束条件,.....) create table ##临时表名(字段1 约束条件,字段2 约束条件,.....) 方法二: select * into

[转帖]Sql Server - 文件和文件组体系结构

摘自 http://msdn.microsoft.com/zh-cn/library/ms179316(SQL.105).aspx SQL Server 将数据库映射为一组操作系统文件。数据和日志信息绝不会混合在同一个文件中,而且一个文件只由一个数据库使用。文件组是命名的文件集合,用于帮助数据布局和