sp_configure (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure Не поддерживается Azure Synapse Analytics Analytics Platform System (PDW)

Отображает или изменяет глобальные параметры конфигурации текущего сервера.

Примечание

Сведения о параметрах конфигурации на уровне базы данных см. в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL). Сведения о настройке Soft-NUMA см. в разделе Soft-NUMA (SQL Server).

Соглашения о синтаксисе Transact-SQL

Синтаксис

-- Syntax for SQL Server  
  
sp_configure [ [ @configname = ] 'option_name'   
    [ , [ @configvalue = ] 'value' ] ]  
-- Syntax for Parallel Data Warehouse  
  
-- List all of the configuration options  
sp_configure  
[;]  
  
-- Configure Hadoop connectivity  
sp_configure [ @configname= ] 'hadoop connectivity',  
             [ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 }  
[;]  
RECONFIGURE  
[;]  

Аргументы

[ @configname = ] 'option_name' Имя параметра конфигурации. Аргументoption_name имеет тип varchar(35) , значение по умолчанию — NULL. Ядро СУБД SQL Server распознает любую уникальную строку, которая является частью имени конфигурации. Если этот параметр отсутствует, возвращается список всех параметров.

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

[ @configvalue = ] 'value' Новый параметр конфигурации. Аргументvalue имеет тип intи значение по умолчанию NULL. Максимальное значение зависит от конкретного параметра.

Чтобы просмотреть максимальное значение для каждого параметра, см. максимальный столбец представления каталога 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). Дополнительные сведения об этих параметрах см. в разделах Параметры конфигурации сервера (SQL Server) и sys.configurations (Transact-SQL).
run_value int Текущее выполняющееся значение параметра конфигурации (значение в sys.configurations.value_in_use).

Дополнительные сведения см. в статье sys.configurations (Transact-SQL).

Комментарии

Используйте sp_configure для отображения или изменения параметров на уровне сервера. Чтобы изменить параметры на уровне базы данных, используйте .ALTER DATABASE Чтобы изменить параметры, влияющие только на текущий сеанс пользователя, используйте инструкцию SET .

Некоторые параметры конфигурации сервера доступны только в инструкции ALTER SERVER CONFIGURATION (Transact-SQL).

Кластеры больших данных SQL Server

Для некоторых операций, в том числе настройки сервера (на уровне экземпляра) или добавления базы данных в группу доступности вручную, требуется подключение к экземпляру SQL Server. Для таких операций, как sp_configure, RESTORE DATABASE или любая команда DDL в базе данных, принадлежащей группе доступности, требуется соединение с экземпляром SQL Server. По умолчанию кластер больших данных не включает конечную точку, которая позволяет подключиться к этому экземпляру. Эту конечную точку необходимо предоставить вручную.

Инструкции см. в разделе Подключение к базам данных в первичной реплике.

Обновление активного значения конфигурации

При указании нового значения для параметра результирующий набор отображает это значение в столбце config_value . Это значение изначально отличается от значения в столбце run_value , в котором отображается текущее значение конфигурации. Чтобы обновить значение выполняемой конфигурации в столбце run_value , системный администратор должен выполнить команду RECONFIGURE или RECONFIGURE WITH OVERRIDE.

Обе инструкции — и RECONFIGURE, и RECONFIGURE WITH OVERRIDE — работают с любым параметром конфигурации. Однако базовая инструкция RECONFIGURE отклоняет значение параметра, выходящее за разумный диапазон или способное вызвать конфликт параметров. Например, RECONFIGURE создает ошибку, если значение интервала восстановления превышает 60 минут или значение маски сходства перекрывается со значением маски сходства ввода-вывода . В противоположность этому, инструкция RECONFIGURE WITH OVERRIDE принимает любое значение параметра с правильным типом данных и инициирует повторную конфигурацию с заданным значением.

Внимание!

Недопустимое значение параметра может отрицательно сказаться на конфигурации экземпляра сервера. Поэтому использовать инструкцию RECONFIGURE WITH OVERRIDE следует с осторожностью.

Инструкция RECONFIGURE выполняет динамическое обновление некоторых параметров; для обновления других параметров необходимо остановить и перезапустить сервер. Например, параметры min server memory и max server memory server memory server обновляются динамически в компоненте Компонент Database Engine. Поэтому их можно изменить без перезапуска сервера. В отличие от этого, перенастройка выполняющегося значения параметра коэффициента заполнения требует перезапуска ядра СУБД.

После запуска RECONFIGURE в параметре конфигурации можно узнать, обновляется ли параметр динамически, выполнив sp_configure option_name". Значения в столбцах run_value и config_value должны совпадать с динамически обновляемым параметром. Вы также можете проверить, какие параметры являются динамическими, просмотрев столбец is_dynamic представления каталога sys.configurations .

Изменение также записывается в журнал ошибок SQL Server.

Примечание

Если указанное значение слишком велико для параметра, столбец run_value отражает тот факт, что ядро СУБД по умолчанию использует динамическую память, а не использует недопустимый параметр.

Дополнительные сведения см. в статье RECONFIGURE (Transact-SQL).

Дополнительные параметры

Некоторые параметры конфигурации, такие как affinity mask и recovery interval, назначаются в качестве дополнительных параметров. По умолчанию эти параметры недоступны для просмотра и изменения. Чтобы сделать их доступными, задайте для параметра Конфигурации Показать дополнительные параметры значение 1.

Внимание!

Если параметр Показать дополнительные параметры имеет значение 1, этот параметр применяется ко всем пользователям. Рекомендуется использовать это состояние только временно и переключиться обратно на 0 по завершении задачи, требующей просмотра дополнительных параметров.

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

Разрешения

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

Примеры

A. Вывод списка дополнительных параметров конфигурации

В следующем примере демонстрируется, как установить и отобразить все параметры конфигурации. Дополнительные параметры конфигурации отображаются, если предварительно параметру show advanced options присвоить значение 1. После изменения этого параметра выполнение хранимой процедуры sp_configure без аргументов выводит все параметры конфигурации.

USE master;  
GO  
EXEC sp_configure 'show advanced options', '1';  

Вот сообщение: "Параметр конфигурации "показать дополнительные параметры" изменен с 0 на 1. Выполните инструкцию RECONFIGURE для установки.

Выполните инструкцию RECONFIGURE и отобразите все параметры конфигурации:

RECONFIGURE;  
EXEC sp_configure;  

Б. Изменение параметра конфигурации

В следующем примере системный параметр recovery interval устанавливается в 3 минуты.

USE master;  
GO  
EXEC sp_configure 'recovery interval', '3';  
RECONFIGURE WITH OVERRIDE;  

Примеры: Система платформы аналитики (PDW)

В. Список всех доступных параметров конфигурации.

В следующем примере демонстрируется, как создать список всех параметров конфигурации.

EXEC sp_configure;  

В результате возвращается имя параметра, за которым следуют его минимальное и максимальное значения. Config_value — это значение, которое Azure Synapse Analytics будет использовать после завершения перенастройки. run_value — это значение, которое используется в настоящий момент. Значения config_value и run_value , как правило, совпадают, если не находятся в процессе изменения.

Г. Список параметров конфигурации для одного имени конфигурации.

EXEC sp_configure @configname='hadoop connectivity';  

Д. Установка подключения к Hadoop.

Настройка подключения Hadoop требует еще нескольких действий, помимо выполнения sp_configure. Полную процедуру см. в разделе CREATE EXTERNAL DATA SOURCE (Transact-SQL).

См. также:

ALTER SERVER CONFIGURATION (Transact-SQL)
RECONFIGURE (Transact-SQL)
Инструкции SET (Transact-SQL)
Параметры конфигурации сервера (SQL Server)
ALTER DATABASE (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
sys.configurations (Transact-SQL)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
Архитектура Soft-NUMA (SQL Server)