Настройка памяти создания индекса (параметр конфигурации сервера)

Применимо к:SQL Server

В этом разделе описываются способы настройки параметра конфигурации сервера index create memory в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Параметр index create memory задает максимальный объем памяти, изначально выделяемый для операций сортировки при создании индексов. Значение этого параметра по умолчанию равно 0 (настраивается автоматически). Если в дальнейшем для создания индекса потребуется больший объем памяти и такой объем будет доступен, то сервер будет его использовать, тем самым превысив установку этого параметра. Если не будет доступной дополнительной памяти, то создание индекса продолжится с использованием уже выделенной памяти.

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

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

Ограничения

  • Параметр min memory per query имеет приоритет над параметром index create memory. Если изменяются оба параметра и значение параметра index create memory меньше значения min memory per query, то в системе отобразится предупреждающее сообщение, но это значение будет установлено. При выполнении запроса система выдаст такое же сообщение.

  • При использовании секционированных таблиц и индексов требования к минимальному объему памяти для создания индексов могут быть значительно увеличены при наличии несвязанных секционированных индексов и большой степени параллелизма. Этот параметр управляет общим начальным объемом памяти, выделенным для всех секций индекса в одной операции создания индекса. Если объем, установленный данным параметром меньше, чем минимально необходимый для выполнения запроса, то выполнение запроса прервется с сообщением об ошибке.

  • Рабочее значение этого параметра не будет превышать фактический объем памяти, используемый операционной системой и платформой оборудования, на которой выполняется SQL Server .

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

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

  • Параметр index create memory настраивается автоматически, и, как правило, дополнительная настройка не требуется. Однако при возникновении затруднений при создании индексов можно попробовать увеличить значение этого параметра.

  • Создание индекса в производственной системе обычно проводится редко, и часто выполняется в качестве планового задания в момент минимальной загрузки сервера. Поэтому увеличение параметра index create memory позволяет повысить производительность создания индексов, если индексы создаются редко, во время низкой загрузки. Более низкое значение параметра min memory per query можно указать, чтобы задание создания индексов запускалось даже в том случае, когда система не располагает требуемым объемом свободной памяти.

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

Разрешения

Разрешения на выполнение хранимой процедуры sp_configure без параметров или только с первым параметром по умолчанию предоставляются всем пользователям. Для выполнения процедуры sp_configure с обоими параметрами для изменения параметра конфигурации или запуска инструкции RECONFIGURE необходимо иметь разрешение ALTER SETTINGS на уровне сервера. Разрешение ALTER SETTINGS неявным образом предоставлено предопределенным ролям сервера sysadmin и serveradmin .

Использование среды SQL Server Management Studio

Настройка параметра index create memory

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

  2. Щелкните узел Память .

  3. В свойстве Память для создания индексавведите или выберите необходимое значение параметра.

    Параметр index create memory предназначен для управления объемом памяти, используемой операциями сортировки при создании индексов. Параметр Память при создании индекса конфигурируется автоматически, и в большинстве случаев его дополнительная настройка не требуется. Однако при возникновении затруднений при создании индексов можно попробовать увеличить значение этого параметра. Операции сортировки в запросах управляются параметром min memory per query .

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

Настройка параметра index create memory

  1. Установите соединение с компонентом Компонент Database Engine.

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

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере описывается использование процедуры sp_configure для задания значения параметра index create memory равным 4096.

USE AdventureWorks2022;  
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
EXEC sp_configure 'index create memory', 4096  
GO  
RECONFIGURE;  
GO  

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

Продолжение: после настройки параметра index create memory

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

См. также:

sys.configurations (Transact-SQL)
RECONFIGURE (Transact-SQL)
Параметры конфигурации сервера «Server Memory»
Параметры конфигурации сервера (SQL Server)
sp_configure (Transact-SQL)