• using 40 logical processors based on SQL Server licensing SqlServer CPU核心数限制问题


    公司服务器是120核心cpu,但是实际应用中只有40核,原因是业务部门发现服务器cpu承载30%的时候sql 就会卡死;

    然后从sqlserver 去查询,cpu核心数;

    SELECT COUNT(1) FROM SYS.DM_OS_SCHEDULERS WHERE SCHEDULER_ID<255

    结果:120

    但是cpu核心数对于sqlserver 是可以配置调节;

    然后查看在使用是多少个?

    SELECT COUNT(1) FROM SYS.DM_OS_SCHEDULERS WHERE SCHEDULER_ID<255 AND IS_ONLINE=1

    结果:40

    到此问题差不多有了答案! 下面找到就要解决:

    然后从启动日志ERROR 找到对应启动项,sqlserver 使用cpu数以及NUMA;---当然我所在公司服务器配置有点好,知道就行了;

    xp_readerrorlog

    (CPU)SQL Server detected 4 sockets with 15 cores per socket and 30 logical processors per socket, 120 total logical processors; using 40 logical processors based on SQL Server licensing. This is an        informational message; no user action is required.

    (NUMA)image

    从error上看,系统许可40逻辑cpu 给sqlserver 使用,那80cpu 岂不白白的浪费掉了;

    MSDN:

    这是SQL的企业版,所以我期待它使用所有处理器和机器的全部功能。我搜索许可指南,发现从SQL Server 2012起,有两个企业许可证 - 核心和基于服务器/ CAL为主。根据我的研究,基于CAL许可证限制SQL企业仅使用20个物理处理器。如果超线程已启用,这将是40个逻辑处理器。

    我们已经确定,这种行为是正确的,因为每个许可证他们购买。由于这是他们最重要的服务器,他们已经购买了基于内核许可。他们回来找我,问 - “?我们怎样才能改变安装的SQL Server使用的基于核心许可证”

    秘钥? 重新安装,再重启服务! 没办法了;

    Command:

    Setup.exe   /q /ACTION=editionupgrade /INSTANCENAME=MSSQLSERVER /PID=<PID key for new edition>” /IACCEPTSQLSERVERLICENSETERMS

    具体参数:(msdn)https://msdn.microsoft.com/zh-SG/library/df40c888-691c-4962-a420-78a57852364d(v=sql.110)

    也可以界面化:

    比如

    image 

    image

    OVER!

    坑爹又要收费;

  • 相关阅读:
    WCF配置文件注释
    WCF 契约
    等待窗口 or splash 窗体用法
    SOA架构概述
    在高负载网站性能优化
    WCF应用实例
    SOA快速指南 1 2 3,第 3 部分: 服务实现及架构设计
    WCF Binding
    已经添加了对EXCEL的引用,但在出现Microsoft.Office.Interop.Excel.Application没有定义
    Oracle 11g 转换内部编码
  • 原文地址:https://www.cnblogs.com/kingwwz/p/5892479.html
Copyright © 2020-2023  润新知