SQL Server DB 基于多核CPU的设置

随着多核CPU的普及, SQL SERVER在处理并发情况会碰到这样一个情况: 一旦有个复杂查询占用了CPU, 则所有的CPU都会被Block住, 导致SQL Server的等待队列很长, 在这种情况下, CPU使用率也许不高, 磁盘IO的情况也很好, 但用户就是感觉慢.

SQL Server 2008 有一个参数(以前的版本有没有未测试), 可以设置多少个CPU去处理一个查询, 这样, 剩下的CPU可以去处理其它的复杂查询.

脚本如下

sp_configure 'show advanced options', 1;

GO

RECONFIGURE WITH OVERRIDE;

GO

sp_configure 'max degree of parallelism', 4;

GO

RECONFIGURE WITH OVERRIDE;

GO

注: 文章中的CPU是以核来算, 例如, 8个8核CPU, 就是64个CPU.

原文地址:https://www.cnblogs.com/micolour/p/1869675.html