sp_configure (Transact-SQL)
Отображает или изменяет глобальные параметры конфигурации текущего сервера.
Синтаксис
sp_configure [ [ @configname = ] 'option_name'
[ , [ @configvalue = ] 'value' ] ]
Аргументы
[ @configname= ] 'option_name'
Имя параметра конфигурации. Аргумент option_name имеет тип varchar(35) и значение по умолчанию NULL. Компонент SQL Server Database Engine распознает любую уникальную строку, являющуюся частью имени конфигурации. Если этот параметр отсутствует, возвращается список всех параметров.Сведения о доступных параметрах конфигурации и их значениях см. в разделе Установка параметров конфигурации сервера.
[ @configvalue= ] 'value'
Новое значение параметра конфигурации. Аргумент value имеет тип int и значение по умолчанию NULL. Максимальное значение зависит от конкретного параметра.Максимальные значения всех параметров содержатся в столбце maximum представления каталога sys.configurations.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
При выполнении без аргументов хранимая процедура sp_configure возвращает результирующий набор с пятью столбцами и упорядочивает параметры в алфавитном порядке по возрастанию, как показано в следующей таблице.
Значения столбцов config_value и run_value не всегда эквивалентны. После обновления параметра конфигурации при помощи процедуры sp_configure администратор системы должен обновить активное значение этого параметра инструкцией RECONFIGURE или RECONFIGURE WITH OVERRIDE. Дополнительные сведения см. в разделе «Примечания».
Имя столбца |
Тип данных |
Описание |
---|---|---|
name |
nvarchar(35) |
Имя параметра конфигурации. |
minimum |
int |
Минимальное значение параметра конфигурации. |
maximum |
int |
Максимальное значение параметра конфигурации. |
config_value |
int |
Значение, в которое был установлен параметр конфигурации при помощи процедуры sp_configure (значение в столбце sys.configurations.value). Дополнительные сведения об этих параметрах см. в разделах Установка параметров конфигурации сервера и sys.configurations (Transact-SQL). |
run_value |
int |
Текущее активное значение параметра конфигурации (значение в столбце sys.configurations.value_in_use). Дополнительные сведения см. в разделе sys.configurations (Transact-SQL). |
Замечания
Хранимая процедура sp_configure используется для отображения или изменения параметров уровня сервера. Для изменения параметров уровня базы данных используйте инструкцию ALTER DATABASE. Для изменения параметров, влияющих только на сеанс текущего пользователя, используйте инструкцию SET.
Обновление активного значения конфигурации
При задании нового значения value для параметра option это значение отображается в столбце config_value результирующего набора. Это значение сначала отличается от значения в столбце run_value, в котором отображается текущее активное значение параметра конфигурации. Для обновления активного значения параметра конфигурации в столбце run_value администратор системы должен выполнить инструкцию RECONFIGURE или RECONFIGURE WITH OVERRIDE.
Обе инструкции — и RECONFIGURE, и RECONFIGURE WITH OVERRIDE — работают с любым параметром конфигурации. Однако базовая инструкция RECONFIGURE отклоняет значение параметра, выходящее за разумный диапазон или способное вызвать конфликт параметров. Например, инструкция RECONFIGURE возвращает ошибку, если значение параметра recovery interval превышает 60 минут или если значение параметра affinity mask пересекается со значением параметра affinity I/O mask. В противоположность этому, инструкция RECONFIGURE WITH OVERRIDE принимает любое значение параметра с правильным типом данных и инициирует повторную конфигурацию с заданным значением.
Внимание! |
---|
Недопустимое значение параметра может отрицательно сказаться на конфигурации экземпляра сервера. Поэтому использовать инструкцию RECONFIGURE WITH OVERRIDE следует с осторожностью. |
Инструкция RECONFIGURE выполняет динамическое обновление некоторых параметров; для обновления других параметров необходимо остановить и перезапустить сервер. Например, параметры использования памяти сервером min server memory и max server memory динамически обновляются в компоненте Database Engine; следовательно, их можно менять без перезапуска сервера. Напротив, для изменения активного значения параметра fill factor необходим перезапуск компонента Database Engine.
После выполнения инструкции RECONFIGURE для параметра конфигурации можно выяснить, изменился ли этот параметр динамически, запустив процедуру sp_configure"option_name". Значения в столбцах run_value и config_value должны совпадать, если значение параметра обновляется динамически. Можно также выяснить, какие параметры обновляются динамически, по столбцу is_dynamic представления каталога sys.configurations.
Примечание |
---|
Если заданное значение value слишком велико для параметра, столбец run_value отражает тот факт, что компонент Database Engine использует динамическое значение по умолчанию, а не заданное недопустимое. |
Дополнительные сведения см. в разделе RECONFIGURE (Transact-SQL).
Дополнительные параметры
Некоторые параметры конфигурации, например affinity mask и recovery interval, предоставляются как дополнительные. По умолчанию эти параметры недоступны для просмотра и изменения. Чтобы сделать их доступными, присвойте параметру конфигурации ShowAdvancedOptions значение 1.
Дополнительные сведения о параметрах конфигурации и их значениях см. в разделе Установка параметров конфигурации сервера.
Разрешения
Разрешения на выполнение хранимой процедуры sp_configure без аргументов или только с первым аргументом по умолчанию предоставляются всем пользователям. Для выполнения процедуры sp_configure с обоими аргументами для изменения параметра конфигурации или запуска инструкции RECONFIGURE необходимо иметь разрешение ALTER SETTINGS на уровне сервера. Разрешение ALTER SETTINGS неявно содержится в предопределенных ролях сервера sysadmin и serveradmin.
Примеры
A. Вывод списка дополнительных параметров конфигурации
В следующем примере демонстрируется, как установить и отобразить все параметры конфигурации. Дополнительные параметры конфигурации отображаются, если предварительно параметру show advanced option присвоить значение 1. После изменения этого параметра выполнение хранимой процедуры sp_configure без аргументов выводит все параметры конфигурации.
USE master;
GO
EXEC sp_configure 'show advanced option', '1';
Так выглядит ответное сообщение: «Параметр конфигурации "show advanced options" изменен с 0 на 1. Выполните инструкцию RECONFIGURE для установки».
Выполните инструкцию RECONFIGURE и отобразите все параметры конфигурации:
RECONFIGURE;
EXEC sp_configure;
Б. Изменение параметра конфигурации
В следующем примере системный параметр recovery interval устанавливается в 3 минуты.
USE master;
GO
EXEC sp_configure 'recovery interval', '3';
RECONFIGURE WITH OVERRIDE;