Поделиться через


Настройка параметра конфигурации сервера max degree of parallelism

В этом разделе описывается настройка max degree of parallelism параметра конфигурации сервера в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL. Когда экземпляр SQL Server выполняется на компьютере с несколькими микропроцессорами или ЦП, он обнаруживает лучшую степень параллелизма, то есть количество процессоров, используемых для выполнения одной инструкции, для каждого параллельного выполнения плана. Можно использовать параметр max degree of parallelism для ограничения числа процессоров, применяемых в планах параллельного выполнения. SQL Server рассматривает планы параллельного выполнения для запросов, операций языка определения данных индекса (DDL), а также статическое и управляемое набором ключей количество курсоров.

В этом разделе

Перед началом

Ограничения

  • Если параметр маски сходства не задан по умолчанию, он может ограничить количество процессоров, доступных SQL Server в симметричной многопроцессорной системе (SMP).

Рекомендации

  • Этот параметр является дополнительным вариантом и должен быть изменен только опытным администратором базы данных или сертифицированным специалистом SQL Server.

  • Чтобы разрешить серверу определять максимальную степень параллелизма, установите 0 в качестве значения данного параметра, то есть значение по умолчанию. Установка максимальной степени параллелизма в 0 позволяет SQL Server использовать все доступные процессоры до 64 процессоров. Чтобы отключить создание параллельных планов, присвойте параметру max degree of parallelism значение 1. Задайте значение для параметра в диапазоне от 1 до 32 767, чтобы указать максимальное количество процессорных ядер, которые могут быть использованы при выполнении одного запроса. Если указано значение, превышающее количество доступных процессоров, используется действительное количество доступных процессоров. Если у компьютера только один процессор, то значение параметра max degree of parallelism учитываться не будет.

  • Значение параметра max degree of parallelism можно переопределить, задав в инструкции указание запроса MAXDOP. Дополнительные сведения см. в разделе Указания запросов (Transact-SQL).

  • Операции по созданию и перестройке индексов, а также по удалению кластеризованного индекса могут оказаться достаточно ресурсоемкими. Значение параметра max degree of parallelism для операций с индексами можно переопределить, указав в инструкции параметр индекса MAXDOP. Значение 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

Настройка параметра максимальной степени параллелизма

  1. В обозревателе объектовщелкните правой кнопкой мыши сервер и выберите пункт Свойства.

  2. Щелкните узел Дополнительно .

  3. В поле Максимальная степень параллелизма укажите максимальное число процессоров, которое может быть использовано в плане параллельного выполнения.

Использование Transact-SQL

Настройка параметра максимальной степени параллелизма

  1. Соединитесь с ядром СУБД .

  2. На панели «Стандартная» нажмите Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере описывается использование процедуры 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)
Установка параметров индекса