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

Если SQL Server 2005 работает на многопроцессорном компьютере, он определяет оптимальную степень параллелизма, то есть количество процессоров, задействованных для выполнения одной инструкции для каждого из планов параллельного выполнения. Для ограничения количества процессоров в плане параллельного выполнения может быть использован параметр max degree of parallelism. Установленное по умолчанию значение 0 использует все доступные процессоры. Чтобы отключить формирование параллельных планов, присвойте параметру 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).

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

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

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

См. также

Основные понятия

Параметр affinity mask
Параметр cost threshold for parallelism
Установка параметров конфигурации сервера
Параллельная обработка запросов
Настройка параллельных индексных операций
Установка параметров индекса
Параметр max worker threads

Другие ресурсы

RECONFIGURE (Transact-SQL)
Хранимая процедура 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)

Справка и поддержка

Получение помощи по SQL Server 2005