配置 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 权限由 sysadmin 和 serveradmin 固定服务器角色隐式持有。
使用 SQL Server Management Studio
配置 max degree of parallelism 选项
在“对象资源管理器”中,右键单击服务器并选择“属性”。
单击 “高级” 节点。
在 “最大并行度” 框中,选择执行并行计划时所使用的最大处理器数。
“使用 Transact-SQL”
配置 max degree of parallelism 选项
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例说明如何使用 sp_configure 将
max 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)
设置索引选项