配置 max degree of parallelism 服务器配置选项

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中配置 max degree of parallelism 服务器配置选项。 当 SQL Server 实例在具有多个微控制器或 CPU 的计算机上运行时,它会检测每个并行计划执行所用的处理器数(即用于运行单个语句的处理器数)的最佳并行度。 您可以使用 max degree of parallelism 选项来限制执行并行计划时所用的处理器数量。 SQL Server 考虑对查询、索引数据定义语言(DDL)操作以及静态和键集驱动的游标填充的并行执行计划。

本主题内容

开始之前

限制和局限

  • 如果未将关联掩码选项设置为默认值,则它可能会限制对称多处理 (SMP) 系统上的 SQL Server 可用的处理器数。

建议

  • 此选项是一个高级选项,应仅由经验丰富的数据库管理员或经认证的 SQL Server 技术人员更改。

  • 若要使服务器能够确定最大并行度,请将此选项设置为默认值 0。 将最大并行度设置为 0 允许 SQL Server 使用最多 64 个处理器的所有可用处理器。 若要取消生成并行计划,请将 max degree of parallelism 设置为 1。 将该值设置为 1 到 32,767 之间的数值来指定执行单个查询所使用的最大处理器核数。 如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。 如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。

  • 您可以通过在查询语句中指定 MAXDOP 查询提示来覆盖查询中的 max degree of parallelism 值。 有关详细信息,请参阅 查询提示 (Transact-SQL)

  • 索引操作(如创建或重新生成索引、或删除聚集索引)可能会大量占用资源。 您可以通过在索引语句中指定 MAXDOP 索引选项来覆盖索引操作的 max degree of parallelism 值。 MAXDOP 值在执行时应用于语句,但不存储在索引元数据中。 有关详细信息,请参阅 配置并行索引操作

  • 除了查询和索引操作之外,此选项还控制 DBCC CHECKTABLE、DBCC CHECKDB 和 DBCC CHECKFILEGROUP 的并行。 使用跟踪标志 2528,可以禁用为这些语句所做的并行执行计划。 有关详细信息,请参阅跟踪标志 (Transact-SQL)

安全性

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要执行带两个参数的 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,则用户必须具备 ALTER SETTINGS 服务器级别的权限。 ALTER SETTINGS 权限由 sysadminserveradmin 固定服务器角色隐式持有。

使用 SQL Server Management Studio

配置 max degree of parallelism 选项

  1. 在“对象资源管理器”中,右键单击服务器并选择“属性”

  2. 单击 “高级” 节点。

  3. “最大并行度” 框中,选择执行并行计划时所使用的最大处理器数。

“使用 Transact-SQL”

配置 max degree of parallelism 选项

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例说明如何使用 sp_configuremax degree of parallelism 选项的值配置为 8

USE AdventureWorks2012 ;  
GO   
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  
EXEC sp_configure 'max degree of parallelism', 8;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  

有关详细信息,请参阅服务器配置选项 (SQL Server)

跟进:在配置 max degree of parallelism 选项之后

该设置将立即生效,无需重新启动服务器。

另请参阅

affinity mask 服务器配置选项
RECONFIGURE (Transact-SQL)
服务器配置选项 (SQL Server)
sp_configure (Transact-SQL)
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL)
DBCC CHECKDB (Transact-SQL)
DBCC CHECKFILEGROUP (Transact-SQL)
配置并行索引操作
查询提示 (Transact-SQL)
设置索引选项