Параметры конфигурации сервера (SQL Server)
Применимо к:SQL Server
Для оптимизации ресурсов SQL Server и управления ими можно изменять параметры конфигурации с помощью SQL Server Management Studio или системной хранимой процедуры sp_configure
. Наиболее часто используемые параметры конфигурации сервера доступны в среде SQL Server Management Studio; доступ ко всем параметрам конфигурации можно получить при помощи sp_configure
. Взвесьте возможные последствия для системы, прежде чем устанавливать эти параметры. Дополнительные сведения см. в разделе Просмотр или изменение свойств сервера (SQL Server).
Важно!
Расширенные параметры должны изменяться только опытным администратором базы данных или сертифицированным техническим специалистом по SQL Server.
Категории параметров конфигурации
Если влияние изменения конфигурации не очевидно, ее нельзя установить. Убедитесь, что run_value
параметра конфигурации был изменен.
Параметры конфигурации вступают в силу сразу после установки параметра и выдачи инструкции RECONFIGURE
(или в некоторых случаях RECONFIGURE WITH OVERRIDE
). Повторная настройка определенных параметров аннулирует определенные параметры в кэше планов, что приводит к компиляции новых планов. Дополнительные сведения см. в разделе DBCC FREEPROCCACHE (Transact-SQL).
Представление каталога sys.configurations
можно использовать, чтобы определить config_value
(столбец value
) и run_value
(столбец value_in_use
), а также понять, требует ли конфигурация параметра перезапуска ядра СУБД (столбец is_dynamic
).
Если требуется перезапустить SQL Server, параметры сначала будут отображаться только в столбце value
. После перезапуска новое значение отобразится в обоих столбцах, value
и value_in_use
.
Для некоторых параметров требуется перезапуск сервера прежде, чем новое конфигурационное значение вступит в силу. Если задано новое значение и выполнена процедура sp_configure
перед перезапуском сервера, то новое значение появится в столбце value
представления каталога sys.configurations
, но не в столбце value_in_use
. После перезапуска сервера новое значение отобразится в столбце value_in_use
.
Примечание
config_value
в результирующем наборе sp_configure
эквивалентен столбцу value
представления каталога sys.configurations
, а run_value
эквивалентен столбцу value_in_use
.
Самонастраивающимися называют те параметры, которые SQL Server самостоятельно изменяет в соответствии с потребностями системы. В большинстве случаев это позволяет избавиться от необходимости устанавливать значения вручную. Например, к таким параметрам относятся max worker threads и user connections.
Следующий запрос можно использовать, чтобы определить, что какие-либо настроенные значения не были установлены:
SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];
Если значение представляет изменение параметра конфигурации, но value_in_use
не совпадает, то либо команда RECONFIGURE
не выполнялась или завершилась сбоем, либо ядро СУБД требуется перезапустить.
Существует два варианта конфигурации, где value
и value_in_use
могут не совпадать, и такое поведение ожидаемо:
max server memory (MB) — настроенное по умолчанию значение
0
будет отображаться как2147483647
в столбцеvalue_in_use
.min server memory (MB) — настроенное по умолчанию значение
0
может отображаться в столбцеvalue_in_use
как8
в 32-разрядных системах или как16
в 64-разрядных системах. В отдельных случаях, еслиvalue_in_use
отображается как0
, истинным значениемvalue_in_use
является8
(32-разрядные) или16
(64-разрядные).
Столбец is_dynamic
можно использовать для определения необходимости перезапуска параметра конфигурации. Значение 1
в столбце is_dynamic
означает, что при выполнении команды RECONFIGURE
новое значение вступит в силу немедленно. В некоторых случаях ядро СУБД может не сразу оценить новое значение, однако это будет сделано в ходе обычного процесса выполнения. Значение 0
в столбце is_dynamic
означает, что измененное значение конфигурации не вступит в силу до перезапуска ядра СУБД, даже если выполнена команда RECONFIGURE
.
Если используется нединамический параметр конфигурации, невозможно определить, выполнялась ли команда RECONFIGURE
для применения изменений конфигурации. Перед перезапуском SQL Server для применения изменений выполните команду RECONFIGURE
, чтобы все изменения конфигурации вступили в силу после перезапуска.
Варианты настройки
В нижеследующей таблице приведены все доступные параметры конфигурации, диапазон возможных значений и значения по умолчанию. Параметры конфигурации помечаются буквенными кодовыми обозначениями, как показано ниже:
A = расширенные параметры, которые должен изменять только опытный администратор базы данных или сертифицированный специалист по SQL Server. Чтобы увидеть их в списке, для параметра "Отображение дополнительных параметров" нужно задать для
show advanced options
значение1
.RR = параметры, требующие перезапуска ядра СУБД.
RP = параметры, требующие перезапуска ядра PolyBase.
SC = Самонастраивающиеся параметры.
Параметр конфигурации | Минимальное значение | Максимальное значение | По умолчанию |
---|---|---|---|
access check cache bucket count (A) | 0 | 16384 | 0 |
access check cache quota (A) | 0 | 2147483647 | 0 |
ad hoc distributed queries (A) | 0 | 1 | 0 |
Время ожидания повторных попыток очистки ADR (мин) Применимо к: SQL Server 2019 (15.x) и более поздних версий. |
0 | 32767 | 120 |
Коэффициент предварительного выделения ADR Применимо к: SQL Server 2019 (15.x) и более поздних версий. |
0 | 32767 | 4 |
affinity I/O mask (A, RR) | -2147483648 | 2147483647 | 0 |
affinity mask (A) | -2147483648 | 2147483647 | 0 |
affinity64 I/O mask (A, доступно только в 64-разрядной версии SQL Server) | -2147483648 | 2147483647 | 0 |
affinity64 mask (A, RR), доступно только в 64-разрядной версии SQL Server | -2147483648 | 2147483647 | 0 |
Agent XPs (A) | 0 | 1 | 0 При запуске агент SQL Server изменяется на 1. Значение по умолчанию равно 0, если во время установки агент SQL Server установлен автоматический запуск. |
разрешить экспорт polybase Применимо к: SQL Server 2016 (13.x) и более поздних версий. |
0 | 1 | 0 |
allow updates (Устаревшие, не используется. Приведет к ошибке во время перенастройки.) | 0 | 1 | 0 |
automatic soft-NUMA disabled | 0 | 1 | 0 |
Контрольная сумма резервной копии: значение по умолчанию | 0 | 1 | 0 |
backup compression default | 0 | 1 — версии до SQL Server 2022 (16.x) 2– SQL Server 2022 (16.x) и более поздних версий |
0 |
Алгоритм сжатия резервных копий (A) Область применения: SQL Server 2022 (16.x) и более поздних версий. |
0 | 1 | 0 |
blocked process threshold (A) | 5 | 86400 | 0 |
c2 audit mode (A, RR) | 0 | 1 | 0 |
clr enabled | 0 | 1 | 0 |
clr strict security (A) Область применения: SQL Server 2017 (14.x) и более поздних версий. |
0 | 1 | 0 |
column encryption enclave type (A, RR) | 0 | 2 | 0 |
common criteria compliance enabled (A, RR) | 0 | 1 | 0 |
Проверка подлинности автономной базы данных | 0 | 1 | 0 |
cost threshold for parallelism (A) | 0 | 32767 | 5 |
cross db ownership chaining | 0 | 1 | 0 |
cursor threshold (A) | -1 | 2147483647 | -1 |
Database Mail XPs (A) | 0 | 1 | 0 |
default full-text language (A) | 0 | 2147483647 | 1033 |
язык по умолчанию | 0 | 9999 | 0 |
default trace enabled (A) | 0 | 1 | 1 |
disallow results from triggers (A) | 0 | 1 | 0 |
Поставщик расширенного управления ключами включен | 0 | 1 | 0 |
external scripts enabled (SC) (RR) Применимо к: SQL Server 2016 (13.x) и более поздних версий. |
0 | 1 | 0 |
уровень доступа файлового потока | 0 | 2 | 0 |
fill factor (A, RR) | 0 | 100 | 0 |
ft crawl bandwidth (max)(A) | 0 | 32767 | 100 |
ft crawl bandwidth (min)(A) | 0 | 32767 | 0 |
ft notify bandwidth (max)(A) | 0 | 32767 | 100 |
ft notify bandwidth (min)(A) | 0 | 32767 | 0 |
аппаратная разгрузка включена (A) Область применения: SQL Server 2022 (16.x) и более поздних версий. |
0 | 1 | 0 |
hadoop connectivity (RP) Применимо к: SQL Server 2016 (13.x) и более поздних версий. |
0 | 7 | 0 |
in-doubt xact resolution (A) | 0 | 2 | 0 |
index create memory (A, SC) | 704 | 2147483647 | 0 |
lightweight pooling (A, RR) | 0 | 1 | 0 |
locks (A, RR, SC) | 5000 | 2147483647 | 0 |
max degree of parallelism (A) | 0 | 32767 | 0 |
max full-text crawl range (A) | 0 | 256 | 4 |
max server memory (A, SC) | 16 | 2147483647 | 2147483647 |
max text repl size | 0 | 2147483647 | 65536 |
max worker threads (A) | 128 | 32767 Для 32-разрядной версии SQL Server рекомендуется использовать значение не выше 1024, а для 64-разрядной версии SQL Server — 2048. Примечание. SQL Server 2014 (12.x) — последняя версия, которая была доступна в 32-разрядной операционной системе. |
0 При нулевом значении максимальное число рабочих потоков настраивается автоматически в зависимости от количества логических процессоров по формуле (256 + (<логические процессоры> – 4) * 8) для 32-разрядного SQL Server и (512 + (<логические процессоры> – 4) * 8) для 64-разрядного SQL Server. Примечание. SQL Server 2014 (12.x) — последняя версия, которая была доступна в 32-разрядной операционной системе. |
media retention (A, RR) | 0 | 365 | 0 |
min memory per query (A) | 512 | 2147483647 | 1024 |
min server memory (A, SC) | 0 | 2147483647 | 0 |
вложенные триггеры | 0 | 1 | 1 |
network packet size (A) | 512 | 32767 | 4096 |
Ole Automation Procedures (A) | 0 | 1 | 0 |
open objects (A, RR, устаревший) | 0 | 2147483647 | 0 |
optimize for ad hoc workloads (A) | 0 | 1 | 0 |
PH_timeout (A) | 1 | 3600 | 60 |
polybase enabled (RR) Применимо к: SQL Server 2019 (15.x) и более поздних версий. |
0 | 1 | 0 |
Сетевое шифрование polybase | 0 | 1 | 1 |
precompute rank (A) | 0 | 1 | 0 |
priority boost (A, RR) | 0 | 1 | 0 |
query governor cost limit (A) | 0 | 2147483647 | 0 |
query wait (A) | -1 | 2147483647 | -1 |
Интервал восстановления (мин.) (A, SC) | 0 | 32767 | 0 |
remote access (RR) | 0 | 1 | 1 |
remote admin connections | 0 | 1 | 0 |
remote data archive | 0 | 1 | 0 |
remote login timeout | 0 | 2147483647 | 10 |
remote proc trans | 0 | 1 | 0 |
remote query timeout | 0 | 2147483647 | 600 |
Replication XPs Option (A) | 0 | 1 | 0 |
scan for startup procs (A, RR) | 0 | 1 | 0 |
server trigger recursion | 0 | 1 | 1 |
set working set size (A, RR, устаревший) | 0 | 1 | 0 |
show advanced options | 0 | 1 | 0 |
SMO and DMO XPs (A) | 0 | 1 | 1 |
suppress recovery model errors (A) Область применения: Управляемый экземпляр SQL Azure. |
0 | 1 | 0 |
tempdb metadata memory-optimized (A) Применимо к: SQL Server 2019 (15.x) и более поздних версий. |
0 | 1 | 0 |
transform noise words (A) | 0 | 1 | 0 |
two digit year cutoff (A) | 1753 | 9999 | 2049 |
user connections (A, RR, SC) | 0 | 32767 | 0 |
user options | 0 | 32767 | 0 |
xp_cmdshell (A) | 0 | 1 | 0 |