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


Параметр max degree of parallelism

Если SQL Server работает на многопроцессорном компьютере, он определяет оптимальную степень параллелизма, то есть количество процессоров, задействованных для выполнения одной инструкции для каждого из планов параллельного выполнения. Для ограничения количества процессоров в плане параллельного выполнения может быть использован параметр max degree of parallelism. Значение по умолчанию, равное 0, использует все доступные процессоры (до 64 ЦП). Чтобы отключить формирование параллельных планов, присвойте параметру max degree of parallelism значение 1. Значение выше 1 (до 64) позволяет ограничить максимальное количество процессоров, используемых при выполнении одного запроса. Если указано значение, превышающее число доступных процессоров, используется фактическое число доступных процессоров. Если у компьютера только один процессор, то значение параметра max degree of parallelism учитываться не будет.

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

SQL Server учитывает планы параллельного выполнения для запросов, операций языка определения данных (DDL) с индексами, а также заполнения статических курсоров и курсоров, управляемых набором ключей. Дополнительные сведения о параллельном выполнении см. в разделе Степень параллелизма.

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

Операции по созданию и перестройке индексов, а также по удалению кластеризованного индекса могут оказаться достаточно ресурсоемкими. Значение параметра max degree of parallelism для операций с индексами можно переопределить, указав в инструкции параметр индекса MAXDOP. Значение MAXDOP применяется к инструкции во время выполнения и в метаданных индекса не хранится. Дополнительные сведения см. в разделе Настройка параллельных операций с индексами.

Помимо запросов и операций с индексами, этот параметр также управляет степенью параллелизма при выполнении инструкций DBCC CHECKTABLE, DBCC CHECKDB и DBCC CHECKFILEGROUP. Планы параллельного выполнения для этих инструкций можно отключить с помощью флага трассировки 2528. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).

ПримечаниеПримечание

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

Установка параметра max degree of parallelism

Параметр max degree of parallelism является дополнительным. Если для изменения этого параметра используется системная хранимая процедура sp_configure, параметр max degree of parallelism можно изменить только в том случае, если параметр show advanced options установлен равным 1. Новые настройки вступают в силу немедленно (без перезапуска службы 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

Дополнительные сведения об установке значения для параметра max degree of parallelism в среде SQL Server Management Studio см. в разделе Как задать количество процессоров, доступных для параллельных запросов (среда SQL Server Management Studio).