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

В этом разделе описываются способы настройки параметра конфигурации сервера max degree of parallelism в SQL Server 2012 с помощью среды Среда SQL Server Management Studio или Transact-SQL. Если экземпляр SQL Server работает на многопроцессорном компьютере, он определяет оптимальную степень параллелизма, то есть количество процессоров, задействованных для выполнения одной инструкции, для каждого из планов параллельного выполнения. Для ограничения количества процессоров в плане параллельного выполнения может быть использован параметр max degree of parallelism. SQL Server учитывает планы параллельного выполнения для запросов, операций DDL с индексами, а также заполнения статических курсоров и курсоров, управляемых набором ключей.

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

  • Перед началом работы

    Ограничения

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

    Безопасность

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

    Среда SQL Server Management Studio

    Transact-SQL

  • Дальнейшие действия.  После настройки параметра максимальной степени параллелизма

Перед началом работы

Ограничения

  • Если параметр affinity mask имеет значение, отличное от значения по умолчанию, он может ограничивать число процессоров, доступных для 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. Подключитесь к компоненту Компонент Database Engine.

  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

Дополнительные сведения см. в разделе Параметры конфигурации сервера.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Дальнейшие действия. После настройки параметра максимальной степени параллелизма

Параметр вступает в силу немедленно, без перезапуска сервера.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

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)

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

Параметр конфигурации сервера «affinity mask»

Параметры конфигурации сервера

Настройка параллельных операций с индексами

Установка параметров индекса