概述
当 SQL Server 在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of parallelism 选项来限制执行并行计划时所用的处理器数量。若要使服务器能够确定最大并行度,请将此选项设置为默认值 0。若将 maximum degree of parallelism 设置为 0,SQL Server 将能够使用至多 64 个可用的处理器。若要取消生成并行计划,请将 max degree of parallelism 设置为 1。将该值设置为大于 1 的数值来限制执行单个并行查询时所使用的最大处理器数。并行度设置的最大值由 SQL Server 的版本、CPU 类型和操作系统控制。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。
设置max degree of parallelism
1 通过sp_configure
max degree of parallelism 选项是高级选项。如果使用 sp_configure 系统存储过程来更改该设置,则仅当 show advanced options 设置为 1 时才可以更改 max degree of parallelism。该设置立即生效(无需重新启动 MSSQLSERVER 服务)。
以下示例将 max degree of parallelism 选项设置为 8。
sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO sp_configure 'max degree of parallelism', 8; GO RECONFIGURE WITH OVERRIDE; GO
2 通过SQL Server Management Studio
配置可用于并行查询的处理器数
-
在对象资源管理器中,右键单击服务器并选择“属性”。
-
单击“高级”节点。
-
在“最大并行度”框中,选择执行并行计划时所使用的最大处理器数。
如果默认值为 0,则使用所有可用的处理器。将 max degree of parallelism 设置为 1 以取消生成并行计划。将该值设置为大于 1 的数来限制执行单个并行查询时所使用的最大处理器数。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。