Поделиться через


ИЗМЕНИТЬ КОНФИГУРАЦИЮ БАЗЫ ДАННЫХ (Transact-SQL)

Относится к: SQL Server 2016 (13.x) и более поздние версии: Azure SQL Database AzureSQL Managed Instance AzureSynapse AnalyticsSQL database in Microsoft Fabric

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

Important

Различные параметры DATABASE SCOPED CONFIGURATION поддерживаются в разных версиях SQL Server или службах Azure. На этой странице описаны всеDATABASE SCOPED CONFIGURATION параметры. Версии, в которых указаны применимые версии. Убедитесь, что вы используете синтаксис, доступный в версии сервиса, которую вы используете.

Следующие настройки поддерживаются в Azure SQL Database, SQL Database в Microsoft Fabric, Azure SQL Managed Instance и SQL Server, как указано в строке Apply to для каждого параметра в разделе Arguments :

  • очистить кэш процедур;
  • Задайте для параметра MAXDOP рекомендуемое значение (1, 2, ...) для базы данных-источника в зависимости от того, что лучше подходит для конкретной рабочей нагрузки, и задайте другое значение для баз данных-получателей, используемых запросами отчетов. Чтобы получить рекомендации по выбору MAXDOP, просмотрите конфигурацию сервера : максимальная степень параллелизма.
  • настроить модель оценки кратности оптимизатора запросов независимо от уровня совместимости базы данных;
  • включить или выключить перехват параметров на уровне базы данных;
  • включить или выключить исправления оптимизации запросов на уровне базы данных.
  • включить или выключить кэширование идентификации на уровне базы данных;
  • включить или выключить заглушку компилированного плана для сохранения в кэше при первом компилировании пакета.
  • включить или выключить сбор статистики выполнения для скомпилированных в собственном коде модулей Transact-SQL;
  • включить или отключить параметры подключения по умолчанию для инструкций DDL, поддерживающих синтаксис ONLINE =;
  • включить или отключить параметры возобновления по умолчанию для инструкций DDL, поддерживающих синтаксис RESUMABLE =;
  • Включение или отключение функции интеллектуальной обработки запросов.
  • Включение или отключение принудительного применения плана с ускорением.
  • Включите или отключите функцию автоподбора глобальных временных таблиц.
  • Включение или отключение упрощенной инфраструктуры профилирования запросов.
  • включить или отключить новое сообщение об ошибке String or binary data would be truncated.
  • Включает или отключает запись последнего действительного плана выполнения в sys.dm_exec_query_plan_stats.
  • Укажите, сколько минут приостановленная операция с восстанавливаемым индексом приостанавливается до того, как она будет автоматически прервана движком базы данных.
  • Включение или отключение ожидания блокировок с низким приоритетом для асинхронного обновления статистики.
  • Включение или отключение дайджестов реестра для отправки в Хранилище BLOB-объектов Azure.
  • Установите стандартную полнотекстовую индексную версию (1 или 2).

Этот параметр доступен только в Azure Synapse Analytics.

  • Задание уровня совместимости для пользовательской базы данных

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

Syntax

Синтаксис для SQL Server, базы данных SQL Azure или управляемого экземпляра SQL Azure:

ALTER DATABASE SCOPED CONFIGURATION
{
    { [ FOR SECONDARY ] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]

< set_options > ::=
{
    MAXDOP = { <value> | PRIMARY }
    | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
    | PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
    | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
    | IDENTITY_CACHE = { ON | OFF }
    | INTERLEAVED_EXECUTION_TVF = { ON | OFF }
    | BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
    | TSQL_SCALAR_UDF_INLINING = { ON | OFF }
    | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
    | XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
    | XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
    | ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | ACCELERATED_PLAN_FORCING = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
    | LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
    | VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
    | LAST_QUERY_PLAN_STATS = { ON | OFF }
    | PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
    | ISOLATE_SECURITY_POLICY_CARDINALITY  = { ON | OFF }
    | EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
    | ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
    | OPTIMIZED_PLAN_FORCING = { ON | OFF }
    | DOP_FEEDBACK = { ON | OFF }
    | CE_FEEDBACK = { ON | OFF }
    | PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
    | LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
    | OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
    | OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }
    | ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
    | PREVIEW_FEATURES = { ON | OFF }
    | FULLTEXT_INDEX_VERSION = <version>
}

Синтаксис Для Azure Synapse Analytics:

ALTER DATABASE SCOPED CONFIGURATION
{
    SET <set_options>
}
[;]

< set_options > ::=
{
    DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}

Arguments

ДЛЯ СРЕДНЕЙ ШКОЛЫ

Задает параметры для баз данных-получателей (все базы данных-получатели должны иметь одинаковые значения).

ОЧИСТИТЬ PROCEDURE_CACHE [plan_handle]

Очистка кэша процедур (планов) для базы данных. Может выполняться для баз данных-источников и баз данных-получателей.

Укажите дескриптор плана запроса, чтобы удалить отдельный план запроса из кэша планов.

Применимо к: Указание дескриптора плана запроса доступно в SQL Server 2019 (15.x) и более поздних версиях, Azure SQL Database и Azure SQL Managed Instance.

MAXDOP = {<значение> | PRIMARY }

<значение>

Задает параметр максимальной степени параллелизма, max degree of parallelism (MAXDOP), по умолчанию для использования в инструкциях. Значение 0 — это значение по умолчанию и указывает, что вместо этого используется конфигурация сервера. MAXDOP в области базы данных переопределяет (если он не установлен в 0) max degree of parallelism установку на уровне сервера на sp_configure. Указания запросов все равно могут переопределять MAXDOP в области базы данных для настройки конкретных запросов, требующих особых параметров. Все эти настройки ограничены набором MAXDOP для группы рабочей нагрузки.

Параметр MAXDOP можно использовать для ограничения числа процессоров, применяемых при параллельном выполнении планов. SQL Server учитывает планы параллельного выполнения для запросов, операций DDL с индексами, параллельной вставки, изменения столбца в режиме "в сети", параллельного сбора статистики и заполнения статических курсоров и курсоров, управляемых набором ключей.

Ограничение параметра max degree of parallelism (MAXDOP) задается для каждой задачи. Оно не задается для каждого запроса. Это означает, что при параллельном выполнении запроса один запрос может создавать несколько задач, которые назначены планировщику. Дополнительные сведения см. в руководстве по архитектуре потоков и задач.

Чтобы установить эту опцию на уровне экземпляра, см. Конфигурация сервера: максимальная степень параллелизма.

В База данных SQL Azure конфигурация с областью базы данных MAXDOP для новых баз данных одного и эластичного пула по умолчанию имеет значение 8. Дополнительные сведения и рекомендации по настройке MAXDOP оптимально в Базе данных SQL Azure см. в статье "Настройка MAXDOP" в Базе данных SQL Azure.

Tip

Для выполнения этого на уровне запросов используйте указание запросаMAXDOP.
На уровне сервера используйте параметр конфигурации серверамаксимальной степени параллелизма (MAXDOP).
На уровне рабочих нагрузок используйте параметр конфигурации группы рабочей нагрузки Resource GovernorMAX_DOP.

PRIMARY

Можно задать только для вторичных файлов, в то время как база данных находится на первичном сервере и указывает, что конфигурация — это один набор для первичного. Если конфигурация для сервера-источника изменится, значение в базах данных-получателях изменится соответственно, задавать значение базы данных-получателя явным образом не требуется. PRIMARY — это параметр по умолчанию для баз данных-получателей.

LEGACY_CARDINALITY_ESTIMATION = { ON | ВЫКЛЮЧЕНО | PRIMARY }

Позволяет указывать модель оценки кратности оптимизатора запросов в SQL Server 2012 и более ранних версиях независимо от уровня совместимости базы данных. По умолчанию используется OFF, который задает модель оценки кратности оптимизатора запросов на основе уровня совместимости базы данных. LEGACY_CARDINALITY_ESTIMATION Значение ON эквивалентно включению флага трассировки 9481.

Tip

Для выполнения этого на уровне запросов добавьте указание запросаQUERYTRACEON.

Для реализации этого на уровне запроса в SQL Server 2016 (13.x) с версиями Service Pack 1 и более поздними версиями добавьте подсказку запросаUSE HINT вместо использования флага трассировки.

PRIMARY

Это значение допустимо только для вторичных файлов, в то время как база данных находится на первичном сервере, и указывает, что параметр модели оценки кратности оптимизатора запросов для всех вторичных файлов является значением для первичного. Если конфигурация основного элемента для модели оценки кратности оптимизатора запросов изменяется, значение для вторичных файлов изменяется соответствующим образом. PRIMARY — это параметр по умолчанию для баз данных-получателей.

PARAMETER_SNIFFING = { ON | ВЫКЛЮЧЕНО | PRIMARY }

Включает или отключает сканирование параметров. Значение по умолчанию — ON. Значение <a0/> эквивалентно включению флага трассировки 4136.

Tip

Сведения об этом на уровне запроса см. в OPTIMIZE FOR UNKNOWNподсказке запроса.

В SQL Server 2016 (13.x) с пакетом обновления 1 (SP1) и более поздних версий для этого на уровне запроса также доступенUSE HINT подсказка запроса.

PRIMARY

Это значение допустимо только для баз данных-получателей, пока база данных находится на сервере-источнике; оно указывает, что значение этого параметра для всех баз данных-получателей будет равно значению, заданному для сервера-источника. Если конфигурация основного элемента для использования параметров, обнихивающих изменения, значение на вторичных файлах изменяется соответствующим образом без необходимости явно задать значение второго файла. PRIMARY — это параметр по умолчанию для баз данных-получателей.

QUERY_OPTIMIZER_HOTFIXES = { ON | ВЫКЛЮЧЕНО | PRIMARY }

Включает или отключает исправления оптимизации запросов независимо от уровня совместимости базы данных. Значение по умолчанию — OFF, которое отключает исправления оптимизации запросов, выпущенные после того, как был представлен самый высокий уровень совместимости для определенной версии (post-RTM). ON Это эквивалентно включению флага трассировки 4199.

Применяется к: SQL Server 2016 (13.x) и более поздним версиям, Azure SQL Database и Azure SQL Managed Instance

Tip

Для выполнения этого на уровне запросов добавьте указание запросаQUERYTRACEON.

Для реализации этого на уровне запроса в SQL Server 2016 (13.x) с версиями Service Pack 1 и более поздними версиями добавьте подсказку запроса USE HINT вместо использования флага трассировки.

PRIMARY

Это значение допустимо только для баз данных-получателей, пока база данных находится на сервере-источнике; оно указывает, что значение этого параметра для всех баз данных-получателей будет равно значению, заданному для сервера-источника. Если конфигурация для сервера-источника изменится, значение в базах данных-получателях изменится соответственно, задавать значение базы данных-получателя явным образом не требуется. PRIMARY — это параметр по умолчанию для баз данных-получателей.

IDENTITY_CACHE = { ON | OFF }

применимо к: SQL Server 2017 (14.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Включает и выключает кэширование идентификации на уровне базы данных. Значение по умолчанию — ON. Кэширование идентификаторов используется для повышения производительности инструкции INSERT в таблицах со столбцами идентификаторов. Чтобы избежать пробелов в значениях столбца удостоверений в случаях, когда сервер неожиданно перезапускается или выполняет отработку отказа на дополнительный сервер, отключите параметр IDENTITY_CACHE. Этот параметр аналогичен существующему флагу трассировки 272, за исключением того, что его можно задать на уровне базы данных, а не только на уровне сервера.

Note

Этот параметр можно задать только для сервера-источника. Дополнительные сведения см. в статье Столбцы идентификаторов.

INTERLEAVED_EXECUTION_TVF = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить выполнение с чередованием для функций с табличным значением и множеством инструкций в области базы данных или инструкции, сохранив уровень совместимости базы данных 140 или выше. Значение по умолчанию — ON. Межуровневое выполнение — это функция, которая входит в состав адаптивной обработки запросов в База данных SQL Azure. Дополнительные сведения см. в статье Интеллектуальная обработка запросов.

Note

Для уровня совместимости базы данных 130 или более низкого эта конфигурация области баз данных не оказывает влияния.

Только в SQL Server 2017 (14.x) параметр INTERLEAVED_EXECUTION_TVF имеет старое имя DISABLE_INTERLEAVED_EXECUTION_TVF.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить обратную связь по временно предоставляемому буферу памяти в пакетном режиме в области базы данных, сохранив уровень совместимости базы данных 140 или выше. Значение по умолчанию — ON. Отзыв о предоставлении памяти в пакетном режиме, представленный в SQL Server 2017 (14.x), является частью интеллектуального набора функций обработки запросов. Дополнительные сведения см. в отзыве о предоставлении памяти.

Note

Для уровня совместимости базы данных 130 или более низкого эта конфигурация области баз данных не оказывает влияния.

BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF}

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить адаптивные соединения в пакетном режиме в области базы данных, сохранив уровень совместимости базы данных 140 или выше. Значение по умолчанию — ON. Адаптивные соединения в пакетном режиме — это компонент интеллектуальной обработки запросов, представленный в SQL Server 2017 (14.x).

Note

Для уровня совместимости базы данных 130 или более низкого эта конфигурация области баз данных не оказывает влияния.

TSQL_SCALAR_UDF_INLINING = { ON | OFF }

Применимо к: SQL Server 2019 (15.x) и более поздних версиям, а также Azure SQL Database (функция находится в предварительном просмотре)

Позволяет включить или отключить встраивание скалярных определяемых пользователем функций для T-SQL в области базы данных, сохранив уровень совместимости базы данных 150 или выше. Значение по умолчанию — ON. Встраивание скалярных определяемых пользователем функций для T-SQL — одна из возможностей семейства функций интеллектуальной обработки запросов.

Note

Для уровня совместимости базы данных 140 или более низкого эта конфигурация области баз данных не оказывает влияния.

ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет выбирать параметры, предписывающие ядру автоматически переводить поддерживаемые операции в режим "в сети". Значение по умолчанию — OFF. Это означает, что операции не будут повышены до сети, если только не указано в инструкции. sys.database_scoped_configurations отражает текущее значение ELEVATE_ONLINE. Эти параметры применяются только к операциям, которые поддерживаются в Сети.

FAIL_UNSUPPORTED

Это значение переводит все поддерживаемые операции DDL в режим "в сети". Операции, которые не поддерживают выполнение в сети, завершаются ошибкой и вызывают ошибку.

Note

Добавление столбца в таблицу — это преимущественно операция в подключенном режиме. В некоторых сценариях, например при добавлении столбца, не допускающего значения NULL,, невозможно добавить столбец в режиме "в сети". В таких случаях, если задано FAIL_UNSUPPORTED, операция завершается ошибкой.

WHEN_SUPPORTED

Это значение изменяет режим выполнения операций, поддерживающих режим "в сети". Операции, которые не поддерживают интернет, выполняются в автономном режиме.

Note

Переопределить значение по умолчанию можно, отправив инструкцию с параметром ONLINE.

ELEVATE_RESUMABLE = { ВЫКЛЮЧЕНО | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет выбирать параметры, предписывающие ядру автоматически переводить поддерживаемые операции в возобновляемый режим. Значение по умолчанию — OFF. Это означает, что операции не будут повышены до возобновления, если только не указано в инструкции. sys.database_scoped_configurations отражает текущее значение ELEVATE_RESUMABLE. Эти параметры применяются только к операциям, которые поддерживают возобновление.

FAIL_UNSUPPORTED

Это значение переводит все поддерживаемые операции DDL в возобновляемый режим. Операции, не поддерживающие повторное выполнение, завершаются ошибкой и вызывают ошибку.

WHEN_SUPPORTED

Это значение изменяет режим выполнения операций, поддерживающих возобновляемое выполнение. Операции, которые не поддерживают возобновление, выполняются неуважительно.

Note

Переопределить значение по умолчанию можно, отправив инструкцию с параметром RESUMABLE.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Включает или отключает заглушку скомпилированного плана для сохранения в кэше при первой компиляции пакета. Значение по умолчанию — OFF. После включения OPTIMIZE_FOR_AD_HOC_WORKLOADS конфигурации с областью действия базы данных заглушка плана скомпилированного плана хранится в кэше при первом компиляции пакета. Заглушки плана расходуют меньше памяти по сравнению с полным скомпилированным планом. Если пакет компилируется или выполняется повторно, заглушка скомпилированного плана удаляется и заменяется полным скомпилируемым планом.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }

Область применения: База данных SQL Azure и Управляемый экземпляр SQL Azure

Включает или отключает сбор статистики выполнения на уровне модуля для скомпилированных в собственном коде модулей T-SQL в текущей базе данных. Значение по умолчанию — OFF. Статистика выполнения отражается в sys.dm_exec_procedure_stats.

Статистика выполнения на уровне модуля для скомпилированных в собственном коде модулей T-SQL собирается либо при значении ON этого параметра, либо если сбор статистики включен с помощью sp_xtp_control_proc_exec_stats.

XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }

Область применения: База данных SQL Azure и Управляемый экземпляр SQL Azure

Включает или отключает сбор статистики выполнения на уровне инструкций для скомпилированных в собственном коде модулей T-SQL в текущей базе данных. Значение по умолчанию — OFF. Статистика выполнения отражается в sys.dm_exec_query_stats и в хранилище запросов.

Статистика выполнения на уровне инструкций для модулей T-SQL, скомпилированных в собственном коде, собирается, если этот параметр ON, или если сбор статистики включен через sp_xtp_control_query_exec_stats.

Дополнительные сведения о мониторинге производительности встроенных скомпилированных модулей Transact-SQL см. в разделе "Мониторинг производительности скомпилированных хранимых процедур в собственном коде".

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить обратную связь по временно предоставляемому буферу памяти в построчном режиме в области базы данных, сохранив уровень совместимости базы данных 150 или выше. Значение по умолчанию — ON. Возможность предоставления отзывов о режиме строки, которая входит в состав интеллектуальной обработки запросов, появилась в SQL Server 2017 (14.x). Режим строки поддерживается в SQL Server 2019 (15.x) и База данных SQL Azure. Дополнительные сведения об отзыве о предоставлении памяти см. в статье "Предоставление памяти".

Note

Для уровня совместимости базы данных 140 или более низкого эта конфигурация области баз данных не оказывает влияния.

MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }

Область применения: SQL Server 2022 (16.x) и более поздние версии, а также база данных SQL Azure

Позволяет отключить процентиль обратной связи для временно предоставляемого буфера памяти для всех выполнений запросов, исходящих из базы данных. По умолчанию используется ON. Полные сведения см . в отзыве о предоставлении памяти в режиме процентиля и сохраняемости.

Note

Для уровня совместимости базы данных 140 или более низкого эта конфигурация области баз данных не оказывает влияния.

MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет отключить сохранение обратной связи для временно предоставляемого буфера памяти для всех выполнений запросов, исходящих из базы данных. По умолчанию используется ON. Полные сведения см . в отзыве о предоставлении памяти в режиме процентиля и сохраняемости.

Note

Для уровня совместимости базы данных 140 или более низкого эта конфигурация области баз данных не оказывает влияния.

BATCH_MODE_ON_ROWSTORE = { ON | OFF}

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить пакетный режим для данных rowstore в области базы данных, сохранив уровень совместимости базы данных 150 или выше. Значение по умолчанию — ON. Пакетный режим для данных rowstore — одна из возможностей семейства функций адаптивной обработки запросов.

Note

Для уровня совместимости базы данных 140 или более низкого эта конфигурация области баз данных не оказывает влияния.

DEFERRED_COMPILATION_TV = { ON | OFF}

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить отложенную компиляцию табличных переменных в области базы данных, сохранив уровень совместимости базы данных 150 или выше. Значение по умолчанию — ON. Отложенная компиляция табличных переменных — одна из возможностей семейства функций адаптивной обработки запросов.

Note

Для уровня совместимости базы данных 140 или более низкого эта конфигурация области баз данных не оказывает влияния.

ACCELERATED_PLAN_FORCING = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Включает оптимизированный механизм для принудительного применения плана запроса, допустимый для всех форм применения планов, таких как Принудительно использовать план хранилища запросов, Автоматическая настройка или подсказка запроса USE PLAN. Значение по умолчанию — ON.

Note

Не рекомендуется отключить принудительное принудительное выполнение плана.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет задать функцию автоподбора для глобальных временных таблиц. Значение по умолчанию — ON. Это означает, что глобальные временные таблицы автоматически удаляются при использовании сеансом или задачей. Если задано значение OFF, глобальные временные таблицы могут быть явно удалены с помощью инструкции DROP TABLE или автоматически удаляются при перезапуске ядра СУБД.

  • В отдельных базах данных SQL Azure и эластичных пулах этот параметр устанавливается в отдельных пользовательских базах данных.
  • В SQL Server и Управляемом экземпляре SQL Azure этот параметр должен быть установлен в tempdb. Параметр в отдельных пользовательских базах данных не действует.

LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Делает возможным включение или отключение упрощенной инфраструктуры профилирования запросов. Упрощенная инфраструктура профилирования запросов (LWP) предоставляет более эффективные данные производительности запросов по сравнению со стандартными механизмами профилирования. По умолчанию она включена. Значение по умолчанию — ON.

VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включить или отключить новое сообщение об ошибке String or binary data would be truncated. Значение по умолчанию — ON. В SQL Server 2019 (15.x) представлено новое, более конкретное сообщение об ошибке (2628) для этого сценария:

String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.

Если задано значение ON на уровне совместимости базы данных 150, ошибки усечения вызывают новое сообщение об ошибке 2628, чтобы обеспечить больше контекста и упростить процесс устранения неполадок.

Если задано значение OFF на уровне совместимости базы данных 150, ошибки усечения вызывают предыдущее сообщение об ошибке 8152.

Для уровня совместимости базы данных 140 или ниже сообщение об ошибке 2628 остается сообщением об ошибке, которое требует включения флага трассировки 460 , и эта конфигурация области базы данных не действует.

LAST_QUERY_PLAN_STATS = { ON | OFF }

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет включать и отключать сбор статистики последнего плана запроса (эквивалент фактического плана выполнения) в sys.dm_exec_query_plan_stats. Значение по умолчанию — OFF.

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Параметр PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES определяет время (в минутах), в течение которого возобновляемый индекс приостанавливается перед автоматическим прерыванием обработчиком.

  • Значение по умолчанию — один день (1440 минут)
  • Минимальная длительность — 1 минута
  • Максимальная длительность — 71 582 минуты
  • Если задано значение 0, приостановка операции никогда не прерывается автоматически.

Текущее значение этого параметра отображается в sys.database_scoped_configurations.

ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF}

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет контролировать, влияет ли предикат безопасности на уровне строки (RLS) на кардинальность плана выполнения общего пользовательского запроса. Значение по умолчанию — OFF. Когда ISOLATE_SECURITY_POLICY_CARDINALITY ВКЛЮЧЕНО, предикат RLS не влияет на кардинальность плана исполнения. Например, рассмотрим таблицу, содержащую 1 000 000 строк и предикат RLS, который ограничивает результат 10 строками для конкретного пользователя, выполняющего запрос. Если для этой конфигурации базы данных задано значение OFF, оценка кратности этого предиката составляет 10. Если эта конфигурация в области базы данных включена, оптимизация запросов оценивает 1 миллион строк. Рекомендуется использовать значение по умолчанию для большинства рабочих нагрузок.

DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }

Применимо к: Azure Synapse Analytics только

Обеспечивает для обработки запросов и Transact-SQL совместимость с указанной версией ядра СУБД. После установки при выполнении запроса в этой базе данных выполняются только совместимые функции. На каждом уровне совместимости поддерживаются различные улучшения обработки запросов. Каждый уровень поглощает функциональность предыдущего уровня. При первом создании базы данных по умолчанию устанавливается уровень совместимости AUTO, и это — рекомендуемый параметр. Уровень совместимости сохраняется даже после приостановки и возобновления работы базы данных, операций резервного копирования и восстановления. Значение по умолчанию — AUTO.

Уровень совместимости Comments
AUTO Default. Подсистема Synapse Analytics автоматически обновляет его значение, которое обозначается в виде 0 в sys.database_scoped_configurations. AUTO в настоящее время сопоставляется с функциональностью уровня совместимости 30.
10 Выполняет поведение обработчика запросов и Transact-SQL до внедрения поддержки уровня совместимости.
20 Первый уровень совместимости, включающий в себя поведение подсистемы запросов Transact-SQL и transact-SQL. Системная хранимая процедура sp_describe_undeclared_parameters поддерживается на этом уровне.
30 Включает новые функции обработчика запросов.
40 Включает новые функции обработчика запросов.
50 На этом уровне поддерживается многостолбное распределение. Чтобы узнать больше, см. СОЗДАТЬ ТАБЛИЦУ, СОЗДАТЬ ТАБЛИЦУ КАК SELECT И СОЗДАТЬ МАТЕРИАЛИЗОВАННЫЙ ВИД.
9000 Уровень совместимости предварительной версии. Предварительные версии функций, управляемые на этом уровне, рассматриваются в документации по конкретным функциям. Этот уровень также включает в себя возможности самого высокого уровня, отличного от9000.

EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Позволяет контролировать, отображается ли статистика выполнения для скалярных определяемых пользователем функций (UDF) в системном представлении sys.dm_exec_function_stats. Для некоторых интенсивных рабочих нагрузок, которые являются скалярными UDF-heavy, сбор статистики выполнения функций может привести к заметным затратам на производительность. Это можно избежать, задав для EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS конфигурации уровня базы данных значение OFF. Значение по умолчанию — ON.

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Если включено асинхронное обновление статистики, включение этой конфигурации приводит к тому, что фоновый запрос обновляет статистику для ожидания Sch-M блокировки очереди с низким приоритетом, чтобы избежать блокировки других сеансов в сценариях высокой параллелизма. Дополнительные сведения см. в разделе AUTO_UPDATE_STATISTICS_ASYNC. Значение по умолчанию — OFF.

OPTIMIZED_PLAN_FORCING = { ON | OFF }

Применимо к: SQL Server 2022 (16.x) и более поздним версиям, Azure SQL Database

Принудительное выполнение оптимизированного плана сокращает затраты на компиляцию при повторном выполнении принудительных запросов. Значение по умолчанию — ON. После создания плана выполнения запроса этапы компиляции сохраняются для повторного использования в виде сценария воспроизведения оптимизации. Сценарий воспроизведения оптимизации хранится как часть сжатого XML-файла Showplan в хранилище запросов в скрытом атрибуте OptimizationReplay. Дополнительные сведения о принудительном использовании оптимизированного плана с помощью хранилища запросов.

DOP_FEEDBACK = { ON | OFF }

Применимо к: SQL Server 2022 (16.x) и более поздних версий, Azure SQL Database, Azure SQL Managed Instance с SQL Server 2025 или политике обновления Always-up-to -date, SQL базе данных в Fabric

Определяет неэффективность параллелизма для повторяющихся запросов на основе затраченного времени и ожидания. Если использование параллелизма считается неэффективным, обратная связь DOP снижает DOP от настроенного ранее значения для следующего выполнения запроса и проверяет, помогло ли это. Требуется включить хранилище запросов и в режиме READ_WRITE. Дополнительные сведения см. в разделе Обратная связь о степени параллелизма (DOP). Значение по умолчанию — OFF.

CE_FEEDBACK = { ON | OFF }

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Обратная связь CE устраняет распознанные проблемы регрессии, возникающие из-за неправильных предположений модели CE при использовании стандартной CE (CE120 или более поздней версии), и может выборочно использовать различные предположения модели. Требуется включить хранилище запросов и в режиме READ_WRITE. Дополнительные сведения см. в разделе оценки кратности (CE). Значение по умолчанию ON уровня совместимости базы данных 160 и выше.

PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Оптимизация плана конфиденциальности параметров (PSP) устраняет сценарий, в котором один кэшированный план для параметризованного запроса не является оптимальным для всех возможных входящих значений параметров. Это относится к распределению неуниженных данных. Значение по умолчанию ON начиная с уровня совместимости базы данных 160. Дополнительные сведения см. в статье Оптимизация плана конфиденциальности параметров.

LEDGER_DIGEST_STORAGE_ENDPOINT = { <строка> URL-адреса конечной точки | OFF }

Область применения: SQL Server 2022 (16.x) и более поздних версий

Включает или отключает отправку дайджестов реестра в Хранилище BLOB-объектов Azure. Чтобы включить отправку дайджестов реестра, укажите конечную точку учетной записи хранения BLOB-объектов Azure. Чтобы отключить отправку дайджестов реестра, задайте для параметра значение OFF. Значение по умолчанию — OFF.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | OFF }

применяется к: SQL Server 2022 (16.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

Инициирует создание SQL Server фрагмента Showplan XML с параметром ParameterRuntimeValue при использовании инфраструктуры профилирования статистики выполнения упрощенного запроса или при выполнении динамического административного представления sys.dm_exec_query_statistics_xml при устранении неполадок при выполнении продолжительных запросов.

Important

Параметр FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION конфигурации с областью действия базы данных не должен быть включен непрерывно в рабочей среде, но только в целях устранения неполадок с ограниченным временем. При использовании этого параметра конфигурации в области базы данных вводятся дополнительные и, возможно, значительные затраты на ЦП и память, так как мы создадим фрагмент Showplan XML с сведениями о параметрах среды выполнения, независимо от того, включена ли инфраструктура sys.dm_exec_query_statistics_xml dmV или инфраструктуры профиля статистики выполнения упрощенных запросов.

OPTIMIZED_SP_EXECUTESQL = { ON | OFF }

Применяется к: SQL Server 2025 (17.x), Azure SQL Database и SQL Database в Microsoft Fabric

Включает или отключает поведение сериализации компиляции sp_executesql при компиляции пакета. Значение по умолчанию — OFF. Разрешение партий, которые раньше sp_executesql сериализируют процесс компиляции, снижает эффект компиляционных штормов. Шторм компиляции — это ситуация, когда одновременно компилируется большое количество запросов, что приводит к проблемам производительности и проблемам с ресурсами.

При OPTIMIZED_SP_EXECUTESQLONпервый запуск sp_executesql компилирует и вставляет скомпилированный план в кэш планов. Другие сеансы прерывают ожидание блокировки компиляции и повторно используют план после того, как он станет доступным. Это позволяет sp_executesql вести себя как объекты, такие как хранимые процедуры и триггеры с точки зрения компиляции.

OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }

Применимо к: SQL Server 2025 (17.x)

Включает или отключает функцию оптимизации плана опциональных параметров (OPPO ). Значение по умолчанию — ON.

При включении оптимизация адаптивного плана создает несколько планов выполнения для запросов, включающих необязательные параметры. Обычно эти планы выражаются с помощью предикатов в виде:

  • @p IS NULL AND @p1 IS NOT NULL
  • @p IS NULL OR @p1 IS NOT NULL

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

Значение по умолчанию начинается ON на уровне совместимости базы данных 170.

ALLOW_STALE_VECTOR_INDEX = { ON | OFF }

Область применения: База данных SQL Azure и база данных SQL в Microsoft Fabric

В настоящее время в Azure SQL Database и SQL Database в Microsoft Fabric векторные индексы делают таблицы только для чтения. Чтобы таблица была записываемой, используйте конфигурацию ALLOW_STALE_VECTOR_INDEX базы данных с ограниченной областью.

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';

Векторный индекс не обновляется при добавлении или обновлении новых данных в таблице. Чтобы обновить векторный индекс, нужно выбросить и воссоздать его.

Note

Опция конфигурации с ограничением ALLOW_STALE_VECTOR_INDEX базы данных в настоящее время недоступна в SQL Server 2025 (17.x).

FULLTEXT_INDEX_VERSION

Применимо к: SQL Server 2025 (17.x) и более поздним версиям, Azure SQL Database и Azure SQL Managed Instance

Устанавливает полнотекстовую версию индекса для создания или восстановления индексов. Эта конфигурация вступает в силу только при выпуске CREATE FULLTEXT INDEX либо оператора для новых индексов, либо ALTER FULLTEXT CATALOG ... REBUILD оператора для восстановления всех индексов в каталоге.

По состоянию на SQL Server 2025 (17.x) доступные версии:

Версия Comments
1 Определяет новые и переработанные индексы, использующие устаревшие полнотекстовые фильтры и компоненты разбивания слов из SQL Server 2022 (16.x) и более ранних версий для будущих популяций и запросов. Поскольку эти компоненты больше не включены в SQL Server 2025 (17.x) и более поздние версии, их необходимо копировать вручную с более старого экземпляра.
2 (по умолчанию) Определяет новые и перестроенные индексы, использующие компоненты полнотекстового фильтра и разбивающего слова, включённые в SQL Server 2025 (17.x), для будущих популяций и запросов.

Конфигурация FULLTEXT_INDEX_VERSION также управляет, какие полнотекстовые компоненты будут отображаться и используются в следующих системных процедурах, представлениях и функциях:

PREVIEW_FEATURES = { ON | OFF }

Применимо к: SQL Server 2025 (17.x)

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

По умолчанию используется OFF.

Пример использования этого параметра см. в разделе "Использование предварительных версий функций в SQL Server".

Caution

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

Permissions

Необходимо разрешение ALTER ANY DATABASE SCOPED CONFIGURATION для базы данных. Это разрешение может быть предоставлено пользователем, имеющим разрешение CONTROL для базы данных.

Remarks

Можно настроить базы данных-получатели с отличающимися по уровню от сервера-источника параметрами конфигурации, все базы данных-получатели используют одну и ту же конфигурацию. Разные параметры не могут быть настроены для отдельных вторичных файлов.

При выполнении этой инструкции очищается кэш процедур в текущей базе данных; это означает, что нужно перекомпилировать все запросы.

Для трех частей запросов имен параметры текущего подключения к базе данных для запроса учитываются, кроме модулей SQL (таких как процедуры, функции и триггеры), которые компилируются в другом контексте базы данных и поэтому используют параметры базы данных, в которой они находятся. Аналогичным образом при асинхронном обновлении статистики параметр ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY базы данных, в которой учитывается статистика.

Событие ALTER_DATABASE_SCOPED_CONFIGURATION добавляется дочерним элементом в группу триггеров ALTER_DATABASE_EVENTS в качестве события DDL, с помощью которого можно инициировать триггер DDL.

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

Начиная с SQL Server 2019 (15.x), в Базе данных SQL Azure и Управляемом экземпляре SQL Azure некоторые имена параметров изменились:

  • DISABLE_INTERLEAVED_EXECUTION_TVF изменено на INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK изменено на BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS изменено на BATCH_MODE_ADAPTIVE_JOINS

Проверка состояния параметра конфигурации базы данных с заданной областью

Чтобы проверить, включена ли конфигурация (1) или отключена (0) в базе данных, можно запросить sys.database_scoped_configurations. Например, чтобы проверить значение для LEGACY_CARDINALITY_ESTIMATION используйте следующий запрос:

USE <user_database>;
SELECT
    name,
    value,
    value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';

Limitations

MAXDOP

Детализированные параметры могут переопределять глобальные, а регулятор ресурсов может ограничивать все остальные параметры MAXDOP. Ниже приведена логика MAXDOP установки:

  • Указание запроса переопределяет процедуру sp_configure и параметр уровня базы данных. Если для группы рабочей нагрузки задана группа ресурсов MAXDOP:

    • Если подсказка запроса установлена в 0 (0), она переопределяется настройками регулятора ресурсов.

    • Если подсказка запроса не равна нулю (0), она ограничена настройками регулятора ресурсов.

  • Конфигурация с ограничением базы данных (если только это не ноль) переопределяет параметр sp_configure , если нет подсказки запроса, и ограничена регулятором ресурсов.

  • Настройка регулятора ресурсов перекрывает этот sp_configure сеттинг.

QUERY_OPTIMIZER_HOTFIXES

Если QUERYTRACEON указание используется для включения оптимизатора запросов по умолчанию SQL Server 7.0 до ВЕРСИИ SQL Server 2012 (11.x) или исправлений оптимизатора запросов, это будет условие OR между указанием запроса и параметром конфигурации с областью базы данных, то есть если это включено, применяются конфигурации с областью базы данных.

Гео-реплицированное восстановление после катастроф (DR)

Читаемые вторичные базы данных (Always On Availability Groups, Azure SQL Database и Azure SQL Managed Instance geo-replicated database) используют вторичное значение, проверяя состояние базы данных. Хотя повторная компиляция не происходит при резервировании, и технически новый основной сервер имеет запросы, использующие вторичные настройки, настройки между основным и вторичным меняются только при разной нагрузке. Таким образом, кэшированные запросы используют оптимальные настройки, тогда как новые запросы выбирают подходящие для них новые настройки.

DacFx

Эта ALTER DATABASE SCOPED CONFIGURATION функция доступна в SQL Server 2016 (13.x) и более поздних версиях, Azure SQL Database и Azure SQL Managed Instance. Поскольку это влияет на схему базы данных, экспорт схемы (с данными или без) нельзя импортировать в SQL Server 2014 (12.x) и более ранние версии. Например, экспорт в DACPAC или BACPAC из базы данных SQL Database или SQL Server 2016 (13.x), использующий эту функцию, не может быть импортирован на сервер нижнего уровня.

ELEVATE_ONLINE

Этот параметр применяется только к инструкциям DDL, поддерживающим синтаксис WITH (ONLINE = <syntax>). XML-индексы не затрагиваются.

ELEVATE_RESUMABLE

Этот параметр применяется только к инструкциям DDL, поддерживающим синтаксис WITH (RESUMABLE = <syntax>). XML-индексы не затрагиваются.

Metadata

Представление sys.database_scoped_configurations системы предоставляет информацию о конфигурациях с объёмом в базе данных. Настройки с базой данных отображаются sys.database_scoped_configurations только в виде переопределений серверных стандартных настроек. В системном представлении sys.configurations отображаются только настройки по всему серверу.

Examples

В этих примерах демонстрируется использование ALTER DATABASE SCOPED CONFIGURATION.

A. Предоставить разрешение

В этом примере разрешение на предоставление разрешения, необходимого для выполнения ALTER DATABASE SCOPED CONFIGURATION пользователю Joe.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];

B. Установка MAXDOP

В этом примере задается MAXDOP = 1 для базы данных-источника и MAXDOP = 4 для базы данных-получателя в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;

Этот пример устанавливает MAXDOP для вторичной базы данных таким же, как для её первичной базы данных в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;

C. Установка LEGACY_CARDINALITY_ESTIMATION

В этом примере LEGACY_CARDINALITY_ESTIMATIONON для базы данных-получателя в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;

Этот пример задаёт LEGACY_CARDINALITY_ESTIMATION вторичную базу данных такой, какой она находится на первичной базе данных в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;

D. Установка PARAMETER_SNIFFING

В этом примере PARAMETER_SNIFFINGOFF для базы данных-источника в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;

В этом примере PARAMETER_SNIFFINGOFF для базы данных-получателя в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;

Этот пример задаёт PARAMETER_SNIFFING вторичную базу данных такой, какой она находится на первичной базе данных в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;

E. Установка QUERY_OPTIMIZER_HOTFIXES

Задайте QUERY_OPTIMIZER_HOTFIXESON для базы данных-источника в сценарии георепликации.

ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;

F. Очистка кэша процедур

В этом примере очищается кэш процедур (возможно только для базы данных-источника).

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;

G. Установка IDENTITY_CACHE

применимо к: SQL Server 2017 (14.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

В этом примере отключается кэш идентификаторов.

ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;

H. Установка OPTIMIZE_FOR_AD_HOC_WORKLOADS

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

В этом примере включается заглушка скомпилированного плана для сохранения в кэше при первой компиляции пакета.

ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I. Установка ELEVATE_ONLINE

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

В этом примере для параметра ELEVATE_ONLINE задано значение FAIL_UNSUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;

J. Установка ELEVATE_RESUMABLE

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

В этом примере для параметра ELEVATE_RESUMABLE задано значение WHEN_SUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;

K. Очистка плана запроса из кэша планов

применяется к: SQL Server 2019 (15.x) и более поздним версиям, Базе данных SQL Azure и Управляемому экземпляру SQL Azure

В этом примере удаляется определенный план из кэша процедур:

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

L. Задать длительность паузы

Область применения: База данных SQL Azure и Управляемый экземпляр SQL Azure

В этом примере задается длительность паузы возобновляемого индекса 60 минут.

ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;

M. Включение и отключение отправки хэшей реестра

Область применения: SQL Server 2022 (16.x) и более поздних версий

Этот пример позволяет отправлять хэши реестра в учетную запись хранения Azure.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';

В этом примере отключается отправка хэшей реестра.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;

N. Включение предварительных версий функций

Включите возможность использования функций в предварительной версии.

ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';

O. Позвольте векторному индексу стать устаревшим

В Azure SQL и Fabric SQL в текущем состоянии Public Preview векторные индексы делают таблицы только для чтения. Чтобы сделать таблицу записываемой, включите следующую конфигурацию с объёмом базы данных:

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';

Векторный индекс не обновляется при добавлении или обновлении новых данных в таблице. Чтобы обновить векторный индекс, нужно выбросить и воссоздать его.

Эта опция конфигурации в настоящее время недоступна в SQL Server 2025 (17.x).

Дополнительные ресурсы

Ресурсы MAXDOP

LEGACY_CARDINALITY_ESTIMATION ресурсы

PARAMETER_SNIFFING ресурсы

QUERY_OPTIMIZER_HOTFIXES ресурсы

ELEVATE_ONLINE ресурсы

Рекомендации по операциям с индексами в сети

ELEVATE_RESUMABLE ресурсы

Рекомендации по операциям с индексами в сети