我有 SQL 2016 标准版实例,在 2 个节点中有 40 个逻辑处理器。(2 个物理处理器 x 20 个内核 = 总共 40 个内核)
根据SQL Server 中“最大并行度”配置选项的建议和指南,我想将 MaxDOP 设置为 8
每个 NUMA 节点超过 8 个逻辑处理器 将 MAXDOP 保持在 8
但是每个最大并行度选项我只能设置为 4,但它看起来适用于 2008 年,我在 2016 年
并行度设置的最大值由 SQL Server 的版本控制,
实际我改成8,SQL没有报错,值一直是8。我把它改回0,继续研究。
我担心的是,如果我设置为 8,我可能真的将它设置为 4。在我进行任何更改之前,我想知道 8 = 8。我已经搜索并没有发现任何其他说明 MaxDOP 在新版本 SQL 中的限制是基于版本的。
SQL 2016+ 版本中的 MaxDOP 限制是否基于?
EDIT Soft NUMA 当前在启动时设置为 4 个节点。仍在学习,但如果我理解正确,我认为这意味着具有 10 个逻辑处理器的单个节点可以应用于任何一条语句(查询),因此将 MaxDOP 设置为 8 以保留两个处理器可能不值得付出努力,没有一些现有的问题需要解决。
EDIT2节点不限制并行性
将线程放在多个节点上;这是 SQL Server 做出的最常见的决定。该决定根据需要将工作人员分布在多个节点上。除了起始位置基于保存的、下一个节点、全局枚举器之外,该设计与 full 类似。 资源
SQL Server 2016 Enterprise Edition 允许您将 maxdop 设置为最高 64 的任何值。但是,SQL Server 2016 Standard Edition 对并行度有限制,根据此文档页面: