Параметры ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET options (Transact-SQL)

Задает параметры базы данных в Microsoft SQL ServerSQL Server, База данных SQL AzureAzure SQL Database и Хранилище данных SQLSQL Data Warehouse.Sets database options in Microsoft SQL ServerSQL Server, База данных SQL AzureAzure SQL Database, and Хранилище данных SQLSQL Data Warehouse. См. дополнительные сведения о других параметрах ALTER DATABASE.For other ALTER DATABASE options, see ALTER DATABASE.

Щелкните одну из следующих вкладок, чтобы просмотреть синтаксис, аргументы, примечания, разрешения и примеры для используемой вами версии SQL.Select one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version that you're working with.

Дополнительные сведения о соглашениях о синтаксисе см. в статье Соглашения о синтаксисе в Transact-SQL.For more information about the syntax conventions, see Transact-SQL syntax conventions.

Выберите продуктSelect a product

В следующей строке выберите имя продукта, который вас интересует.In the following row, select whichever product name you're interested in. На этой веб-странице отобразится другой контент, относящийся к выбранному продукту.Doing that displays different content here on this webpage, appropriate for whichever product you select.

* SQL Server *  * SQL Server *   Отдельная база данных/эластичный пул Базы данных SQL
SQL Database
single database/elastic pool
Управляемый экземпляр Базы данных SQL
SQL Database
managed instance
Хранилище данных
SQL
SQL Data
Warehouse

 

SQL ServerSQL Server

Зеркальное отображение базы данных, Группы доступности AlwaysOnAlways On availability groups и уровни совместимости баз данных являются параметрами инструкции SET, но описаны в отдельных статьях в связи с большим объемом материала.Database mirroring, Группы доступности AlwaysOnAlways On availability groups, and compatibility levels are SET options but are described in separate articles because of their length. Дополнительные сведения см. в статьях Зеркальное отображение базы данных ALTER DATABASE (Transact-SQL), ALTER DATABASE (Transact-SQL) SET HADR и Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).For more information, see ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADR, and ALTER DATABASE compatibility level.

Конфигурации уровня базы данных используются для задания нескольких конфигураций базы данных на уровне отдельных баз данных.Database scoped configurations are used to set several database configurations at the individual database level. Дополнительные сведения см. в статье ALTER DATABASE SCOPED CONFIGURATION.For more information, see ALTER DATABASE SCOPED CONFIGURATION.

Примечание

Многие параметры инструкции DATABASE SET можно настроить только для текущего сеанса с помощью инструкций SET. Они часто задаются приложениями при подключении.Many database set options can be configured for the current session by using SET statements and are often configured by applications when they connect. Параметры инструкции SET уровня сеанса переопределяют значения ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Описанные в следующих разделах параметры базы данных являются значениями, которые можно задавать для сеансов, не предоставляющих явно другие значения параметра SET.The database options described in the following sections are values that you can set for sessions that don't explicitly provide other set option values.

СинтаксисSyntax

ALTER DATABASE { database_name | CURRENT }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}

<option_spec> ::=
{
    <accelerated_database_recovery>
  | <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <containment_option>
  | <cursor_option>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <external_access_option>
  | FILESTREAM ( <FILESTREAM_option> )
  | <HADR_options>
  | <mixed_page_allocation_option>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <remote_data_archive_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;

<accelerated_database_recovery> ::=
{
    ACCELERATED_DATABASE_RECOVERY = { ON | OFF }
     [ ( PERSISTENT_VERSION_STORE_FILEGROUP = { filegroup name } ) ];
}

<auto_option> ::=
{
    AUTO_CLOSE { ON | OFF }
  | AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
   {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
   }
}

<change_tracking_option_list> ::=
{
   AUTO_CLEANUP = { ON | OFF }
 | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}

<containment_option> ::=
   CONTAINMENT = { NONE | PARTIAL }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
  | CURSOR_DEFAULT { LOCAL | GLOBAL }
}

<database_mirroring_option>
  ALTER DATABASE Database Mirroring

<date_correlation_optimization_option> ::=
    DATE_CORRELATION_OPTIMIZATION { ON | OFF }

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF | SUSPEND | RESUME }

<db_state_option> ::=
    { ONLINE | OFFLINE | EMERGENCY }

<db_update_option> ::=
    { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
    { SINGLE_USER | RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::=
    DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<external_access_option> ::=
{
    DB_CHAINING { ON | OFF }
  | TRUSTWORTHY { ON | OFF }
  | DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | NESTED_TRIGGERS = { OFF | ON }
  | TRANSFORM_NOISE_WORDS = { OFF | ON }
  | TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}
<FILESTREAM_option> ::=
{
    NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL
  | DIRECTORY_NAME = <directory_name>
}
<HADR_options> ::=
    ALTER DATABASE SET HADR

<mixed_page_allocation_option> ::=
    MIXED_PAGE_ALLOCATION { OFF | ON }

<parameterization_option> ::=
    PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
    QUERY_STORE
    {
 = OFF
        | = ON [ ( <query_store_option_list> [,...n] ) ]
        | ( < query_store_option_list> [,...n] )
        | CLEAR [ ALL ]
    }
}

<query_store_option_list> ::=
{
      OPERATION_MODE = { READ_WRITE | READ_ONLY }
    | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
    | DATA_FLUSH_INTERVAL_SECONDS = number
    | MAX_STORAGE_SIZE_MB = number
    | INTERVAL_LENGTH_MINUTES = number
    | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
    | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
    | MAX_PLANS_PER_QUERY = number
    | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
    | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
    STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number
}

<recovery_option> ::=
{
    RECOVERY { FULL | BULK_LOGGED | SIMPLE }
  | TORN_PAGE_DETECTION { ON | OFF }
  | PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}

<remote_data_archive_option> ::=
{
    REMOTE_DATA_ARCHIVE =
    {
        ON ( SERVER = <server_name> ,
{CREDENTIAL = <db_scoped_credential_name>
   | FEDERATED_SERVICE_ACCOUNT = ON | OFF
}
      )
      | OFF
    }
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | DISABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS  
  | HONOR_BROKER_PRIORITY { ON | OFF}
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<target_recovery_time_option> ::=
    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

<termination>::=
{
    ROLLBACK AFTER number [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}
<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

АргументыArguments

database_name database_name
Имя изменяемой базы данных.The name of the database to be modified.

CURRENTCURRENT
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Выполняет действие в текущей базе данных.Runs the action in the current database. CURRENT работает не со всеми параметрами и не во всех контекстах.CURRENT isn't supported for all options in all contexts. Если CURRENT не работает, укажите имя базы данных.If CURRENT fails, provide the database name.

<accelerated_database_recovery> ::= <accelerated_database_recovery> ::=
Область применения: SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

Ускорение восстановления базы данных (ADR) для отдельных баз данных.Enables accelerated database recovery (ADR) per-database. По умолчанию в SQL Server 2019 (15.x)SQL Server 2019 (15.x) параметр ADR имеет значение OFF.ADR is set to OFF by default in SQL Server 2019 (15.x)SQL Server 2019 (15.x). Используя этот синтаксис, можно при необходимости назначить определенную файловую группу для данных постоянного хранилища версий (PVS).By using this syntax, you have the option to designate a specific file group for the Persistent Version Store (PVS) data. Если файловая группа не указана, PVS сохраняется в файловой группе PRIMARY.If no file group is specified, the PVS will be stored in the PRIMARY file group. Примеры и дополнительные сведения см. в разделе Ускоренное восстановление баз данных.For examples and more information, see Accelerated database recovery.

<auto_option> ::=<auto_option> ::=

Управляет автоматическими параметрами.Controls automatic options.

AUTO_CLOSE { ON | OFF }AUTO_CLOSE { ON | OFF }
ONON
База данных закрыта правильно, а ее ресурсы освобождены после выхода последнего пользователя.The database is shut down cleanly and its resources are freed after the last user exits.

База данных автоматически открывается, если пользователь снова пытается подключиться к ней.The database automatically reopens when a user tries to use the database again. Например, это поведение повторного открытия возникает, когда пользователь отправляет инструкцию USE database_name.For example, this reopen behavior occurs when a user issues a USE database_name statement. Работа базы данных может быть корректно завершена, если для параметра AUTO_CLOSE установлено значение ON.The database may shut down cleanly with AUTO_CLOSE set to ON. В этом случае база данных не открывается, пока пользователь не попытается использовать базу данных при следующем перезапуске Компонент Database EngineDatabase Engine.If so, the database doesn't reopen until a user tries to use the database the next time the Компонент Database EngineDatabase Engine restarts.

OFFOFF
База данных остается открытой после того, как последний пользователь вышел.The database remains open after the last user exits.

Параметр AUTO_CLOSE полезен для настольных баз данных, поскольку он позволяет управлять файлами базы данных так же, как обычными файлами.The AUTO_CLOSE option is useful for desktop databases because it allows for database files to be managed as regular files. Они могут быть перемещены, скопированы для создания резервной копии или даже отосланы по электронной почте другим пользователям.They can be moved, copied to make backups, or even emailed to other users. AUTO_CLOSE — это асинхронный процесс. Многократное открытие и закрытие базы данных не влияет на производительность.The AUTO_CLOSE process is asynchronous; repeatedly opening and closing the database doesn't reduce performance.

Примечание

В База данных SQLSQL Database или в автономной базе данных параметр AUTO_CLOSE недоступен.The AUTO_CLOSE option isn't available in a contained database or on База данных SQLSQL Database. Состояние этого параметра можно определить, проверив значение столбца is_auto_close_on в представлении каталога sys.databases или свойства IsAutoClose функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_auto_close_on column in the sys.databases catalog view or the IsAutoClose property of the DATABASEPROPERTYEX function.

Если параметр AUTO_CLOSE имеет значение ON, некоторые столбцы в представлении каталога sys.databases и функция DATABASEPROPERTYEX будут возвращать значение NULL, так как база данных будет недоступна для извлечения данных.When AUTO_CLOSE is set to ON, some columns in the sys.databases catalog view and the DATABASEPROPERTYEX function will return NULL because the database is unavailable to retrieve the data. Для решения этой проблемы выполните инструкцию USE, чтобы открыть базу данных.To resolve this issue, run a USE statement to open the database.

Зеркальное отображение базы данных требует, чтобы параметр AUTO_CLOSE был установлен в состояние OFF.Database mirroring requires AUTO_CLOSE OFF.

Если параметр базы данных AUTOCLOSE установлен в значение ON, то действия, инициирующие автоматическое закрытие базы данных, очищают кэш планов для экземпляра SQL ServerSQL Server.When the database is set to AUTOCLOSE = ON, an operation that initiates an automatic database shutdown clears the plan cache for the instance of SQL ServerSQL Server. Очистка кэша планов становится причиной перекомпиляции всех последующих планов выполнения и приводит к непредвиденному временному снижению производительности обработки запросов.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. В SQL Server 2005 (9.x)SQL Server 2005 (9.x) с пакетом обновления 2 (SP2) и выше для каждого удаленного хранилища кэша в кэше планов журнал ошибок SQL ServerSQL Server содержит следующее информационное сообщение: "SQL ServerSQL Server обнаружил %d экземпляров, записанных на диск хранилищ кэша для хранилища кэша "%s" (части кэша планов) в результате операций по обслуживанию или изменению конфигурации базы данных".In SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 and later, for each cleared cache store in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations." Это сообщение добавляется в журнал каждые пять минут при сбросе кэша в течение этого интервала времени.This message is logged every five minutes as long as the cache is flushed within that time interval.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
Оптимизатор запросов в случае необходимости создает статистику по отдельным столбцам в предикатах запросов, чтобы улучшить планы запросов и повысить производительность запросов.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Такая статистика по отдельным столбцам создается, когда оптимизатор запросов компилирует запросы.These single-column statistics are created when Query Optimizer compiles queries. Статистика по отдельным столбцам создается только для столбцов, ни один из которых не является первым столбцом в существующем объекте статистики.The single-column statistics are created only on columns that aren't already the first column of an existing statistics object.

Значение по умолчанию — ON.The default setting is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

OFFOFF
Оптимизатор запросов не создает статистику по отдельным столбцам в предикатах запросов во время компиляции запросов.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_create_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoCreateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в подразделе "Использование параметров статистики на уровне базы данных" раздела Статистика.For more information, see the section "Using the Database-wide statistics options" in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Применимо к: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) и выше), База данных SQL AzureAzure SQL DatabaseApplies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later) and База данных SQL AzureAzure SQL Database

Присваивает AUTO_CREATE_STATISTICS значение ON, а INCREMENTAL — значение ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Он создает автоматически создаваемые статистики как добавочные везде, где поддерживаются добавочные статистики.This sets automatically created stats as incremental whenever incremental stats are supported. Значение по умолчанию — OFF.The default value is OFF. Дополнительные сведения см. в описании CREATE STATISTICS (Transact-SQL).For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF } ONAUTO_SHRINK { ON | OFF } ON
Файлы базы данных являются кандидатами на периодическое сжатие.The database files are candidates for periodic shrinking.

И файлы данных, и файлы журналов могут быть автоматически сжаты.Both data files and log files can be automatically shrunk. AUTO_SHRINK уменьшает размер журнала транзакций только в том случае, если вы выбрали простую модель восстановления базы данных или создали резервную копию журнала.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Если параметр AUTO_SHRINK задан как OFF, файлы базы данных не будут автоматически сжиматься при периодической проверке на неиспользуемое пространство.When you set AUTO_SHRINK to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

При включенном параметре AUTO_SHRINK файлы будут сжаты, если более 25 процентов файла содержат неиспользуемое пространство.The AUTO_SHRINK option shrinks files when more than 25 percent of the file contains unused space. Он сжимает файл до одного из двух размеров (в зависимости от того, какое значение больше):It shrinks the file to one of two sizes (whichever is larger):

  • размер, при котором 25 процентов файла не используется;The size at which 25 percent of the file is unused space
  • размер файла при его создании.The size of the file when it was created

Нельзя сжать базу данных, находящуюся в состоянии только для чтения.You can't shrink a read-only database.

OFFOFF
Автоматическое сжатие файлов при периодической проверке на неиспользуемое пространство не производится.The database files are not automatically shrunk during periodic checks for unused space.

Вы можете определить состояние этого параметра, проверив столбец is_auto_shrink_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoShrink функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Примечание

В автономной базе данных параметр AUTO_SHRINK недоступен.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Указывает, что оптимизатор запросов обновляет статистику, если она используется в запросе и может оказаться устаревшей.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Статистика становится устаревшей, после того как операции вставки, обновления, удаления или слияния изменяют распределение данных в таблице или индексированном представлении.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Оптимизатор запросов определяет, когда статистика может оказаться устаревшей, подсчитывая операции изменения данных с момента последнего обновления статистики и сравнивая количество изменений с пороговым значением.Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Пороговое значение основано на количестве строк в таблице или индексированном представлении.The threshold is based on the number of rows in the table or indexed view.

Оптимизатор запросов проверяет наличие устаревшей статистики перед компиляцией запроса и выполняет кэшированный план запроса.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. Оптимизатор запросов с помощью столбцов, таблиц и индексированных представлений в предикате запроса определяет, какая статистика могла устареть.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Оптимизатор запросов определяет эти сведения перед компиляцией запроса.Query Optimizer determines this information before it compiles a query. Перед выполнением кэшированного плана запроса компонент Компонент Database EngineDatabase Engine проверяет, ссылается ли план запроса на актуальную статистику.Before running a cached query plan, the Компонент Database EngineDatabase Engine verifies that the query plan references up-to-date statistics.

Параметр AUTO_UPDATE_STATISTICS применяется к статистике, создаваемой для индексов и отдельных столбцов в предикатах запросов, и к статистике, создаваемой инструкцией CREATE STATISTICS.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Этот параметр также применяется к отфильтрованной статистике.This option also applies to filtered statistics.

Значение по умолчанию — ON.The default is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

Используйте параметр AUTO_UPDATE_STATISTICS_ASYNC, чтобы указать режим обновления статистики: синхронный или асинхронный.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Указывает, что оптимизатор запросов не обновляет статистику, если она используется в запросе.Specifies that Query Optimizer doesn't update statistics when they're used by a query. Оптимизатор запросов также не обновляет статистику, когда она становится устаревшей.Query Optimizer also doesn't update statistics when they might be out-of-date. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_update_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoUpdateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в подразделе "Использование параметров статистики на уровне базы данных" раздела Статистика.For more information, see the section "Using the Database-wide statistics options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Указывает, что обновление статистики для параметра AUTO_UPDATE_STATISTICS выполняется асинхронно.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. Оптимизатор запросов не ожидает завершения обновления статистики перед компиляцией запросов.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Установка этого параметра в состояние ON не будет иметь эффекта, если параметр AUTO_UPDATE_STATISTICS не установлен в состояние ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

По умолчанию параметр AUTO_UPDATE_STATISTICS_ASYNC имеет значение OFF, а оптимизатор запросов обновляет статистику в синхронном режиме.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Указывает, что обновление статистики для параметра AUTO_UPDATE_STATISTICS выполняется синхронно.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. Оптимизатор запросов ожидает завершения обновления статистики перед компиляцией запросов.Query Optimizer waits for statistics updates to complete before it compiles queries.

Примечание

Установка этого параметра в значение OFF не будет иметь эффекта, если параметр AUTO_UPDATE_STATISTICS не установлен в значение ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Вы можете определить состояние этого параметра, проверив столбец is_auto_update_stats_async_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Дополнительные сведения, описывающие условия применения синхронного и асинхронного обновлений статистики, см. в разделе "Параметры статистики" статьи Статистика.For more information that describes when to use synchronous or asynchronous statistics updates, see the "Statistics options" section in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Область применения: SQL ServerSQL Server (начиная с SQL Server 2017 (14.x)SQL Server 2017 (14.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x))

Включает или отключает параметр автоматической настройки FORCE_LAST_GOOD_PLAN.Enables or disables FORCE_LAST_GOOD_PLAN Automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
ONON
Компонент Database EngineDatabase Engine автоматически включает последний известный удачный план для Transact-SQLTransact-SQL запросов, когда новый план запроса приводит к снижению производительности.The Компонент Database EngineDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Компонент Database EngineDatabase Engine непрерывно отслеживает производительность запроса Transact-SQLTransact-SQL в форсированном плане.The Компонент Database EngineDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan.

В случае повышения производительности Компонент Database EngineDatabase Engine будет продолжать использовать последний известный удачный план.If there are performance gains, the Компонент Database EngineDatabase Engine will keep using last known good plan. Если повышений производительности нет, Компонент Database EngineDatabase Engine создаст новый план запроса.If performance gains are not detected, the Компонент Database EngineDatabase Engine will produce a new query plan. Инструкция завершится ошибкой, если хранилище запросов не включено или не находится в режиме Чтение и запись.The statement will fail if the Query Store isn't enabled or if the Query Store isn't in Read-Write mode.

OFFOFF
Компонент Database EngineDatabase Engine сообщает о потенциальном снижении производительности запросов, вызванном изменениями планов запросов в представлении sys.dm_db_tuning_recommendations.The Компонент Database EngineDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Однако эти рекомендации не применяются автоматически.However, these recommendations are not automatically applied. Пользователь может отслеживать активные рекомендации и устранять выявленные проблемы, применяя сценарии Transact-SQLTransact-SQL, которые отображаются в представлении.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Значение по умолчанию — OFF.The default value is OFF.

<change_tracking_option> ::= <change_tracking_option> ::=
Применимо к: SQL ServerSQL Server и База данных SQLSQL DatabaseApplies to: SQL ServerSQL Server and База данных SQLSQL Database

Определяет параметры отслеживания изменений.Controls change tracking options. Отслеживание изменений можно включить или отключить, а также установить или изменить параметры.You can enable change tracking, set options, change options, and disable change tracking. Примеры использования см. далее в этой статье.For examples, see the "Examples" section later in this article.

ONON
Включает отслеживание изменений для базы данных.Enables change tracking for the database. При включении отслеживания изменений также необходимо задать параметры AUTO CLEANUP и CHANGE RETENTION.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
ONON
Данные отслеживания изменений автоматически удаляются по истечении заданного срока хранения.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Данные отслеживания изменений не удаляются из базы данных автоматически.Change tracking data isn't automatically removed from the database.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Указывает минимальный срок хранения данных отслеживания изменений в базе данных.Specifies the minimum period for keeping change tracking information in the database. Данные удаляются, только если для параметра AUTO_CLEANUP установлено значение ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period — целое число, указывающее числовой компонент срока хранения.retention_period is an integer that specifies the numerical component of the retention period.

Период хранения по умолчанию — 2 дня.The default retention period is 2 days. Минимальный срок хранения составляет 1 минуту.The minimum retention period is 1 minute. Тип хранения по умолчанию — DAYS.The default retention type is DAYS.

OFFOFF
Отключает отслеживание изменений для базы данных.Disables change tracking for the database. Перед отключением отслеживания изменений для базы данных предварительно отключите отслеживание изменений для всех таблиц.Disable change tracking on all tables before you disable change tracking off the database.

<containment_option> ::= <containment_option> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Управляет параметрами автономной работы базы данных.Controls database containment options.

CONTAINMENT = { NONE | PARTIAL}CONTAINMENT = { NONE | PARTIAL}
NoneNONE
База данных не является автономной.The database isn't a contained database.

PARTIALPARTIAL
Это автономная база данных.The database is a contained database. Задать параметр частичной автономности базы данных невозможно, если в базе данных включена репликация, сбор данных об изменениях или отслеживание изменений.Setting database containment to partial will fail if the database has replication, change data capture, or change tracking enabled. Проверка на наличие ошибок прекращается после обнаружения первой ошибки.Error checking stops after one failure. Дополнительные сведения об автономных базах данных см. в разделе Автономные базы данных.For more information about contained databases, see Contained Databases.

<cursor_option> ::=<cursor_option> ::=

Управляет параметрами курсора.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Любые курсоры, открытые при фиксации или откате транзакции, закрываются.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Курсоры остаются открытыми при завершении транзакции; откат транзакции закрывает любые курсоры (кроме тех, которые имеют свойства INSENSITIVE или STATIC).Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Настройки уровня соединения, которые установлены с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая CURSOR_CLOSE_ON_COMMIT в значение OFF для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Состояние этого параметра можно определить, проверив значение столбца is_cursor_close_on_commit_on в представлении каталога sys.databases или свойства IsCloseCursorsOnCommitEnabled функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function.

CURSOR_DEFAULT { LOCAL | GLOBAL }CURSOR_DEFAULT { LOCAL | GLOBAL }
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Управляет тем, какую область (LOCAL или GLOBAL) использует курсор.Controls whether cursor scope uses LOCAL or GLOBAL.

LOCALLOCAL
Когда вы указываете область LOCAL и не определяете курсор как GLOBAL при его создании, область действия курсора является локальной.When you specify LOCAL and don't define a cursor as GLOBAL when you create the cursor, the cursor's scope is local. В частности, область действия является локальной по отношению к пакету, хранимой процедуре или триггеру, в котором вы создали курсор.Specifically, the scope is local to the batch, stored procedure, or trigger in which you created the cursor. Имя курсора действительно только внутри этой области.The cursor name is valid only within this scope.

На курсор могут ссылаться локальные переменные пакета, хранимые процедуры, триггеры или выходной параметр хранимой процедуры.The cursor can be referenced by local cursor variables in the batch, stored procedure, or trigger, or a stored procedure OUTPUT parameter. Курсор будет неявно освобожден при завершении пакета, хранимой процедуры или триггера.The cursor is implicitly deallocated when the batch, stored procedure, or trigger ends. Курсор освобождается, если он не был передан обратно в параметре OUTPUT.The cursor is deallocated unless it was passed back in an OUTPUT parameter. Курсор может передаваться обратно в параметре OUTPUT.The cursor might be passed back in an OUTPUT parameter. Если курсор передается таким образом, он будет освобожден, когда последняя переменная, которая ссылается на него, будет освобождена или выйдет из области.If the cursor passes back this way, the cursor is deallocated when the last variable that references the cursor is deallocated or goes out of scope.

GLOBALGLOBAL
Если параметр GLOBAL задан и курсор во время создания не определен как LOCAL, то область курсора глобальна относительно соединения.When GLOBAL is specified, and a cursor isn't defined as LOCAL when created, the scope of the cursor is global to the connection. Имя курсора может использоваться любой хранимой процедурой или пакетом, которые выполняются в соединении.The cursor name can be referenced in any stored procedure or batch executed by the connection.

Курсор неявно освобождается только при отключении.The cursor is implicitly deallocated only at disconnect. Дополнительные сведения см. в описании DECLARE CURSOR (Transact-SQL).For more information, see DECLARE CURSOR.

Вы можете определить состояние этого параметра, проверив столбец is_local_cursor_default в представлении каталога sys.databases.You can determine this option's status by examining the is_local_cursor_default column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsLocalCursorsDefault функции DATABASEPROPERTYEX.You can also determine the status by examining the IsLocalCursorsDefault property of the DATABASEPROPERTYEX function.

<database_mirroring> <database_mirroring>
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Описания аргументов см. в статье Зеркальное отображение базы данных ALTER DATABASE (Transact-SQL).For the argument descriptions, see ALTER DATABASE Database Mirroring.

<date_correlation_optimization_option> ::= <date_correlation_optimization_option> ::=
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Управляет параметром date_correlation_optimization.Controls the date_correlation_optimization option.

DATE_CORRELATION_OPTIMIZATION { ON | OFF }DATE_CORRELATION_OPTIMIZATION { ON | OFF }
ONON
SQL ServerSQL Server поддерживает статистику корреляции, где ограничение FOREIGN KEY связывает любые две таблицы в базе данных, и таблицы имеют столбцы datetime.maintains correlation statistics where a FOREIGN KEY constraint links any two tables in the database and the tables have datetime columns.

OFFOFF
Статистика корреляции не поддерживается.Correlation statistics are not maintained.

Для установки параметра DATE_CORRELATION_OPTIMIZATION в состояние ON не должно быть активных соединений с базой данных (за исключением соединения, в котором выполняется инструкция ALTER DATABASE).To set DATE_CORRELATION_OPTIMIZATION to ON, there must be no active connections to the database except for the connection that's executing the ALTER DATABASE statement. Впоследствии возможность нескольких соединений будет поддерживаться.Afterwards, multiple connections are supported.

Текущее состояние этого параметра можно определить по столбцу is_date_correlation_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_date_correlation_on column in the sys.databases catalog view.

<db_encryption_option> ::=<db_encryption_option> ::=

Определяет параметры шифрования базы данных.Controls the database encryption state.

ENCRYPTION { ON | OFF | SUSPEND | RESUME }ENCRYPTION { ON | OFF | SUSPEND | RESUME }
ONON
Включает шифрование базы данных.Sets the database to be encrypted.

OFFOFF
Отключает шифрование базы данных.Sets the database to not be encrypted.

SUSPENDSUSPEND
Область применения: SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))
Позволяет приостанавливать сканирование шифрования после включения или отключения прозрачного шифрования данных либо после смены ключа шифрования.Can be used to pause the encryption scan after Transparent Data Encryption has been enabled or disabled, or after the encryption key has been changed.

RESUMERESUME
Область применения: SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))
Позволяет возобновить ранее приостановленное сканирование шифрования.Can be used to resume a previously paused encryption scan.

Дополнительные сведения см. в статьях о прозрачном шифровании данных и прозрачном шифровании данных для Базы данных SQL Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Если включить шифрование на уровне базы данных, будут зашифрованы все файловые группы.When encryption is enabled at the database level, all file groups will be encrypted. Все новые файловые группы наследуют свойство шифрования.Any new file groups will inherit the encrypted property. Если любая файловая группа базы данных установлена в состояние READ ONLY, операция шифрования базы завершится неуспешно.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Состояние шифрования базы данных и состояние сканирования шифрования можно просмотреть с помощью динамического административного представления sys.dm_database_encryption_keys.You can see the encryption state of the database as well as the state of the encryption scan by using the sys.dm_database_encryption_keys dynamic management view.

<db_state_option> ::= <db_state_option> ::=
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Управляет состоянием базы данных.Controls the state of the database.

OFFLINEOFFLINE
База данных аккуратно закрыта и помечена как вне сети.The database is closed, shut down cleanly, and marked offline. В автономном режиме базу данных невозможно изменить.The database can't be modified while it's offline.

ONLINEONLINE
База данных открыта и доступна для использования.The database is open and available for use.

EMERGENCYEMERGENCY
База данных помечена как READ_ONLY, ведение журнала отключено и доступ возможен только элементам предопределенной роли сервера sysadmin.The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. EMERGENCY используется в основном для диагностики.EMERGENCY is primarily used for troubleshooting purposes. Например, база данных, помеченная как подозрительная из-за поврежденного файла журнала, может быть переведена в состояние EMERGENCY.For example, a database marked as suspect because of a corrupted log file can be set to the EMERGENCY state. Таким образом, системный администратор может получить доступ к базе данных только для чтения.This setting could enable the system administrator read-only access to the database. Только члены предопределенной роли сервера sysadmin могут перевести базу данных в состояние EMERGENCY.Only members of the sysadmin fixed server role can set a database to the EMERGENCY state.

Разрешение ALTER DATABASE для базы данных необходимо для перевода базы данных из режима "вне сети" в режим "аварийный", а разрешение ALTER ANY DATABASE на уровне сервера — для перевода базы данных из режима "вне сети" в режим "в сети".Requires the ALTER DATABASE permission for the subject database, to change a database to the offline or emergency state, and the server level ALTER ANY DATABASE permission to move a database from offline to online.

Состояние этого параметра можно определить, проверив столбцы state и state_desc в представлении каталога sys.databases.You can determine this option's status by examining the state and state_desc columns in the sys.databases catalog view. Состояние можно также определить, проверив свойство Status функции DATABASEPROPERTYEX.You can also determine the status by examining the Status property of the DATABASEPROPERTYEX function. Дополнительные сведения см. в разделе Состояния базы данных.For more information, see Database States.

База данных, находящаяся в состоянии RESTORING, не может быть переведена в состояние OFFLINE, ONLINE или EMERGENCY.A database marked as RESTORING can't be set to OFFLINE, ONLINE, or EMERGENCY. База данных может находиться в состоянии RESTORING во время выполнения операции восстановления или тогда, когда при операции восстановления базы данных или файла журнала происходит сбой из-за поврежденного файла резервной копии.A database may be in the RESTORING state during an active restore operation or when a restore operation of a database or log file fails because of a corrupted backup file.

<db_update_option> ::=<db_update_option> ::=

Управляет разрешениями на обновления базы данных.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Пользователи могут считывать данные из базы данных, но не могут изменять их.Users can read data from the database but not modify it.

Примечание

Для улучшения производительности запросов выполните обновление статистики перед тем, как перевести базу данных в режим доступа READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. После перевода базы данных в режим READ_ONLY потребуется дополнительная статистика, она будет создана компонентом Компонент Database EngineDatabase Engine в tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Компонент Database EngineDatabase Engine will create statistics in tempdb. Дополнительные сведения о статистике для базы данных, доступной только для чтения, см. в разделе Статистика.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
База данных доступна для операций чтения и записи.The database is available for read and write operations.

Чтобы изменить это состояние, необходимо обладать монопольным доступом к базе данных.To change this state, you must have exclusive access to the database. Дополнительные сведения см. в описании предложения SINGLE_USER.For more information, see the SINGLE_USER clause.

Примечание

Применительно к федеративным базам данных База данных SQLSQL Database, инструкция SET { READ_ONLY | READ_WRITE } отключена.On База данных SQLSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

<db_user_access_option> ::=<db_user_access_option> ::=

Управляет пользовательским доступом к базе данных.Controls user access to the database.

SINGLE_USER Применимо к: SQL ServerSQL ServerSINGLE_USER Applies to: SQL ServerSQL Server

Указывает, что только один пользователь одновременно может обращаться к базе данных.Specifies that only one user at a time can access the database. Если параметр SINGLE_USER указан и к базе данных подключены другие пользователи, инструкция ALTER DATABASE будет заблокирована, пока все пользователи не отключатся от указанной базы данных.If you specify SINGLE_USER and other users connect to the database, the ALTER DATABASE statement is blocked until all users disconnect from the specified database. Чтобы переопределить это поведение, см. описание предложения WITH <termination>.To override this behavior, see the WITH <termination> clause.

База данных остается в режиме SINGLE_USER, даже если пользователь, который установил этот параметр, выполнил выход. В этот момент к базе данных могут подключаться и другие пользователи, но одновременно может быть подключен только один.The database remains in SINGLE_USER mode even if the user that set the option signs out. At that point, a different user, but only one, can connect to the database.

Перед заданием параметра SINGLE_USER проверьте, чтобы параметру AUTO_UPDATE_STATISTICS_ASYNC было присвоено значение OFF.Before you set the database to SINGLE_USER, verify the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. Если он равен ON, то фоновый поток, используемый для обновления статистики, соединится с базой данных и доступ к базе данных в однопользовательском режиме будет невозможен.When set to ON, the background thread used to update statistics takes a connection against the database, and you'll be unable to access the database in single-user mode. Состояние этого параметра можно определить по столбцу is_auto_update_stats_async_on в представлении каталога sys.databases.To view the status of this option, query the is_auto_update_stats_async_on column in the sys.databases catalog view. Если параметр установлен в значение ON, выполните следующие действия.If the option is set to ON, perform the following tasks:

  1. Установите AUTO_CREATE_STATISTICS_ASYNC в значение OFF.Set AUTO_UPDATE_STATISTICS_ASYNC to OFF.

  2. Проверьте наличие активных асинхронных заданий статистики, выполнив запрос к динамическому административному представлению sys.dm_exec_background_job_queue.Check for active asynchronous statistics jobs by querying the sys.dm_exec_background_job_queue dynamic management view.

При наличии активных задач следует либо разрешить завершение задач, либо вручную отменить их при помощи инструкции KILL STATS JOB.If there are active jobs, either allow the jobs to complete or manually terminate them by using KILL STATS JOB.

RESTRICTED_USERRESTRICTED_USER
Позволяет подключаться к базе данных только членам предопределенной роли базы данных db_owner и предопределенной роли сервера dbcreator и sysadmin.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database. Параметр RESTRICTED_USER не ограничивает их количество.RESTRICTED_USER doesn't limit their number. Отключите все соединения с базой данных на период времени, определяемый завершающим предложением инструкции ALTER DATABASE.Disconnect all connections to the database using the timeframe specified by the ALTER DATABASE statement's termination clause. После того как база данных перешла в состояние RESTRICTED_USER, попытки подключения пользователей, не соответствующими описанным выше условиям, будут отклонены.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused.

MULTI_USERMULTI_USER
Все пользователи, имеющие соответствующие разрешения на подключение к базе данных, будут допущены к базе данных.All users that have the appropriate permissions to connect to the database are allowed.

Вы можете определить состояние этого параметра, проверив столбец user_access в представлении каталога sys.databases.You can determine this option's status by examining the user_access column in the sys.databases catalog view. Состояние можно также определить, проверив свойство UserAccess функции DATABASEPROPERTYEX.You can also determine the status by examining the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later)

Управляет тем, является ли фиксация транзакций полностью устойчивой или отложенной устойчивой.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Все транзакции, следующие за SET DISABLED, являются полностью устойчивыми.All transactions following SET DISABLED are fully durable. Все параметры устойчивости, заданные в блоке ATOMIC или инструкции COMMIT, не учитываются.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Все транзакции, следующие за SET ALLOWED, являются полностью устойчивыми или отложенными устойчивыми, в зависимости от параметра устойчивости, заданного в блоке ATOMIC или инструкции COMMIT.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Все транзакции, следующие за SET FORCED, являются отложенными устойчивыми.All transactions following SET FORCED are delayed durable. Все параметры устойчивости, заданные в блоке ATOMIC или инструкции COMMIT, не учитываются.Any durability options set in an atomic block or commit statement are ignored.

<external_access_option> ::= <external_access_option> ::=
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Управляет возможностью обращения к базе данных из внешних ресурсов, таких как объекты другой базы данных.Controls whether the database can be accessed by external resources, such as objects from another database.

DB_CHAINING { ON | OFF }DB_CHAINING { ON | OFF }
ONON
База данных может быть источником или целевой базой данных межбазовой цепочки владения.Database can be the source or target of a cross-database ownership chain.

OFFOFF
База данных не может быть членом межбазовой цепочки владения.Database can't participate in cross-database ownership chaining.

Важно!

Экземпляр SQL ServerSQL Server распознает эту настройку, если параметр сервера cross db ownership chaining имеет значение 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Если параметр cross db ownership chaining имеет значение 1 (ON), то все пользовательские базы данных могут участвовать в межбазовых цепочках владения, вне зависимости от значения этого параметра.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. Этот параметр задается с помощью процедуры sp_configure.This option is set by using sp_configure.

Для установки этого параметра требуется разрешение CONTROL SERVER для базы данных.To set this option, requires CONTROL SERVER permission on the database.

Параметр DB_CHAINING нельзя задать для системных баз данных master, model и tempdb.The DB_CHAINING option can't be set on the master, model, and tempdb system databases.

Вы можете определить состояние этого параметра, проверив столбец is_db_chaining_on в представлении каталога sys.databases.You can determine this option's status by examining the is_db_chaining_on column in the sys.databases catalog view.

TRUSTWORTHY { ON | OFF }TRUSTWORTHY { ON | OFF }
ONON
Модули базы данных (например, определяемые пользователем функции или хранимые процедуры), которые используют контекст олицетворения, могут обращаться к ресурсам, находящимся вне базы данных.Database modules (for example, user-defined functions or stored procedures) that use an impersonation context can access resources outside the database.

OFFOFF
Модули базы данных в контексте олицетворения не могут обращаться к ресурсам, находящимся вне базы данных.Database modules in an impersonation context can't access resources outside the database.

Параметр TRUSTWORTHY устанавливается в значение OFF при каждом присоединении базы данных.TRUSTWORTHY is set to OFF whenever the database is attached.

По умолчанию для всех системных баз данных, кроме msdb, параметр TRUSTWORTHY установлен в значение OFF.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. Оно не изменяется для баз данных model и tempdb.The value can't be changed for the model and tempdb databases. Рекомендуется никогда не устанавливать параметр TRUSTWORTHY в состояние ON для базы данных master.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

Для установки этого параметра требуется разрешение CONTROL SERVER для базы данных.To set this option, requires CONTROL SERVER permission on the database.

Вы можете определить состояние этого параметра, проверив столбец is_trustworthy_on в представлении каталога sys.databases.You can determine this option's status by examining the is_trustworthy_on column in the sys.databases catalog view.

DEFAULT_FULLTEXT_LANGUAGEDEFAULT_FULLTEXT_LANGUAGE
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Задает язык, используемый по умолчанию для полнотекстовых индексированных столбцов.Specifies the default language value for full-text indexed columns.

Важно!

Этот параметр допустим только в случае, если параметр CONTAINMENT равен PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Если параметр CONTAINMENT установлен в состояние NONE, возникнут ошибки.If CONTAINMENT is set to NONE, errors will occur.

DEFAULT_LANGUAGEDEFAULT_LANGUAGE
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Указывает язык, используемый по умолчанию для всех созданных имен входа.Specifies the default language for all newly created logins. Чтобы задать язык, можно указать локальный идентификатор (lcid), название языка или псевдоним языка.Language can be specified by providing the local ID (lcid), the language name, or the language alias. Список допустимых имен и псевдонимов языков см. в описании sys.syslanguages.For a list of acceptable language names and aliases, see sys.syslanguages. Этот параметр допустим только в случае, если параметр CONTAINMENT равен PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Если параметр CONTAINMENT установлен в состояние NONE, возникнут ошибки.If CONTAINMENT is set to NONE, errors will occur.

NESTED_TRIGGERSNESTED_TRIGGERS
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Указывает, допустимо ли каскадирование триггеров AFTER, то есть выполнение действия, вызывающего срабатывание другого триггера, который может инициировать другой триггер и т. д.Specifies whether an AFTER trigger can cascade; that is, perform an action that initiates another trigger, which initiates another trigger, and so on. Этот параметр допустим только в случае, если параметр CONTAINMENT равен PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Если параметр CONTAINMENT установлен в состояние NONE, возникнут ошибки.If CONTAINMENT is set to NONE, errors will occur.

TRANSFORM_NOISE_WORDSTRANSFORM_NOISE_WORDS
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Используется для подавления сообщения об ошибке, если логическая операция по полнотекстовому запросу не срабатывает из-за пропускаемых слов или стоп-слов.Used to suppress an error message if noise words, or stopwords, cause a Boolean operation on a full-text query to fail. Этот параметр допустим только в случае, если параметр CONTAINMENT равен PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Если параметр CONTAINMENT установлен в состояние NONE, возникнут ошибки.If CONTAINMENT is set to NONE, errors will occur.

TWO_DIGIT_YEAR_CUTOFFTWO_DIGIT_YEAR_CUTOFF
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Указывает целое число в промежутке от 1753 до 9999, представляющее пороговое значение года для преобразования двухзначной записи лет в четырехзначную.Specifies an integer from 1753 to 9999 that represents the cutoff year for interpreting two-digit years as four-digit years. Этот параметр допустим только в случае, если параметр CONTAINMENT равен PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Если параметр CONTAINMENT установлен в состояние NONE, возникнут ошибки.If CONTAINMENT is set to NONE, errors will occur.

<FILESTREAM_option> ::= <FILESTREAM_option> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server ( SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Управляет параметрами таблиц FileTables.Controls the settings for FileTables.

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
OFFOFF
Нетранзакционный доступ к данным таблиц FileTable отключен.Non-transactional access to FileTable data is disabled.

READ_ONLYREAD_ONLY
Данные FILESTREAM из таблиц FileTable в этой базе данных могут считываться нетранзакционными процессами.FILESTREAM data in FileTables in this database can be read by non-transactional processes.

FULLFULL
Включает полный нетранзакционный доступ к данным FILESTREAM в таблицах FileTable.Enables full, non-transactional access to FILESTREAM data in FileTables is enabled.

DIRECTORY_NAME = <directory_name> DIRECTORY_NAME = <directory_name>
Имя каталога, совместимое с Windows.A windows-compatible directory name. Это имя должно быть уникальным среди всех имен каталогов уровня базы данных в экземпляре SQL ServerSQL Server.This name should be unique among all the database-level directory names in the SQL ServerSQL Server instance. Проверка уникальности выполняется без учета регистра, независимо от параметров сортировки.Uniqueness comparison is case-insensitive, regardless of collation settings. Этот параметр должен быть задан до создания таблицы FileTable в этой базе данных.This option must be set before creating a FileTable in this database.

<HADR_options> ::= <HADR_options> ::=
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Дополнительные сведения см. в описании ALTER DATABASE SET HADR.See ALTER DATABASE SET HADR.

<mixed_page_allocation_option> ::= <mixed_page_allocation_option> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later)

Управляет возможностью базы данных создавать начальные страницы с использованием смешанного экстента для первых восьми страниц таблицы или индекса.Controls whether the database can create initial pages using a mixed extent for the first eight pages of a table or index.

MIXED_PAGE_ALLOCATION { OFF | ON }MIXED_PAGE_ALLOCATION { OFF | ON }
OFFOFF
База данных всегда создает начальные страницы с помощью однородных экстентов.The database always creates initial pages using uniform extents. OFF — значение по умолчанию.OFF is the default value.

ONON
База данных может создавать начальные страницы с помощью смешанных экстентов.The database can create initial pages using mixed extents.

Этот параметр имеет значение ON для всех системных баз данных.This setting is ON for all system databases. tempdb — это единственная системная база данных, которая поддерживает OFF.tempdb is the only system database that supports OFF.

<PARAMETERIZATION_option> ::=<PARAMETERIZATION_option> ::=

Управляет параметром параметризации.Controls the parameterization option. Дополнительные сведения о параметризации: Руководство по архитектуре обработки запросов.For more information on parameterization, see the Query Processing Architecture Guide.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Запросы параметризуются на основании поведения базы данных по умолчанию.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server параметризует все запросы в базе данных.parameterizes all queries in the database.

Текущее состояние этого параметра можно определить по столбцу is_parameterization_forced column в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::= <query_store_options> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later)

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Указывает, включено ли хранилище запросов в этой базе данных, а также управляет удалением содержимого хранилища запросов.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store. Дополнительные сведения: Сценарии использования хранилища запросов.For more information, see Query Store Usage Scenarios.

ONON
Включает хранилище запросов.Enables the Query Store.

OFFOFF
Отключает хранилище запросов.Disables the Query Store. OFF — значение по умолчанию.OFF is the default value.

CLEARCLEAR
Удаляет содержимое хранилища запросов.Remove the contents of the Query Store.

OPERATION_MODE { READ_ONLY | READ_WRITE }OPERATION_MODE { READ_ONLY | READ_WRITE }
Описывает режим работы хранилища запросов.Describes the operation mode of the Query Store.

READ_WRITEREAD_WRITE
Хранилище запросов собирает и сохраняет план запроса и статистические данные о выполнении.The Query Store collects and persists query plan and runtime execution statistics information.

READ_ONLYREAD_ONLY
Можно считывать данные из хранилища запросов, но новые сведения не добавляются.Information can be read from the Query Store, but new information isn't added. Если выделенное свободное место в хранилище запросов будет исчерпано, хранилище переключится в режим работы READ_ONLY.If the maximum issued space of the Query Store has been exhausted, the Query Store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Описывает политику хранения данных хранилища запросов.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS определяет количество дней хранения сведений о запросе в хранилище.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the Query Store. STALE_QUERY_THRESHOLD_DAYS имеет тип bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Определяет частоту, с которой данные, записанные в хранилище запросов, сохраняются на диск.Determines the frequency at which data written to the Query Store is persisted to disk. Для оптимизации производительности данные, собранные хранилищем запросов, асинхронно записываются на диск.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. Для настройки частоты этой асинхронной передачи используется аргумент DATA_FLUSH_INTERVAL_SECONDS.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS имеет тип bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Определяет свободное место, выделенное для хранилища запросов.Determines the space issued to the Query Store. MAX_STORAGE_SIZE_MB имеет тип bigint.MAX_STORAGE_SIZE_MB is type bigint.

Примечание

Ограничение MAX_STORAGE_SIZE_MB не применяется строго.MAX_STORAGE_SIZE_MB limit isn't strictly enforced. Размер хранилища проверяется только в том случае, если хранилище запросов записывает данные на диск.Storage size is checked only when Query Store writes data to disk. Этот интервал задается параметром DATA_FLUSH_INTERVAL_SECONDS или параметром диалогового окна Среда Management StudioManagement Studio хранилища запросов Интервал записи данных на диск.This interval is set by the DATA_FLUSH_INTERVAL_SECONDS option or the Среда Management StudioManagement Studio Query Store dialog box option Data Flush Interval. Значение по умолчанию — 900 секунд (или 15 минут).The interval default value is 900 seconds (or 15 minutes).
Если хранилище запросов нарушило ограничение MAX_STORAGE_SIZE_MB между проверками размера хранилища, оно будет переведено в режим только для чтения.If the Query Store has breached the MAX_STORAGE_SIZE_MB limit between storage size checks, it will transition to read-only mode. Если параметр SIZE_BASED_CLEANUP_MODE включен, также активируется механизм очистки для принудительного применения ограничения MAX_STORAGE_SIZE_MB.If SIZE_BASED_CLEANUP_MODE is enabled, the cleanup mechanism to enforce the MAX_STORAGE_SIZE_MB limit is also triggered.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Определяет временной интервал вычисления статистических данных о среде выполнения в хранилище запросов.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Для оптимизации использования свободного места статистические данные о среде выполнения в хранилище вычисляются для фиксированного временного интервала.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Этот интервал настраивается с помощью аргумента INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES имеет тип bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODE { AUTO | OFF }SIZE_BASED_CLEANUP_MODE { AUTO | OFF }
Определяет, активируется ли очистка автоматически, когда общий объем данных приблизится к верхней границе ограничения.Controls whether cleanup automatically activates when the total amount of data gets close to maximum size.

AUTOAUTO
Очистка на основе размера активируется автоматически при достижении размера на диске 90 % от MAX_STORAGE_SIZE_MB.Size-based cleanup will be automatically activated when size on disk reaches 90% of MAX_STORAGE_SIZE_MB. Эта очистка сначала удаляет самые дешевые и самые старые запросы.Size-based cleanup removes the least expensive and oldest queries first. Она останавливается примерно на 80 % MAX_STORAGE_SIZE_MB. Это значение является значением конфигурации по умолчанию.It stops at approximately 80% of MAX_STORAGE_SIZE_MB.This value is the default configuration value.

OFFOFF
Очистка на основе размера не будет автоматически активирована.Size-based cleanup won't be automatically activated.

SIZE_BASED_CLEANUP_MODE имеет тип nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }
Определяет режим записи текущего активного запроса.Designates the currently active query capture mode. В каждом режиме определяются собственные политики записи.Each mode defines specific query capture policies.

Примечание

Курсоры, запросы в хранимых процедурах и скомпилированные в собственном коде запросы всегда записываются, если задан режим записи запроса ALL, AUTO или CUSTOM.Cursors, queries inside Stored Procedures, and Natively compiled queries are always captured when the query capture mode is set to ALL, AUTO, or CUSTOM.

ALLALL
Записывает все запросы.Captures all queries. ALL — значение конфигурации по умолчанию для SQL ServerSQL ServerSQL Server 2016 (13.x)SQL Server 2016 (13.x) по SQL Server 2017 (14.x)SQL Server 2017 (14.x)).ALL is the default configuration value for SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017 (14.x)SQL Server 2017 (14.x)).

AUTOAUTO
Записываются соответствующие запросы на основе показателя выполнения и объема потребления ресурсов.Capture relevant queries based on execution count and resource consumption. Это значение конфигурации по умолчанию для SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x)) и База данных SQL AzureAzure SQL Database.This is the default configuration value for SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and База данных SQL AzureAzure SQL Database.

NoneNONE
Запись новых запросов останавливается.Stop capturing new queries. Хранилище запросов будет продолжать сбор статистики компиляции и времени выполнения для запросов, которые уже были записаны.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Эту конфигурацию следует использовать с осторожностью, поскольку можно пропустить запись важных запросов.Use this configuration with caution since you may miss capturing important queries.

CUSTOMCUSTOM
Область применения: SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x) CTP 3.0)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) CTP 3.0)

Позволяет управлять параметрами QUERY_CAPTURE_POLICY.Allows control over the QUERY_CAPTURE_POLICY options.

QUERY_CAPTURE_MODE имеет тип nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

MAX_PLANS_PER_QUERYMAX_PLANS_PER_QUERY
Определяет максимальное количество поддерживаемых планов для каждого запроса.Defines the maximum number of plans maintained for each query. Значение по умолчанию равно 200.The default is 200. MAX_PLANS_PER_QUERY имеет тип int.MAX_PLANS_PER_QUERY is type int.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
Область применения: SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x) CTP 3.0)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) CTP 3.0)

Управляет параметрами политики записи для хранилища запросов.Controls the Query Store capture policy options. За исключением STALE_CAPTURE_POLICY_THRESHOLD, эти параметры определяют условия OR, которые должны выполняться для запросов, записываемых в определенное пороговое значение устаревшей политики записи.Except for STALE_CAPTURE_POLICY_THRESHOLD, these options define the OR conditions that need to happen for queries to be captured in the defined Stale Capture Policy Threshold value.

STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
Определяет период интервала ознакомления для определения того, нужно ли записать запрос.Defines the evaluation interval period to determine if a query should be captured. Значение по умолчанию — 1 день, можно указать от 1 часа до 7 дней.The default is 1 day, and it can be set from 1 hour to seven days. number имеет тип int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Определяет количество выполнений запроса в течение ознакомительного периода.Defines the number of times a query is executed over the evaluation period. Значение по умолчанию — 30, то есть для порогового значения устаревшей политики записи по умолчанию запрос должен быть выполнен по меньшей мере 30 раз за один день, чтобы быть сохраненным в хранилище запросов.The default is 30, which means that for the default Stale Capture Policy Threshold, a query must execute at least 30 times in one day to be persisted in the Query Store. EXECUTION_COUNT имеет тип int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Определяет общее время ЦП, затраченное на компиляцию, которое запрос использовал за ознакомительный период.Defines total elapsed compile CPU time used by a query over the evaluation period. Значение по умолчанию — 1000, то есть для порогового значения устаревшей политики записи по умолчанию запрос должен иметь общее время ЦП, затраченное на компиляцию, не менее одной секунды за один день, чтобы быть сохраненным в хранилище запросов.The default is 1000 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least one second of CPU time spent during query compilation in one day to be persisted in the Query Store. TOTAL_COMPILE_CPU_TIME_MS имеет тип int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Определяет общее время ЦП, затраченное на выполнение, которое запрос использовал за ознакомительный период.Defines total elapsed execution CPU time used by a query over the evaluation period. Значение по умолчанию — 100, то есть для порогового значения устаревшей политики записи по умолчанию запрос должен иметь общее время ЦП, затраченное на выполнение, не менее 100 мс за один день, чтобы быть сохраненным в хранилище запросов.The default is 100 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least 100 ms of CPU time spent during execution in one day to be persisted in the Query Store. TOTAL_EXECUTION_CPU_TIME_MS имеет тип int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<recovery_option> ::= <recovery_option> ::=
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Управляет параметрами восстановления базы данных и проверкой ошибок дискового ввода-вывода.Controls database recovery options and disk I/O error checking.

FULLFULL
Обеспечивает полное восстановление после отказа носителя с помощью резервных копий журнала транзакций.Provides full recovery after media failure by using transaction log backups. Если файл данных поврежден, восстановление носителя может восстановить все зафиксированные транзакции.If a data file is damaged, media recovery can restore all committed transactions. Дополнительные сведения см. в статье о моделях восстановления.For more information, see Recovery Models.

BULK_LOGGEDBULK_LOGGED
Обеспечивает восстановление после сбоя носителя.Provides recovery after media failure. Объединяет оптимальную производительность и минимальный объем пространства, занимаемого журналами; используется для больших систем или массовых операций.Combines the best performance and least amount of log-space use for certain large-scale or bulk operations. Сведения о том, к каким операциям можно применять минимальное протоколирование, см. в описании журнала транзакций.For information about what operations can be minimally logged, see The Transaction Log. В модели восстановления BULK_LOGGED ведение журнала для этих операций минимально.Under the BULK_LOGGED recovery model, logging for these operations is minimal. Дополнительные сведения см. в статье о моделях восстановления.For more information, see Recovery Models.

SIMPLESIMPLE
Предусматривается стратегия простого резервирования, которая использует минимальное пространство под журналы.A simple backup strategy that uses minimal log space is provided. Пространство, отведенное под журналы, может быть автоматически многократно использовано, если оно больше не требуется для восстановления сбоев сервера.Log space can be automatically reused when it's no longer required for server failure recovery. Дополнительные сведения см. в статье о моделях восстановления.For more information, see Recovery Models.

Важно!

Простая модель восстановления проще в управлении, чем другие две модели, но больше подвержена потере данных, если файл данных поврежден.The simple recovery model is easier to manage than the other two models but at the expense of greater data loss exposure if a data file is damaged. Все изменения, начиная с наиболее свежей резервной копии базы данных или разностной резервной копии базы данных, будут потеряны и должны быть повторно введены вручную.All changes since the most recent database or differential database backup are lost and must be manually reentered.

Модель восстановления по умолчанию определяется моделью восстановления базы данных model.The default recovery model is determined by the recovery model of the model database. Дополнительные сведения о выборе подходящей модели восстановления см. в статье Модели восстановления (SQL Server).For more information about selecting the appropriate recovery model, see Recovery Models.

Вы можете определить состояние этого параметра, проверив столбцы recovery_model и recovery_model_desc в представлении каталога sys.databases.You can determine this option's status by examining the recovery_model and recovery_model_desc columns in the sys.databases catalog view. Состояние можно также определить, проверив свойство Recovery функции DATABASEPROPERTYEX.You can also determine the status by examining the Recovery property of the DATABASEPROPERTYEX function.

TORN_PAGE_DETECTION { ON | OFF }TORN_PAGE_DETECTION { ON | OFF }
ONON
Неполные страницы могут быть обнаружены компонентом Компонент Database EngineDatabase Engine.Incomplete pages can be detected by the Компонент Database EngineDatabase Engine.

OFFOFF
Неполные страницы невозможно обнаружить с помощью Компонент Database EngineDatabase Engine.Incomplete pages can't be detected by the Компонент Database EngineDatabase Engine.

Важно!

Синтаксическая структура TORN_PAGE_DETECTION ON | OFF будет удалена в будущей версии SQL ServerSQL Server.The syntax structure TORN_PAGE_DETECTION ON | OFF will be removed in a future version of SQL ServerSQL Server. Избегайте использования этой структуры в новых разработках и запланируйте изменение приложений, которые сейчас ее используют.Avoid using this syntax structure in new development work, and plan to modify applications that currently use the syntax structure. Вместо этого используйте параметр PAGE_VERIFY.Use the PAGE_VERIFY option instead.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
Обнаруживает поврежденные страницы базы данных, вызванные ошибками пути дискового ввода-вывода.Discovers damaged database pages caused by disk I/O path errors. Ошибки пути дисковых операций ввода-вывода могут быть причиной повреждения базы данных.Disk I/O path errors can be the cause of database corruption problems. Эти ошибки чаще всего вызваны сбоями питания или сбоями оборудования диска, которые происходят во время записи страницы на диск.These errors are most often caused by power failures or disk hardware failures that occur at the time the page is written to disk.

CHECKSUMCHECKSUM
Вычисляет контрольную сумму по содержимому целой страницы и сохраняет полученное значение в ее заголовке при записи страницы на диск.Calculates a checksum over the contents of the whole page and stores the value in the page header when a page is written to disk. При чтении страницы с диска контрольная сумма вычисляется повторно и сравнивается с сохраненным в заголовке страницы значением.When the page is read from disk, the checksum is recomputed and compared to the checksum value stored in the page header. Если значения не соответствуют, будет выведено сообщение об ошибке 824 (ошибка контрольной суммы) как в журнал ошибок SQL ServerSQL Server, так и в журнал событий Windows.If the values don't match, error message 824 (indicating a checksum failure) is reported to both the SQL ServerSQL Server error log and the Windows event log. Ошибка контрольной суммы указывает на проблему пути ввода-вывода.A checksum failure indicates an I/O path problem. Чтобы определить первопричину, необходимо исследовать оборудование, драйверы встроенного ПО, BIOS, фильтрующее программное обеспечение (например, антивирусное) и другие компоненты ввода-вывода.To determine the root cause requires investigation of the hardware, firmware drivers, BIOS, filter drivers (such as virus software), and other I/O path components.

TORN_PAGE_DETECTIONTORN_PAGE_DETECTION
Сохраняет определенный двухбитовый шаблон для каждого 512-байтового сектора в 8-килобайтной (КБ) странице базы данных и сохраняет в базе данных заголовок страницы при записи страницы на диск.Saves a specific 2-bit pattern for each 512-byte sector in the 8-kilobyte (KB) database page and stored in the database page header when the page is written to disk. При чтении страницы с диска биты разрыва, хранимые в заголовке страницы, сравниваются с действительными сведениями о секторах страницы.When the page is read from disk, the torn bits stored in the page header are compared to the actual page sector information.

Несовпадающие значения указывают, что только часть страницы была записана на диск.Unmatched values indicate that only part of the page was written to disk. В этой ситуации сообщение об ошибке 824 (ошибка разрыва страницы) будет выведено как в журнал ошибок SQL ServerSQL Server, так и в журнал событий Windows.In this situation, error message 824 (indicating a torn page error) is reported to both the SQL ServerSQL Server error log and the Windows event log. Разорванные страницы обычно обнаруживаются при восстановлении базы данных, если они действительно не полностью записаны.Torn pages are typically detected by database recovery if it's truly an incomplete write of a page. Однако другие сбои пути ввода-вывода могут стать причиной разрыва страницы в любое время.However, other I/O path failures can cause a torn page at any time.

NoneNONE
Записи страниц базы данных не создают значение CHECKSUM или TORN_PAGE_DETECTION.Database page writes won't generate a CHECKSUM or TORN_PAGE_DETECTION value. SQL ServerSQL Server не будет проверять контрольную сумму и разрывы страниц при считывании, даже если значение CHECKSUM или TORN_PAGE_DETECTION будет присутствовать в заголовке страницы.will not verify a checksum or torn page during a read even if a CHECKSUM or TORN_PAGE_DETECTION value is present in the page header.

Рассмотрите следующие важные моменты при использовании параметра PAGE_VERIFY.Consider the following important points when you use the PAGE_VERIFY option:

  • Значение по умолчанию — CHECKSUM.The default is CHECKSUM.

  • При обновлении пользовательской или системной базы данных до версии SQL Server 2005 (9.x)SQL Server 2005 (9.x) или более поздней значение PAGE_VERIFY (NONE или TORN_PAGE_DETECTION) не изменяется.When a user or system database is upgraded to SQL Server 2005 (9.x)SQL Server 2005 (9.x) or a later version, the PAGE_VERIFY value (NONE or TORN_PAGE_DETECTION) isn't changed. Рекомендуется изменить его на CHECKSUM.We recommend that you change to CHECKSUM.

    Примечание

    В более ранних версиях SQL ServerSQL Serverпараметру базы данных PAGE_VERIFY присваивается значение NONE применительно к базе данных TempDB, которая не может быть изменена.In earlier versions of SQL ServerSQL Server, the PAGE_VERIFY database option is set to NONE for the TempDB database and can't be modified. В SQL Server 2008SQL Server 2008 и более поздних версиях значением по умолчанию для базы данных TempDB является CHECKSUM для новых установок SQL ServerSQL Server.In SQL Server 2008SQL Server 2008 and later versions, the default value for the TempDB database is CHECKSUM for new installations of SQL ServerSQL Server. После обновления установки SQL ServerSQL Server значением по умолчанию остается NONE.When upgrading an installation SQL ServerSQL Server, the default value remains NONE. Этот параметр можно изменять.The option can be modified. Для работы с базой данных tempdb рекомендуется использовать CHECKSUM.We recommend that you use CHECKSUM for the tempdb database.

  • Значение TORN_PAGE_DETECTION использует меньше ресурсов, но обеспечивает минимальный вариант защиты CHECKSUM.TORN_PAGE_DETECTION may use fewer resources but provides a minimal subset of the CHECKSUM protection.

  • Аргумент PAGE_VERIFY можно установить, не производя перевод базы данных в режим "вне сети", блокировку или прочие действия, нарушающие ее параллелизм.PAGE_VERIFY can be set without taking the database offline, locking the database, or otherwise impeding concurrency on that database.

  • Значения CHECKSUM и TORN_PAGE_DETECTION являются взаимоисключающими.CHECKSUM is mutually exclusive to TORN_PAGE_DETECTION. Оба параметра не могут быть включены одновременно.Both options can't be enabled at the same time.

При обнаружении ошибки разрыва страницы или контрольной суммы ее можно устранить с помощью восстановления из копии или потенциального перестроения индекса, если сбой ограничен только страницами индекса.When a torn page or checksum failure is detected, you can recover by restoring the data or potentially rebuilding the index if the failure is limited only to index pages. При обнаружении ошибки контрольной суммы выполните инструкцию DBCC CHECKDB, чтобы определить тип поврежденной страницы базы данных.If you encounter a checksum failure, to determine the type of database page or pages affected, run DBCC CHECKDB. Дополнительные сведения о параметрах восстановления см. в описании аргументов инструкции RESTORE.For more information about restore options, see RESTORE Arguments. Хотя восстановление данных решит проблему нарушения целостности данных, первопричина, например сбой оборудования диска, должна быть обнаружена и исправлена как можно скорее, чтобы предотвратить следующие ошибки.Although restoring the data will resolve the data corruption problem, the root cause, for example, disk hardware failure, should be diagnosed and corrected as soon as possible to prevent continuing errors.

SQL ServerSQL Server повторяет любую операцию считывания, которая закончилась ошибкой контрольной суммы, разрыва страницы или другой ошибкой ввода-вывода, четыре раза.will retry any read that fails with a checksum, torn page, or other I/O error four times. Если чтение выполнено успешно в любой из повторных попыток, сообщение записывается в журнал ошибок.If the read is successful in any one of the retry attempts, a message is written to the error log. Команда, которая активировала считывание, продолжится.The command that triggered the read will continue. Команда закончит работу с сообщением об ошибке 824, если все повторные попытки закончатся ошибкой.The command will fail with error message 824 if the retry attempts fail.

Дополнительные сведения о сообщениях об ошибках 823, 824 и 825 см. в разделе:For more information about error messages 823, 824 and 825, see:

Текущее состояние этого параметра можно определить, проверив значение столбца page_verify_option в представлении каталога sys.databases или свойство IsTornPageDetectionEnabled функции DATABASEPROPERTYEX.The current setting of this option can be determined by examining the page_verify_option column in the sys.databases catalog view or the IsTornPageDetectionEnabled property of the DATABASEPROPERTYEX function.

<remote_data_archive_option> ::= <remote_data_archive_option> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later)

Включает или отключает Stretch Database для базы данных.Enables or disables Stretch Database for the database. Дополнительные сведения см. в разделе Stretch Database.For more info, see Stretch Database.

REMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name> , { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF } )| OFF REMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name> , { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF } )| OFF
ONON
Включает Stretch Database для базы данных.Enables Stretch Database for the database. Дополнительные сведения, включая предварительные условия, см. в разделе Включение Stretch Database для базы данных.For more info, including additional prerequisites, see Enable Stretch Database for a database.

Для включения службы Stretch Database для таблицы требуется разрешение db_owner.Requires db_owner permission to enable Stretch Database for a table. Для включения службы Stretch Database для базы данных требуются разрешения db_owner и CONTROL DATABASE.Requires db_owner and CONTROL DATABASE permissions to enable Stretch Database for a database.

SERVER = <server_name>SERVER = <server_name>
Указывает адрес сервера Azure.Specifies the address of the Azure server. Включает часть .database.windows.net имени.Include the .database.windows.net portion of the name. Например, MyStretchDatabaseServer.database.windows.net.For example, MyStretchDatabaseServer.database.windows.net.

CREDENTIAL = <db_scoped_credential_name>CREDENTIAL = <db_scoped_credential_name>
Указывает учетные данные для базы данных, используемые экземпляром SQL ServerSQL Server для подключения к серверу Azure.Specifies the database scoped credential that the instance of SQL ServerSQL Server uses to connect to the Azure server. Перед выполнением этой команды убедитесь в наличии учетных данных.Make sure the credential exists before you run this command. Дополнительные сведения см. в описании CREATE DATABASE SCOPED CREDENTIAL.For more info, see CREATE DATABASE SCOPED CREDENTIAL.

FEDERATED_SERVICE_ACCOUNT = { ON | OFF }FEDERATED_SERVICE_ACCOUNT = { ON | OFF }
Вы можете использовать федеративную учетную запись службы для взаимодействия локального SQL Server с удаленным сервером Azure при выполнении следующих условий.You can use a federated service account for the on-premises SQL Server to communicate with the remote Azure server when the following conditions are all true.

  • Учетная запись службы, под которой работает экземпляр SQL Server, является доменной учетной записью.The service account under which the instance of SQL Server is running is a domain account.
  • Учетная запись домена принадлежит к домену, Active Directory которого входит в федерацию с Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.
  • Удаленный сервер Azure настроен для поддержки проверки подлинности Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.
  • Учетная запись службы, под которой выполняется экземпляр SQL Server, должна быть настроена как учетная запись dbmanager или sysadmin на удаленном сервере Azure.The service account under which the instance of SQL Server is running must be configured as a dbmanager or sysadmin account on the remote Azure server.

Если указано значение ON для федеративной учетной записи службы, невозможно также указать аргумент CREDENTIAL.If you specify that the federated service account is ON, you can't also specify the CREDENTIAL argument. Следует указать аргумент CREDENTIAL, если указано значение OFF.Provide the CREDENTIAL argument if you specify OFF.

OFFOFF
Отключает Stretch Database для базы данных.Disables Stretch Database for the database. Дополнительные сведения см. в разделе Отключение Stretch Database и возврат удаленных данных.For more info, see Disable Stretch Database and bring back remote data.

Отключить Stretch Database можно только после того, как база данных больше не будет содержать таблицы, которые включены для Stretch Database.You can only disable Stretch Database for a database after the database no longer contains any tables that are enabled for Stretch Database. После отключения Stretch Database перенос данных останавливается.After you disable Stretch Database, data migration stops. Кроме того, результаты запроса больше не содержат результаты из удаленной таблицы.Also, query results no longer include results from remote tables.

Отключение Stretch Database не приводит к стиранию удаленной базы данных.Disabling Stretch doesn't remove the remote database. Чтобы удалить удаленную базу данных, воспользуйтесь порталом Azure.To delete the remote database, drop it by using the Azure portal.

<service_broker_option> ::= <service_broker_option> ::=
Область применения: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Управляет следующими параметрами компонента Компонент Service BrokerService Broker: включает и отключает доставку сообщений, задает новый идентификатор компонента Компонент Service BrokerService Broker или устанавливает приоритеты диалога в значение ON или OFF.Controls the following Компонент Service BrokerService Broker options: enables or disables message delivery, sets a new Компонент Service BrokerService Broker identifier, or sets conversation priorities to ON or OFF.

ENABLE_BROKERENABLE_BROKER
Определяет, что для указанной базы данных включен компонент Компонент Service BrokerService Broker.Specifies that Компонент Service BrokerService Broker is enabled for the specified database. Запущена доставка сообщений, и флаг is_broker_enabled установлен в значение TRUE в представлении каталога sys.databases.Message delivery is started, and the is_broker_enabled flag is set to true in the sys.databases catalog view. В базе данных сохраняется существующий идентификатор Компонент Service BrokerService Broker.The database keeps the existing Компонент Service BrokerService Broker identifier. Service Broker не может быть включен, пока база данных является субъектом в конфигурации зеркального отображения базы данных.Service broker can't be enabled while the database is the principal in a database mirroring configuration.

Примечание

Параметр ENABLE_BROKER требует монопольной блокировки базы данных.ENABLE_BROKER requires an exclusive database lock. Если ресурсы базы данных блокированы другими сеансами, параметр ENABLE_BROKER будет ожидать снятия блокировок этими сеансами.If other sessions have locked resources in the database, ENABLE_BROKER will wait until the other sessions release their locks. Чтобы включить компонент Компонент Service BrokerService Broker в пользовательской базе данных, до запуска инструкции ALTER DATABASE SET ENABLE_BROKER убедитесь, что никакие другие сеансы не используют базу данных; это можно сделать, например, переводом базы данных в однопользовательский режим.To enable Компонент Service BrokerService Broker in a user database, ensure that no other sessions are using the database before you run the ALTER DATABASE SET ENABLE_BROKER statement, such as by putting the database in single user mode. Чтобы включить компонент Компонент Service BrokerService Broker в базе данных msdb, сначала необходимо остановить службу агента SQL ServerSQL Server, чтобы компонент Компонент Service BrokerService Broker мог получить необходимую блокировку.To enable Компонент Service BrokerService Broker in the msdb database, first stop SQL ServerSQL Server Agent so that Компонент Service BrokerService Broker can obtain the necessary lock.

DISABLE_BROKERDISABLE_BROKER
Указывает, что для заданной базы данных компонент Компонент Service BrokerService Broker отключен.Specifies that Компонент Service BrokerService Broker is disabled for the specified database. Остановлена доставка сообщений, и флаг is_broker_enabled установлен в значение FALSE в представлении каталога sys.databases.Message delivery is stopped, and the is_broker_enabled flag is set to false in the sys.databases catalog view. В базе данных сохраняется существующий идентификатор Компонент Service BrokerService Broker.The database keeps the existing Компонент Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Указывает, что база данных должна получить новый идентификатор посредника.Specifies that the database should receive a new broker identifier. База данных действует как новый посредник службы.The database acts as a new service broker. Все существующие сеансы связи в базе данных будут немедленно удалены, не выдавая диалоговых сообщений о завершении.As such, all existing conversations in the database are immediately removed without producing end dialog messages. Все маршруты, ссылающиеся на старый идентификатор компонента Компонент Service BrokerService Broker, необходимо создать повторно с новым идентификатором.Any route that references the old Компонент Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Указывает, что включена доставка сообщений компонента Компонент Service BrokerService Broker.Specifies that Компонент Service BrokerService Broker message delivery is enabled. Параметр сохраняет имеющийся идентификатор Компонент Service BrokerService Broker для базы данных.This setting preserves the existing Компонент Service BrokerService Broker identifier for the database. Компонент Service BrokerService Broker завершает ошибкой все диалоги в базе данных.ends all conversations in the database with an error. Параметр дает возможность приложениям выполнять регулярную очистку существующих диалогов.This setting enables applications to run regular cleanup for existing conversations.

HONOR_BROKER_PRIORITY {ON | OFF}HONOR_BROKER_PRIORITY {ON | OFF}
ONON
Операции Send выполняются с учетом уровней приоритета, присвоенных диалогам.Send operations take into consideration the priority levels that are assigned to conversations. Сообщения от диалогов с высокими уровнями приоритета отправляются раньше сообщений от диалогов с низким приоритетом.Messages from conversations that have high priority levels are sent before messages from conversations that are assigned low-priority levels.

OFFOFF
Операции Send выполняются, как если бы все диалоги имели приоритет по умолчанию.Send operations run as if all conversations have the default priority level.

Изменение параметра HONOR_BROKER_PRIORITY имеет мгновенный эффект для новых диалогов или диалогов, ожидающих отправки сообщений.Changes to the HONOR_BROKER_PRIORITY option take effect immediately for new dialogs or dialogs that have no messages waiting to be sent. Диалоги, ожидающие отправки сообщений при выполнении ALTER DATABASE, не получат новое значение, пока им не будет отправлено несколько сообщений.Dialogs with messages to be sent when ALTER DATABASE is run won't pick up the new setting until some of the messages for the dialog are sent. Время, необходимое для начала использования нового значения всеми диалогами, может значительно изменяться.The amount of time before all dialogs start using the new setting can vary considerably.

Текущее значение этого свойства содержится в столбце is_broker_priority_honored представления каталога sys.databases.The current setting of this property is reported in the is_broker_priority_honored column in the sys.databases catalog view.

<snapshot_option> ::=<snapshot_option> ::=

Вычисляет уровень изоляции транзакции.Calculates the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Включает параметр моментальных снимков на уровне базы данных.Enables Snapshot option at the database level. Если параметр включен, инструкции DML начинают создавать версии строк, даже если ни одна транзакция не использует изоляцию моментальных снимков.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. После установки этого параметра транзакции могут задавать уровень изоляции транзакций SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Если транзакция выполняется на уровне изоляции SNAPSHOT, всем инструкциям видны данные из моментального снимка в состоянии, которое существовало в момент начала транзакции.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Если транзакция выполняется с уровнем изоляции SNAPSHOT и обращается к данным нескольких баз данных, то либо параметр ALLOW_SNAPSHOT_ISOLATION должен быть установлен в состояние ON во всех базах данных, либо каждая инструкция в транзакции должна использовать подсказки блокировки при любом обращении предложения FROM к таблице базы данных, в которой параметр ALLOW_SNAPSHOT_ISOLATION установлен в состояние OFF.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Отключает параметр моментальных снимков на уровне базы данных.Turns off the Snapshot option at the database level. Транзакции не могут указывать уровень изоляции SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Если вы изменяете состояние ALLOW_SNAPSHOT_ISOLATION (из ON в OFF или из OFF в ON), инструкция ALTER DATABASE не возвращает управление вызвавшей ее программе, пока все существующие транзакции в базе данных не будут зафиксированы.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Если база данных уже находится в состоянии, указанном в инструкции ALTER DATABASE, управление вызвавшей программе будет возвращено немедленно.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Используйте процедуру sys.dm_tran_active_snapshot_database_transactions, чтобы определить наличие длительно выполняющихся транзакций.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Если инструкция ALTER DATABASE отменена, база данных останется в состоянии, в котором она находилась при запуске ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. Представление каталога sys.databases отображает состояние транзакций с уровнем изоляции моментальных снимков в базе данных.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Если snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF, операция будет повторена через шесть секунд.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Изменить состояние ALLOW_SNAPSHOT_ISOLATION невозможно, если база данных находится в режиме OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

При установке параметра ALLOW_SNAPSHOT_ISOLATION в базе данных, находящейся в режиме READ_ONLY, он будет сохранен при переводе базы данных в режим READ_WRITE.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

Настройки ALLOW_SNAPSHOT_ISOLATION можно изменить и для баз данных master, model, msdb и tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Если изменить значение для базы данных tempdb, оно будет сохраняться каждый раз при остановке и перезапуске экземпляра компонента Компонент Database EngineDatabase Engine.The setting is kept every time the instance of the Компонент Database EngineDatabase Engine is stopped and restarted if you change the setting for tempdb. При изменении настройки для базы данных model эта настройка становится значением по умолчанию для любых вновь создаваемых баз данных, за исключением tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Этот параметр для баз данных master и msdb по умолчанию установлен в состояние ON.The option is ON by default for the master and msdb databases.

Текущее состояние этого параметра можно определить по столбцу snapshot_isolation_state в представлении каталога sys.databases.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
ONON
Включает параметр уровня изоляции моментальных снимков READ COMMITTED на уровне базы данных.Enables Read-Committed Snapshot option at the database level. Если параметр включен, инструкции DML начинают создавать версии строк, даже если ни одна транзакция не использует изоляцию моментальных снимков.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. После включения этого параметра транзакции, указывающие уровень изоляции READ COMMITTED, используют управление версиями строк вместо блокировки.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Данные моментального снимка видны всем инструкциям в состоянии, которое существовало на момент начала выполнения инструкции, если транзакция выполняется с уровнем изоляции READ COMMITTED.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the READ COMMITTED isolation level.

OFFOFF
Отключает параметр уровня изоляции моментальных снимков READ COMMITTED на уровне базы данных.Turns off Read-Committed Snapshot option at the database level. Транзакции с уровнем изоляции READ COMMITTED используют блокировку.Transactions specifying the READ COMMITTED isolation level use locking.

Чтобы установить параметр READ_COMMITTED_SNAPSHOT в значение ON или OFF, с базой данных не должно быть активных соединений, за исключением соединения, выполняющего команду ALTER DATABASE.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection running the ALTER DATABASE command. Однако это не означает, что база данных должна находиться в однопользовательском режиме.However, the database doesn't have to be in single-user mode. Изменить состояние этого параметра невозможно, если база данных находится в режиме OFFLINE.You can't change the state of this option when the database is OFFLINE.

При установке параметра READ_COMMITTED_SNAPSHOT в базе данных, которая находится в режиме READ_ONLY, это состояние будет сохранено при переводе базы данных в режим READ_WRITE.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

Параметр READ_COMMITTED_SNAPSHOT не может быть установлен в ON для системных баз данных master, tempdb или msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. При изменении настройки для базы данных model эта настройка становится значением по умолчанию для любых вновь создаваемых баз данных, за исключением tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

Текущее состояние этого параметра можно определить по столбцу is_read_committed_snapshot_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Предупреждение

Если таблица создается с аргументом DURABILITY = SCHEMA_ONLY, а затем READ_COMMITTED_SNAPSHOT меняется с помощью ALTER DATABASE, данные в таблице будут утеряны.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
Применимо к: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later)

ONON
Если уровень изоляции транзакции установлен в любое значение ниже SNAPSHOT, все интерпретированные операции Transact-SQLTransact-SQL в таблицах, оптимизированных для памяти, выполняются с уровнем изоляции SNAPSHOT.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Примеры уровней изоляции ниже, чем моментальный снимок — READ COMMITTED или READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Эти операции выполняются независимо от того, установлен ли уровень изоляции транзакции явно на уровне сеанса или неявно используется значение по умолчанию.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Не повышает уровень изоляции транзакции для интерпретированных операций Transact-SQLTransact-SQL в таблицах, оптимизированных для памяти.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Изменить состояние MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT невозможно, если база данных находится в режиме OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

Значение по умолчанию — OFF.The default option is OFF.

Текущее состояние этого параметра можно определить по столбцу is_memory_optimized_elevate_to_snapshot_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::=<sql_option> ::=

Управляет параметрами соответствия ANSI на уровне базы данных.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT {ON | OFF} определяет значение по умолчанию, NULL или NOT NULL, столбцов или определяемых пользователем типов данных CLR, для которых в инструкциях CREATE TABLE или ALTER TABLE не была явно указана допустимость значений NULL.ANSI_NULL_DEFAULT { ON | OFF } Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. Столбцы, определенные с ограничениями, следуют правилам ограничения независимо от этой настройки.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
Значение по умолчанию для неопределенного столбца — NULL.The default value for an undefined column is NULL.

OFFOFF
Значение по умолчанию для неопределенного столбца — NOT NULL.The default value for an undefined column is NOT NULL.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют настройки уровня базы данных по умолчанию для ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_NULL_DEFAULT в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Для совместимости ANSI при установке параметра базы данных ANSI_NULL_DEFAULT в состояние ON изменяется значение по умолчанию базы данных на значение NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_null_default_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiNullDefault функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
ONON
Результатом любого сравнения со значением NULL будет UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Результатом сравнения значений не в Юникоде будет TRUE, если оба значения — NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Важно!

В будущей версии SQL ServerSQL Server параметр ANSI_NULLS всегда будет иметь значение ON, а все приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_NULLS в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ANSI_NULLS также должен быть установлен в ON.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_nulls_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiNullsEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
ONON
Строки перед преобразованием дополняются до одной и той же длины.Strings are padded to the same length before conversion. Выравнивание строк также выполняется перед вставкой в тип данных varchar или nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Вставляет замыкающие пробелы в значениях символов в столбцах varchar или nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Параметр также оставляет замыкающие нули в двоичных значениях, вставляемых в столбцы значений varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Значения не подгоняются под длину столбца.Values aren't padded to the length of the column.

Состояние OFF касается только определения новых столбцов.When OFF is specified, this setting affects only the definition of new columns.

Важно!

В будущей версии SQL ServerSQL Server параметр ANSI_PADDING всегда будет иметь значение ON, а все приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Рекомендуется всегда задавать для параметра ANSI_PADDING значение ON.We recommend that you always set ANSI_PADDING to ON. При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр ANSI_PADDING должен быть установлен в ON.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Столбцы с типами char(n) и binary(n) , допускающие значения NULL, выравниваются по длине столбца, если параметр ANSI_PADDING имеет значение ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Конечные пробелы и нули отбрасываются, если параметр ANSI_PADDING имеет значение OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Столбцы с типами char(n) и binary(n) , которые не допускают значений NULL, всегда выравниваются по длине столбца.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют настройки уровня базы данных по умолчанию для ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_PADDING в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_padding_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiPaddingEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
ONON
В случае возникновения таких ситуаций, как деление на ноль, выдаются ошибки или предупреждения.Errors or warnings are issued when conditions such as divide-by-zero occur. Ошибки и предупреждения также возникают тогда, когда значения NULL появляются в агрегатных функциях.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Предупреждения не выводятся, а в таких ситуациях, как деление на ноль, возвращается NULL.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ANSI_WARNINGS должен быть установлен в ON.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_WARNINGS в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_warnings_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiWarningsEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Запрос будет завершен, если во время его выполнения возникла ошибка переполнения или деления на ноль.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Когда возникает одна из этих ошибок, выводится предупреждающее сообщение.A warning message is displayed when one of these errors occurs. Запрос, пакет или транзакция продолжают выполняться, как если бы ошибки не произошло, даже если выводится предупреждение.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ARITHABORT должен быть установлен в ON.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_arithabort_on в представлении каталога sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsArithmeticAbortEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }

Дополнительные сведения см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
Результатом операции объединения будет NULL, если любой из операндов — NULL.The result of a concatenation operation is NULL when either operand is NULL. Например, объединение строки символов "Это" со значением NULL приведет к результату NULL вместо "Это".For example, concatenating the character string "This is" and NULL returns the NULL value instead of the "This is" value.

OFFOFF
Значение NULL будет обработано как пустая строка символов.The null value is treated as an empty character string.

(Важно) При создании или изменении индексов, основанных на вычисляемых столбцах или индексированных представлениях, параметр CONCAT_NULL_YIELDS_NULL должен быть установлен в ON.[IMPORTANT] CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Важно!

В будущих версиях параметр SQL ServerSQL Server CONCAT_NULL_YIELDS_NULL всегда будет иметь значение ON, а приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In upcoming versions of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON, and any applications that explicitly set the option to OFF will trigger an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Настройки уровня соединения, которые установлены с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. По умолчанию клиенты ODBC и OLE DB при соединении с экземпляром SQL ServerSQL Server устанавливают параметр CONCAT_NULL_YIELDS_NULL инструкции SET уровня соединения в состояние ON для сеанса.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Вы можете определить состояние этого параметра, проверив столбец is_concat_null_yields_null_on в представлении каталога sys.databases.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsNullConcat функции DATABASEPROPERTYEX.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
ONON
Двойные кавычки могут использоваться для идентификаторов с разделителями.Double quotation marks can be used to enclose delimited identifiers.

Все строки, находящиеся в двойных кавычках, интерпретируются как идентификаторы объектов.All strings delimited by double quotation marks are interpreted as object identifiers. Идентификаторы с разделителями не должны соответствовать правилам для идентификаторов Transact-SQLTransact-SQL.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Они могут быть ключевыми словами и включать символы, не разрешенные в идентификаторах Transact-SQLTransact-SQL.They can be keywords and can include characters that aren't allowed in Transact-SQLTransact-SQL identifiers. Если в состав строки-литерала входит одиночная кавычка ('), строка может быть заключена в двойные кавычки (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Идентификаторы не могут быть заключены в кавычки и должны следовать всем правилам для идентификаторов Transact-SQLTransact-SQL.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Литералы могут разделяться как одинарными, так и двойными кавычками.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server также допускает разделение идентификаторов квадратными скобками ([]).also allows for identifiers to be delimited by square brackets ([ ]). Идентификаторы в скобках могут использоваться всегда, независимо от значения параметра QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Дополнительные сведения см. в разделе Идентификаторы баз данных.For more information, see Database Identifiers.

При создании таблицы параметр QUOTED IDENTIFIER всегда сохраняется как ON в метаданных таблицы.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. Параметр сохраняется, даже если при создании таблицы он был установлен на OFF.The option is stored even if the option is set to OFF when the table is created.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая QUOTED_IDENTIFIER в значение ON, по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Вы можете определить состояние этого параметра, проверив столбец is_quoted_identifier_on в представлении каталога sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsQuotedIdentifiersEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
ONON
Если в выражении происходит потеря точности, будет сформирована ошибка.An error is generated when loss of precision occurs in an expression.

OFFOFF
Потеря точности вызывает сообщения об ошибках, а результат округляется до точности столбца или переменной, в которых сохраняется результат.Loss of precision doesn't generate an error message, and the result is rounded to the precision of the column or variable storing the result.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр NUMERIC_ROUNDABORT должен быть установлен в OFF.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_numeric_roundabort_on в представлении каталога sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsNumericRoundAbortEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
ONON
Рекурсивное срабатывание триггеров AFTER разрешено.Recursive firing of AFTER triggers is allowed.

OFFOFF
Вы можете определить состояние этого параметра, проверив столбец is_recursive_triggers_on в представлении каталога sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsRecursiveTriggersEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Примечание

Если параметр RECURSIVE_TRIGGERS установлен в состояние OFF, будет запрещена только прямая рекурсия.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Чтобы отключить косвенную рекурсию, нужно установить параметр сервера nested triggers в состояние 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Состояние этого параметра можно определить, проверив значение столбца is_recursive_triggers_on в представлении каталога sys.databases или свойства IsRecursiveTriggersEnabled функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::= <target_recovery_time_option> ::=
Применимо к: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) и выше)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later)

Указывает частоту косвенных контрольных точек для каждой базы данных.Specifies the frequency of indirect checkpoints on a per-database basis. Начиная с версии SQL Server 2016 (13.x)SQL Server 2016 (13.x), значение по умолчанию для новых баз данных равно 1 минуте. Оно означает, что база данных будет использовать косвенные контрольные точки.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Для более старых версий по умолчанию установлено значение 0, при котором базой данных используются автоматические контрольные точки, а их частота зависит от параметра интервала для восстановления экземпляра сервера.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. MicrosoftMicrosoft рекомендует 1 минуту для большинства систем.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Указывает максимальное время для восстановления определенной базы данных в случае сбоя.Specifies the maximum bound on the time to recover the specified database in the event of a crash. target_recovery_time имеет тип int.target_recovery_time is type int.

SECONDSSECONDS
Указывает, что значение target_recovery_time выражается в количестве секунд.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Указывает, что значение target_recovery_time выражается в количестве минут.Indicates that target_recovery_time is expressed as the number of minutes.

Сведения о косвенных контрольных точках см. в статье Контрольные точки базы данных (SQL Server).For more information about indirect checkpoints, see Database Checkpoints.

WITH <termination> ::=WITH <termination> ::=

Указывает, когда откатывать незавершенные транзакции при переходе базы данных из одного состояния в другое.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Если предложение завершения опущено, инструкция ALTER DATABASE будет бесконечно ожидать блокировки базы данных.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Может быть указано только одно предложение завершения, которое должно следовать за предложением SET.Only one termination clause can be specified, and it follows the SET clauses.

Примечание

Не все параметры базы данных могут использоваться с предложением WITH <termination>.Not all database options use the WITH <termination> clause. Дополнительные сведения см. в таблице Настройка параметров в разделе "Примечания" этой статьи.For more information, see the table under "Setting options of the "Remarks" section of this article.

ROLLBACK AFTER number [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER number [SECONDS] | ROLLBACK IMMEDIATE

Указывает, нужно ли откатить транзакцию через указанное количество секунд или немедленно.Specifies whether to roll back after the specified number of seconds or immediately. number имеет тип int.number is type int.

NO_WAITNO_WAIT
Указывает, что запрос завершится ошибкой, если нужное состояние базы данных или изменение параметра не может совершиться немедленно.Specifies that the request will fail if the requested database state or option change can't complete immediately. Завершение работы сразу же означает завершение без ожидания фиксации транзакции или отката.Completing immediately means not waiting for transactions to commit or roll back on their own.

Настройка параметровSetting options

Для извлечения текущих параметров для параметров базы данных используйте представление каталога sys.databases или DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

После установки параметра базы данных новое значение вступает в силу немедленно.After you set a database option, the new setting takes effect immediately.

Вы можете изменить значения по умолчанию для любого из параметров базы данных для всех созданных баз данных.You can change the default values for any one of the database options for all newly created databases. Для этого измените соответствующий параметр базы данных в шаблоне.To do so, change the appropriate database option in the model database.

Не все параметры базы данных используют предложение WITH <termination> или могут быть указаны в сочетании с другими параметрами.Not all database options use the WITH <termination> clause or can be specified in combination with other options. В следующей таблице перечислены эти параметры.The following table lists these options and their option and termination status.

Категория параметровOptions category Может быть указан с другими параметрамиCan be specified with other options Может использовать предложение WITH <termination>Can use the WITH <termination> clause
<db_state_option><db_state_option> ДаYes ДаYes
<db_user_access_option><db_user_access_option> ДаYes ДаYes
<db_update_option><db_update_option> ДаYes ДаYes
<delayed_durability_option><delayed_durability_option> ДаYes ДаYes
<external_access_option><external_access_option> ДаYes НетNo
<cursor_option><cursor_option> ДаYes НетNo
<auto_option><auto_option> ДаYes НетNo
<sql_option><sql_option> ДаYes НетNo
<recovery_option><recovery_option> ДаYes НетNo
<target_recovery_time_option><target_recovery_time_option> НетNo ДаYes
<database_mirroring_option><database_mirroring_option> НетNo НетNo
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION НетNo НетNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT НетNo ДаYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ДаYes ДаYes
<service_broker_option><service_broker_option> ДаYes НетNo
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION ДаYes ДаYes
<parameterization_option><parameterization_option> ДаYes ДаYes
<change_tracking_option><change_tracking_option> ДаYes ДаYes
<db_encryption_option><db_encryption_option> ДаYes НетNo

Кэш планов для экземпляра SQL ServerSQL Server очищается при установке одного из следующих параметров.The plan cache for the instance of SQL ServerSQL Server is cleared by setting one of the following options:

OFFLINEOFFLINE READ_WRITEREAD_WRITE
ONLINEONLINE MODIFY FILEGROUP DEFAULTMODIFY FILEGROUP DEFAULT
MODIFY_NAMEMODIFY_NAME MODIFY FILEGROUP READ_WRITEMODIFY FILEGROUP READ_WRITE
COLLATECOLLATE MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_ONLY
READ_ONLYREAD_ONLY

Кроме того, кэш планов сбрасывается в следующих случаях:The plan cache is also flushed in the following scenarios.

  • В базе данных включен параметр базы данных AUTO_CLOSE.A database has the AUTO_CLOSE database option set to ON. Если отсутствуют ссылки соединений пользователя или базы данных, фоновая задача предпримет попытку закрыть и отключить базу данных автоматически.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Выполняется несколько запросов в базе данных с параметрами по умолчанию.You run several queries against a database that has default options. Затем база данных уничтожается.Then, the database is dropped.
  • Моментальный снимок базы данных для базы данных-источника удален.A database snapshot for a source database is dropped.
  • Успешное перестроение журнала транзакций базы данных.You successfully rebuild the transaction log for a database.
  • Восстановление резервной копии базы данных.You restore a database backup.
  • Отсоединение базы данных.You detach a database.

Очистка кэша планов становится причиной перекомпиляции всех последующих планов выполнения и приводит к непредвиденному временному снижению производительности обработки запросов.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Для каждого удаленного хранилища кэша в кэше планов журнал ошибок SQL ServerSQL Server содержит следующее информационное сообщение: "SQL ServerSQL Server обнаружил %d экземпляров, записанных на диск хранилищ кэша для хранилища кэша "%s" (части кэша планов) в результате операций по обслуживанию или изменению конфигурации базы данных".For each cleared cache store in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Это сообщение добавляется в журнал каждые пять минут при сбросе кэша в течение этого интервала времени.This message is logged every five minutes as long as the cache is flushed within that time interval.

ПримерыExamples

A.A. Установка параметров для базы данныхSetting options on a database

В следующем примере задается модель восстановления и параметры проверки страницы данных для образца базы данных AdventureWorks2012AdventureWorks2012.The following example sets the recovery model and data page verification options for the AdventureWorks2012AdventureWorks2012 sample database.

USE master;
GO
ALTER DATABASE [database_name]
SET RECOVERY FULL PAGE_VERIFY CHECKSUM;
GO

Б.B. Перевод базы данных в состояние READ_ONLYSetting the database to READ_ONLY

Для изменения состояния базы данных или файловой группы в READ_ONLY или READ_WRITE требуется монопольный доступ к базе данных.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. В следующем примере база данных устанавливается в режим SINGLE_USER для получения монопольного доступа.The following example sets the database to SINGLE_USER mode to obtain exclusive access. Затем состояние базы данных AdventureWorks2012AdventureWorks2012 устанавливается в READ_ONLY, а также возвращается доступ к базе данных всем пользователям.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

Примечание

В этом примере используется параметр завершения WITH ROLLBACK IMMEDIATE в первой инструкции ALTER DATABASE.This example uses the termination option WITH ROLLBACK IMMEDIATE in the first ALTER DATABASE statement. Произойдет откат всех незавершенных транзакций, а любые другие подключения к базе данных AdventureWorks2012AdventureWorks2012 будут немедленно удалены.All incomplete transactions will be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database will be immediately disconnected.

USE master;
GO
ALTER DATABASE [database_name]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

В.C. Включение изоляции моментального снимка для базы данныхEnabling snapshot isolation on a database

Следующий пример включает параметр платформы изоляции моментального снимка для базы данных AdventureWorks2012AdventureWorks2012.The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Результирующий набор показывает, что платформа изоляции моментального снимка включена.The result set shows that the snapshot isolation framework is enabled.

namename snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[database_name][database_name] 11 ONON

Г.D. Включение, изменение и отключение отслеживания измененийEnabling, modifying, and disabling change tracking

В следующем примере демонстрируется включение отслеживания изменений для базы данных AdventureWorks2012AdventureWorks2012 и установка 2-дневного срока хранения.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

В следующем примере демонстрируется уменьшение срока хранения до 3 дней.The following example shows how to change the retention period to 3 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

В следующем примере демонстрируется отключение отслеживания изменений для базы данных AdventureWorks2012AdventureWorks2012.The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

Д.E. Включение хранилища запросовEnabling the Query Store

Применимо к: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) и выше)Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later)

В приведенном ниже примере включается хранилище запросов и настраиваются его параметры.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

Е.F. Включение хранилища запросов с использованием статистики ожиданияEnabling the Query Store with wait statistics

Область применения: SQL ServerSQL Server (начиная с SQL Server 2017 (14.x)SQL Server 2017 (14.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x))

В приведенном ниже примере включается хранилище запросов и настраиваются его параметры.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
    );

Ж.G. Включение хранилища запросов с использованием параметров пользовательской политики записиEnabling the Query Store with custom capture policy options

Область применения: SQL ServerSQL Server (начиная с SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

В приведенном ниже примере включается хранилище запросов и настраиваются его параметры.The following example enables the Query Store and configures its parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO,
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100
      )
    );

См. также:See Also

SQL ServerSQL Server * Отдельная база данных/эластичный пул Базы данных SQL
*
 
* SQL Database
single database/elastic pool *
 
Управляемый экземпляр Базы данных SQL
SQL Database
managed instance
Хранилище данных
SQL
SQL Data
Warehouse

 

Отдельная база данных или эластичный пул Базы данных SQL AzureAzure SQL Database single database/elastic pool

Уровни совместимости являются параметрами инструкции SET, но описаны в отдельной статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Примечание

Многие параметры инструкции DATABASE SET можно настроить только для текущего сеанса с помощью инструкций SET. Они часто задаются приложениями при подключении.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Параметры инструкции SET уровня сеанса переопределяют значения ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Описанные в следующих разделах параметры базы данных являются значениями, которые можно задавать для сеансов, не предоставляющих явно другие значения параметра SET.The database options described in the following sections are values that can be set for sessions that don't explicitly provide other set option values.

СинтаксисSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}
;

<option_spec> ::=
{
    <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;

<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
  | AUTOMATIC_TUNING ( CREATE_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( DROP_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
    {
        = OFF
      | = ON [ ( <change_tracking_option_list > [,...n] ) ]
      | ( <change_tracking_option_list> [,...n] )
    }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<db_update_option> ::=
  { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
  { RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::= DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
      = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = [ AUTO | OFF ]
  | QUERY_CAPTURE_MODE = [ ALL | AUTO | NONE ]
  | MAX_PLANS_PER_QUERY = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<termination>::=
{
    ROLLBACK AFTER integer [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}

<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

АргументыArguments

database_name database_name
Имя изменяемой базы данных.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT выполняет действие в текущей базе данных.CURRENT runs the action in the current database. CURRENT работает не со всеми параметрами и не во всех контекстах.CURRENT isn't supported for all options in all contexts. Если CURRENT не работает, укажите имя базы данных.If CURRENT fails, provide the database name.

<auto_option> ::=<auto_option> ::=

Управляет автоматическими параметрами.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
Оптимизатор запросов в случае необходимости создает статистику по отдельным столбцам в предикатах запросов, чтобы улучшить планы запросов и повысить производительность запросов.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Такая статистика по отдельным столбцам создается, когда оптимизатор запросов компилирует запросы.These single-column statistics are created when Query Optimizer compiles queries. Статистика по отдельным столбцам создается только для столбцов, ни один из которых не является первым столбцом в существующем объекте статистики.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

Значение по умолчанию — ON.The default is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

OFFOFF
Оптимизатор запросов не создает статистику по отдельным столбцам в предикатах запросов во время компиляции запросов.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_create_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoCreateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в разделе "Параметры статистики" статьи Статистика.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Присваивает AUTO_CREATE_STATISTICS значение ON, а INCREMENTAL — значение ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Он создает автоматически создаваемые статистики как добавочные везде, где поддерживаются добавочные статистики.This setting creates automatically created stats as incremental whenever incremental stats are supported. Значение по умолчанию — OFF.The default value is OFF. Дополнительные сведения см. в описании CREATE STATISTICS (Transact-SQL).For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Файлы базы данных являются кандидатами на периодическое сжатие.The database files are candidates for periodic shrinking.

И файлы данных, и файлы журналов могут быть автоматически сжаты.Both data file and log files can be automatically shrunk. AUTO_SHRINK уменьшает размер журнала транзакций только в том случае, если вы выбрали простую модель восстановления базы данных или создали резервную копию журнала.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Если этот параметр установлен в состояние OFF, файлы базы данных не будут автоматически сжиматься при периодической проверке на неиспользуемое пространство.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

При включенном параметре AUTO_SHRINK файлы будут сжаты, если более 25 процентов файла содержит неиспользуемое пространство.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. Параметр вызывает сжатие файла в один из двух размеров.The option causes the file to shrink to one of two sizes. Он сжимает до большего, если:It shrinks to whichever is larger:

  • размер, в котором 25 процентов файла не используется;The size where 25 percent of the file is unused space
  • размер файла при его создании.The size of the file when it was created

Нельзя сжать базу данных, находящуюся в состоянии только для чтения.You can't shrink a read-only database.

OFFOFF
Автоматическое сжатие файлов при периодической проверке на неиспользуемое пространство не производится.The database files are not automatically shrunk during periodic checks for unused space.

Вы можете определить состояние этого параметра, проверив столбец is_auto_shrink_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoShrink функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Примечание

В автономной базе данных параметр AUTO_SHRINK недоступен.The AUTO_SHRINK option isn't available in a contained database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Указывает, что оптимизатор запросов обновляет статистику, если она используется в запросе и может оказаться устаревшей.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Статистика становится устаревшей, после того как операции вставки, обновления, удаления или слияния изменяют распределение данных в таблице или индексированном представлении.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Оптимизатор запросов определяет, когда статистика может оказаться устаревшей, подсчитывая операции изменения данных с момента последнего обновления статистики и сравнивая количество изменений с пороговым значением.Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Пороговое значение основано на количестве строк в таблице или индексированном представлении.The threshold is based on the number of rows in the table or indexed view.

Оптимизатор запросов проверяет наличие устаревшей статистики перед компиляцией запроса и выполняет кэшированный план запроса.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. Оптимизатор запросов с помощью столбцов, таблиц и индексированных представлений в предикате запроса определяет, какая статистика могла устареть.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Оптимизатор запросов определяет эти сведения перед компиляцией запроса.Query Optimizer determines this information before it compiles a query. Перед выполнением кэшированного плана запроса компонент Компонент Database EngineDatabase Engine проверяет, ссылается ли план запроса на актуальную статистику.Before running a cached query plan, the Компонент Database EngineDatabase Engine verifies that the query plan references up-to-date statistics.

Параметр AUTO_UPDATE_STATISTICS применяется к статистике, создаваемой для индексов и отдельных столбцов в предикатах запросов, и к статистике, создаваемой инструкцией CREATE STATISTICS.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Этот параметр также применяется к отфильтрованной статистике.This option also applies to filtered statistics.

Значение по умолчанию — ON.The default is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

Используйте параметр AUTO_UPDATE_STATISTICS_ASYNC, чтобы указать режим обновления статистики: синхронный или асинхронный.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Указывает, что оптимизатор запросов не обновляет статистику, если она используется в запросе.Specifies that Query Optimizer doesn't update statistics when they're used by a query. Оптимизатор запросов также не обновляет статистику, когда она становится устаревшей.Query Optimizer also doesn't update statistics when they might be out-of-date. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_update_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoUpdateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в разделе "Параметры статистики" статьи Статистика.For more information, see the "Statistics options" section in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Указывает, что обновление статистики для параметра AUTO_UPDATE_STATISTICS выполняется асинхронно.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. Оптимизатор запросов не ожидает завершения обновления статистики перед компиляцией запросов.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Установка этого параметра в состояние ON не будет иметь эффекта, если параметр AUTO_UPDATE_STATISTICS не установлен в состояние ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

По умолчанию параметр AUTO_UPDATE_STATISTICS_ASYNC имеет значение OFF, а оптимизатор запросов обновляет статистику в синхронном режиме.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Указывает, что обновление статистики для параметра AUTO_UPDATE_STATISTICS выполняется синхронно.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. Оптимизатор запросов ожидает завершения обновления статистики перед компиляцией запросов.Query Optimizer waits for statistics updates to complete before it compiles queries.

Установка этого параметра в значение OFF не будет иметь эффекта, если параметр AUTO_UPDATE_STATISTICS не установлен в значение ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Вы можете определить состояние этого параметра, проверив столбец is_auto_update_stats_async_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Дополнительные сведения, описывающие условия применения синхронного и асинхронного обновлений статистики, см. в разделе "Параметры статистики" статьи Статистика.For more information that describes when to use synchronous or asynchronous statistics updates, see the "Statistics options" section in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Область применения: SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Управляет автоматическими параметрами для автоматической настройки.Controls automatic options for Automatic tuning.

AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
AUTOAUTO
Если для автоматической настройки задано значение AUTO, будут применяться значения конфигурации Azure по умолчанию.Setting the Automatic tuning value to AUTO will apply Azure configuration defaults for Automatic tuning.

INHERITINHERIT
При использовании значения INHERIT с родительского сервера будет наследоваться конфигурация по умолчанию.Using the INHERIT value inherits the default configuration from the parent server. Это особенно полезно, если вы хотите задать на родительском сервере пользовательские параметры автоматической настройки, которые будут наследовать все базы данных.This is especially useful if you would like to customize Automatic tuning configuration on a parent server, and have all the databases on such server INHERIT these custom settings. Обратите внимание, что для корректного наследования нужно, чтобы три отдельных параметра настройки (FORCE_LAST_GOOD_PLAN, CREATE_INDEX и DROP_INDEX) имели значение DEFAULT в базах данных.Please note that in order for the inheritance to work, the three individual tuning options FORCE_LAST_GOOD_PLAN, CREATE_INDEX and DROP_INDEX need to be set to DEFAULT on databases.

CUSTOMCUSTOM
Значение CUSTOM необходимо для ручной настройки всех параметров, доступных в базах данных.Using the CUSTOM value, you'll need to custom-configure each of the Automatic Tuning options available on databases.

Включает или отключает параметр автоматического управления индексами CREATE_INDEX автоматической настройки.Enables or disables automatic index management CREATE_INDEX option of Automatic tuning.

CREATE_INDEX = { DEFAULT | ON | OFF }CREATE_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Наследует параметры по умолчанию с сервера.Inherits default settings from the server. В этом случае параметры включения и отключения отдельных функций автоматической настройки задаются на уровне сервера.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Если этот параметр включен, недостающие индексы в базе данных создаются автоматически.When enabled, missing indexes are automatically generated on a database. После создания индексов измеряется повышение производительности рабочей нагрузки.Following the index creation, gains to the performance of the workload are verified. Если созданный таким образом индекс больше не повышает производительность рабочей нагрузки, он автоматически отменяется.When such created index no longer provides benefits to the workload performance, it's automatically reverted. Автоматически созданные индексы отмечаются как созданные системой.Indexes automatically created are flagged as a system generated indexed.

OFFOFF
Не создает автоматически недостающие индексы в базе данных.Doesn't automatically generate missing indexes on the database.

Включает или отключает параметр автоматического управления индексами DROP_INDEX автоматической настройки.Enables or disables automatic index management DROP_INDEX option of Automatic Tuning.

DROP_INDEX = { DEFAULT | ON | OFF }DROP_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Наследует параметры по умолчанию с сервера.Inherits default settings from the server. В этом случае параметры включения и отключения отдельных функций автоматической настройки задаются на уровне сервера.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Автоматически удаляет повторяющиеся или неиспользуемые индексы для повышения производительности рабочей нагрузки.Automatically drops duplicate or no longer useful indexes to the performance workload.

OFFOFF
Не удаляет автоматически недостающие индексы в базе данных.Doesn't automatically drop missing indexes on the database.

Включает или отключает параметр автоматического исправления плана FORCE_LAST_GOOD_PLAN автоматической настройки.Enables or disables automatic plan correction FORCE_LAST_GOOD_PLAN option of Automatic tuning.

FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF }FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Наследует параметры по умолчанию с сервера.Inherits default settings from the server. В этом случае параметры включения и отключения отдельных функций автоматической настройки задаются на уровне сервера.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Компонент Database EngineDatabase Engine автоматически включает последний известный удачный план для Transact-SQLTransact-SQL запросов, когда новый план запроса приводит к снижению производительности.The Компонент Database EngineDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Компонент Database EngineDatabase Engine непрерывно отслеживает производительность запроса Transact-SQLTransact-SQL в форсированном плане.The Компонент Database EngineDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. В случае повышения производительности Компонент Database EngineDatabase Engine будет продолжать использовать последний известный удачный план.If there are performance gains, the Компонент Database EngineDatabase Engine will keep using last known good plan. Если повышений производительности нет, Компонент Database EngineDatabase Engine создаст новый план запроса.If performance gains are not detected, the Компонент Database EngineDatabase Engine will produce a new query plan. Инструкция завершится ошибкой, если хранилище запросов не включено или не находится в режиме Чтение и запись.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Компонент Database EngineDatabase Engine сообщает о потенциальном снижении производительности запросов, вызванном изменениями планов запросов в представлении sys.dm_db_tuning_recommendations.The Компонент Database EngineDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Однако эти рекомендации не применяются автоматически.However, these recommendations are not automatically applied. Пользователь может отслеживать активные рекомендации и устранять выявленные проблемы, применяя сценарии Transact-SQLTransact-SQL, которые отображаются в представлении.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Это значение по умолчанию.This is the default value.

<change_tracking_option> ::=<change_tracking_option> ::=

Определяет параметры отслеживания изменений.Controls change tracking options. Отслеживание изменений можно включить или отключить, а также установить или изменить параметры.You can enable change tracking, set options, change options, and disable change tracking. Примеры использования см. далее в этой статье.For examples, see the "Examples" section later in this article.

ONON
Включает отслеживание изменений для базы данных.Enables change tracking for the database. При включении отслеживания изменений также необходимо задать параметры AUTO CLEANUP и CHANGE RETENTION.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
ONON
Данные отслеживания изменений автоматически удаляются по истечении заданного срока хранения.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Данные отслеживания изменений не удаляются из базы данных.Change tracking data isn't removed from the database.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Указывает минимальный срок хранения данных отслеживания изменений в базе данных.Specifies the minimum period for keeping change tracking information in the database. Данные удаляются, только если для параметра AUTO_CLEANUP установлено значение ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period — целое число, указывающее числовой компонент срока хранения.retention_period is an integer that specifies the numerical component of the retention period.

Период хранения по умолчанию — 2 дня.The default retention period is 2 days. Минимальный срок хранения составляет 1 минуту.The minimum retention period is 1 minute. Тип хранения по умолчанию — DAYS.The default retention type is DAYS.

OFFOFF
Отключает отслеживание изменений для базы данных.Disables change tracking for the database. Перед отключением отслеживания изменений для базы данных предварительно отключите отслеживание изменений для всех таблиц.Disable change tracking on all tables before you disable change tracking off the database.

<cursor_option> ::=<cursor_option> ::=

Управляет параметрами курсора.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Любые курсоры, открытые при фиксации или откате транзакции, закрываются.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Курсоры остаются открытыми при завершении транзакции; откат транзакции закрывает любые курсоры (кроме тех, которые имеют свойства INSENSITIVE или STATIC).Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Настройки уровня соединения, которые установлены с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая CURSOR_CLOSE_ON_COMMIT в значение OFF для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Состояние этого параметра можно определить, проверив значение столбца is_cursor_close_on_commit_on в представлении каталога sys.databases или свойства IsCloseCursorsOnCommitEnabled функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function. Курсор неявно освобождается только при отключении.The cursor is implicitly deallocated only at disconnect. Дополнительные сведения см. в описании DECLARE CURSOR (Transact-SQL).For more information, see DECLARE CURSOR.

<db_encryption_option> ::=<db_encryption_option> ::=

Определяет параметры шифрования базы данных.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Включает шифрование базы данных (ON) или отключает его (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Дополнительные сведения см. в статьях о прозрачном шифровании данных и прозрачном шифровании данных для Базы данных SQL Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Если включить шифрование на уровне базы данных, будут зашифрованы все файловые группы.When encryption is enabled at the database level, all file groups will be encrypted. Все новые файловые группы наследуют свойство шифрования.Any new file groups will inherit the encrypted property. Если любая файловая группа базы данных установлена в состояние READ ONLY, операция шифрования базы завершится неуспешно.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Параметры шифрования базы данных можно просмотреть с помощью динамического административного представления sys.dm_database_encryption_keys.You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

<db_update_option> ::=<db_update_option> ::=

Управляет разрешениями на обновления базы данных.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Пользователи могут считывать данные из базы данных, но не могут изменять их.Users can read data from the database but not modify it.

Примечание

Для улучшения производительности запросов выполните обновление статистики перед тем, как перевести базу данных в режим доступа READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. После перевода базы данных в режим READ_ONLY потребуется дополнительная статистика, она будет создана компонентом Компонент Database EngineDatabase Engine в tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Компонент Database EngineDatabase Engine will create statistics in tempdb. Дополнительные сведения о статистике для базы данных, доступной только для чтения, см. в разделе Статистика.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
База данных доступна для операций чтения и записи.The database is available for read and write operations.

Чтобы изменить это состояние, необходимо обладать монопольным доступом к базе данных.To change this state, you must have exclusive access to the database. Дополнительные сведения см. в описании предложения SINGLE_USER.For more information, see the SINGLE_USER clause.

Примечание

Применительно к федеративным базам данных База данных SQLSQL Database, инструкция SET { READ_ONLY | READ_WRITE } отключена.On База данных SQLSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

<db_user_access_option> ::=<db_user_access_option> ::=

Управляет пользовательским доступом к базе данных.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Позволяет подключаться к базе данных только членам предопределенной роли базы данных db_owner и предопределенных ролей сервера dbcreator и sysadmin. Количество соединений при этом не ограничивается.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but doesn't limit their number. Все соединения с базой данных будут отключены на период времени, определяемый завершающим предложением инструкции ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. После того как база данных перешла в состояние RESTRICTED_USER, попытки подключения пользователей, не соответствующими описанным выше условиям, будут отклонены.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER нельзя изменить с помощью управляемого экземпляра Базы данных SQL.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Все пользователи, имеющие соответствующие разрешения на подключение к базе данных, будут допущены к базе данных.All users that have the appropriate permissions to connect to the database are allowed.

Состояние этого параметра можно определить, проверив значение столбца user_access в представлении каталога sys.databases или свойства UserAccess функции DATABASEPROPERTYEX.You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::=<delayed_durability_option> ::=

Управляет тем, является ли фиксация транзакций полностью устойчивой или отложенной устойчивой.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Все транзакции, следующие за SET DISABLED, являются полностью устойчивыми.All transactions following SET DISABLED are fully durable. Все параметры устойчивости, заданные в блоке ATOMIC или инструкции COMMIT, не учитываются.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Все транзакции, следующие за SET ALLOWED, являются полностью устойчивыми или отложенными устойчивыми, в зависимости от параметра устойчивости, заданного в блоке ATOMIC или инструкции COMMIT.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Все транзакции, следующие за SET FORCED, являются отложенными устойчивыми.All transactions following SET FORCED are delayed durable. Все параметры устойчивости, заданные в блоке ATOMIC или инструкции COMMIT, не учитываются.Any durability options set in an atomic block or commit statement are ignored.

<PARAMETERIZATION_option> ::=<PARAMETERIZATION_option> ::=

Управляет параметром параметризации.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Запросы параметризуются на основании поведения базы данных по умолчанию.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server параметризует все запросы в базе данных.parameterizes all queries in the database.

Текущее состояние этого параметра можно определить по столбцу is_parameterization_forced в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::=<query_store_options> ::=

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Указывает, включено ли хранилище запросов в этой базе данных, а также управляет удалением содержимого хранилища запросов.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

ONON
Включает хранилище запросов.Enables the Query Store.

OFFOFF
Отключает хранилище запросов.Disables the Query Store. Это значение по умолчанию.This is the default value.

CLEARCLEAR
Удаляет содержимое хранилища запросов.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Описывает режим работы хранилища запросов.Describes the operation mode of the Query Store. Допустимые значения: READ_ONLY и READ_WRITE.Valid values are READ_ONLY and READ_WRITE. В режиме READ_WRITE хранилище запросов собирает и сохраняет план запросов и статистические данные о выполнении.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. В режиме READ_ONLY можно считывать данные из хранилища запросов, но новые сведения не добавляются.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Если выделенное свободное место в хранилище запросов будет исчерпано, хранилище переключится в режим работы READ_ONLY.If the maximum allocated space of the Query Store has been exhausted, the Query Store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Описывает политику хранения данных хранилища запросов.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS определяет количество дней хранения сведений о запросе в хранилище.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the Query Store. STALE_QUERY_THRESHOLD_DAYS имеет тип bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Определяет частоту, с которой данные, записанные в хранилище запросов, сохраняются на диск.Determines the frequency at which data written to the Query Store is persisted to disk. Для оптимизации производительности данные, собранные хранилищем запросов, асинхронно записываются на диск.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. Для настройки частоты этой асинхронной передачи используется аргумент DATA_FLUSH_INTERVAL_SECONDS.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS имеет тип bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Определяет свободное место, выделенное для хранилища запросов.Determines the space allocated to the Query Store. MAX_STORAGE_SIZE_MB имеет тип bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Определяет временной интервал вычисления статистических данных о среде выполнения в хранилище запросов.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Для оптимизации использования свободного места статистические данные о среде выполнения в хранилище вычисляются для фиксированного временного интервала.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Этот интервал настраивается с помощью аргумента INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES имеет тип bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Определяет, будет ли автоматически активирована очистка, когда общий объем данных приблизится к верхней границе ограничения.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
Очистка на основе размера не будет автоматически активирована.Size-based cleanup won't be automatically activated.

AUTOAUTO
Очистка на основе размера активируется автоматически при достижении размера на диске 90 % от max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Эта очистка сначала удаляет самые дешевые и самые старые запросы.Size-based cleanup removes the least expensive and oldest queries first. Она останавливается приблизительно на 80 % от max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Это значение конфигурации по умолчанию.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE имеет тип nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Определяет режим записи текущего активного запроса:Designates the currently active query capture mode:

ALLALL
Записываются все запросы.All queries are captured.

AUTOAUTO
Записываются соответствующие запросы на основе показателя выполнения и объема потребления ресурсов.Capture relevant queries based on execution count and resource consumption. Это значение конфигурации по умолчанию для База данных SQL AzureAzure SQL Database.This is the default configuration value for База данных SQL AzureAzure SQL Database.

NoneNONE
Запись новых запросов останавливается.Stop capturing new queries. Хранилище запросов будет продолжать сбор статистики компиляции и времени выполнения для запросов, которые уже были записаны.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Эту конфигурацию следует использовать с осторожностью, поскольку можно пропустить запись важных запросов.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE имеет тип nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

MAX_PLANS_PER_QUERYMAX_PLANS_PER_QUERY
Целое число, представляющее максимальное количество поддерживаемых планов для каждого запроса.An integer representing the maximum number of plans maintained for each query. Значение по умолчанию — 200.Default is 200.

<snapshot_option> ::=<snapshot_option> ::=

Определяет уровень изоляции транзакции.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Включает параметр моментальных снимков на уровне базы данных.Enables Snapshot option at the database level. Если параметр включен, инструкции DML начинают создавать версии строк, даже если ни одна транзакция не использует изоляцию моментальных снимков.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. После установки этого параметра транзакции могут задавать уровень изоляции транзакций SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Если транзакция выполняется на уровне изоляции SNAPSHOT, всем инструкциям видны данные из моментального снимка в состоянии, которое существовало в момент начала транзакции.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Если транзакция выполняется с уровнем изоляции SNAPSHOT и обращается к данным нескольких баз данных, то либо параметр ALLOW_SNAPSHOT_ISOLATION должен быть установлен в состояние ON во всех базах данных, либо каждая инструкция в транзакции должна использовать подсказки блокировки при любом обращении предложения FROM к таблице базы данных, в которой параметр ALLOW_SNAPSHOT_ISOLATION установлен в состояние OFF.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Отключает параметр моментальных снимков на уровне базы данных.Turns off the Snapshot option at the database level. Транзакции не могут указывать уровень изоляции SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Если вы изменяете состояние ALLOW_SNAPSHOT_ISOLATION (из ON в OFF или из OFF в ON), инструкция ALTER DATABASE не возвращает управление вызвавшей ее программе, пока все существующие транзакции в базе данных не будут зафиксированы.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Если база данных уже находится в состоянии, указанном в инструкции ALTER DATABASE, управление вызвавшей программе будет возвращено немедленно.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Используйте процедуру sys.dm_tran_active_snapshot_database_transactions, чтобы определить наличие длительно выполняющихся транзакций.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Если инструкция ALTER DATABASE отменена, база данных останется в состоянии, в котором она находилась при запуске ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. Представление каталога sys.databases отображает состояние транзакций с уровнем изоляции моментальных снимков в базе данных.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Если snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF, операция будет повторена через шесть секунд.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Изменить состояние ALLOW_SNAPSHOT_ISOLATION невозможно, если база данных находится в режиме OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

При установке параметра ALLOW_SNAPSHOT_ISOLATION в базе данных, находящейся в режиме READ_ONLY, он будет сохранен при переводе базы данных в режим READ_WRITE.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

Настройки ALLOW_SNAPSHOT_ISOLATION можно изменить и для баз данных master, model, msdb и tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Если изменить значение для базы данных tempdb, оно будет сохраняться каждый раз при остановке и перезапуске экземпляра компонента Компонент Database EngineDatabase Engine.The setting is kept every time the instance of the Компонент Database EngineDatabase Engine is stopped and restarted if you change the setting for tempdb. При изменении настройки для базы данных model эта настройка становится значением по умолчанию для любых вновь создаваемых баз данных, за исключением tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Этот параметр для баз данных master и msdb по умолчанию установлен в состояние ON.The option is ON, by default, for the master and msdb databases.

Текущее состояние этого параметра можно определить по столбцу snapshot_isolation_state в представлении каталога sys.databases.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
ONON
Включает параметр уровня изоляции моментальных снимков READ COMMITTED на уровне базы данных.Enables Read-Committed Snapshot option at the database level. Если параметр включен, инструкции DML начинают создавать версии строк, даже если ни одна транзакция не использует изоляцию моментальных снимков.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. После включения этого параметра транзакции, указывающие уровень изоляции READ COMMITTED, используют управление версиями строк вместо блокировки.Once this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Данные моментального снимка видны всем инструкциям в состоянии, которое существовало на момент начала выполнения инструкции, если транзакция выполняется с уровнем изоляции READ COMMITTED.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the READ COMMITTED isolation level.

OFFOFF
Отключает параметр уровня изоляции моментальных снимков READ COMMITTED на уровне базы данных.Turns off Read-Committed Snapshot option at the database level. Транзакции с уровнем изоляции READ COMMITTED используют блокировку.Transactions specifying the READ COMMITTED isolation level use locking.

Чтобы установить параметр READ_COMMITTED_SNAPSHOT в значение ON или OFF, с базой данных не должно быть активных соединений, за исключением соединения, выполняющего команду ALTER DATABASE.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection running the ALTER DATABASE command. Однако это не означает, что база данных должна находиться в однопользовательском режиме.However, the database doesn't have to be in single-user mode. Изменить состояние этого параметра невозможно, если база данных находится в режиме OFFLINE.You can't change the state of this option when the database is OFFLINE.

При установке параметра READ_COMMITTED_SNAPSHOT в базе данных, которая находится в режиме READ_ONLY, это состояние будет сохранено при переводе базы данных в режим READ_WRITE.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

Параметр READ_COMMITTED_SNAPSHOT не может быть установлен в ON для системных баз данных master, tempdb или msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. При изменении настройки для базы данных model эта настройка становится значением по умолчанию для любых вновь создаваемых баз данных, за исключением tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

Текущее состояние этого параметра можно определить по столбцу is_read_committed_snapshot_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Предупреждение

Если таблица была создана с использованием аргумента DURABILITY = SCHEMA_ONLY, а впоследствии значение READ_COMMITTED_SNAPSHOT было изменено с помощью инструкции ALTER DATABASE, данные в таблице будут потеряны.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
ONON
Если уровень изоляции транзакции установлен в любое значение ниже SNAPSHOT, все интерпретированные операции Transact-SQLTransact-SQL в таблицах, оптимизированных для памяти, выполняются с уровнем изоляции SNAPSHOT.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Примеры уровней изоляции ниже, чем моментальный снимок — READ COMMITTED или READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Эти операции выполняются независимо от того, установлен ли уровень изоляции транзакции явно на уровне сеанса или неявно используется значение по умолчанию.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Не повышает уровень изоляции транзакции для интерпретированных операций Transact-SQLTransact-SQL в таблицах, оптимизированных для памяти.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Изменить состояние MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT невозможно, если база данных находится в режиме OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

Значение по умолчанию — OFF.The default value is OFF.

Текущее состояние этого параметра можно определить по столбцу is_memory_optimized_elevate_to_snapshot_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::=<sql_option> ::=

Управляет параметрами соответствия ANSI на уровне базы данных.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Определяет значение по умолчанию, NULL или NOT NULL, для столбцов определяемых пользователем типов CLR, для которых в инструкциях CREATE TABLE или ALTER TABLE не указана явно допустимость значений NULL.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. Столбцы, определенные с ограничениями, следуют правилам ограничения независимо от этой настройки.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
Значение по умолчанию — NULL.The default value is NULL.

OFFOFF
Значением по умолчанию является NOT NULL.The default value is NOT NULL.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют настройки уровня базы данных по умолчанию для ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_NULL_DEFAULT в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Для совместимости ANSI при установке параметра базы данных ANSI_NULL_DEFAULT в состояние ON изменяется значение по умолчанию базы данных на значение NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_null_default_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiNullDefault функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
ONON
Результатом любого сравнения со значением NULL будет UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Результатом сравнения значений не в Юникоде будет TRUE, если оба значения — NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Важно!

В будущей версии SQL ServerSQL Server параметр ANSI_NULLS всегда будет иметь значение ON, а все приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_NULLS в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Примечание

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ANSI_NULLS также должен быть установлен в ON.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_nulls_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiNullsEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
ONON
Строки перед преобразованием дополняются до одной и той же длины.Strings are padded to the same length before conversion. Выравнивание строк также выполняется перед вставкой в тип данных varchar или nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Вставляет замыкающие пробелы в значениях символов в столбцах varchar или nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Параметр также оставляет замыкающие нули в двоичных значениях, вставляемых в столбцы значений varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Значения не подгоняются под длину столбца.Values aren't padded to the length of the column.

Состояние OFF касается только определения новых столбцов.When OFF is specified, this setting affects only the definition of new columns.

Важно!

В будущей версии SQL ServerSQL Server параметр ANSI_PADDING всегда будет иметь значение ON, а все приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Рекомендуется всегда задавать для параметра ANSI_PADDING значение ON.We recommend that you always set ANSI_PADDING to ON. При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр ANSI_PADDING должен быть установлен в ON.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Столбцы с типами char(n) и binary(n) , допускающие значения NULL, выравниваются по длине столбца, если параметр ANSI_PADDING имеет значение ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Конечные пробелы и нули отбрасываются, если параметр ANSI_PADDING имеет значение OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Столбцы с типами char(n) и binary(n) , которые не допускают значений NULL, всегда выравниваются по длине столбца.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют настройки уровня базы данных по умолчанию для ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_PADDING в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_padding_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiPaddingEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
ONON
В случае возникновения таких ситуаций, как деление на ноль, выдаются ошибки или предупреждения.Errors or warnings are issued when conditions such as divide-by-zero occur. Ошибки и предупреждения также возникают тогда, когда значения NULL появляются в агрегатных функциях.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Предупреждения не выводятся, а в таких ситуациях, как деление на ноль, возвращается NULL.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Примечание

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ANSI_WARNINGS должен быть установлен в ON.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_WARNINGS в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_warnings_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiWarningsEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Запрос будет завершен, если во время его выполнения возникла ошибка переполнения или деления на ноль.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Когда возникает одна из этих ошибок, выводится предупреждающее сообщение.A warning message is displayed when one of these errors occurs. Запрос, пакет или транзакция продолжают выполняться, как если бы ошибки не произошло, даже если выводится предупреждение.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Примечание

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ARITHABORT должен быть установлен в ON.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_arithabort_on в представлении каталога sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsArithmeticAbortEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
Дополнительные сведения см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
Результатом операции объединения будет NULL, если любой из операндов — NULL.The result of a concatenation operation is NULL when either operand is NULL. Например, объединение строки символов "Это" со значением NULL приведет к результату NULL вместо "Это".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
Значение NULL будет обработано как пустая строка символов.The null value is treated as an empty character string.

Примечание

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр CONCAT_NULL_YIELDS_NULL должен быть установлен в ON.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Важно!

В будущей версии SQL ServerSQL Server параметр CONCAT_NULL_YIELDS_NULL всегда будет иметь значение ON, а все приложения, явно устанавливающие значение параметра равным OFF, вызовут ошибку.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Настройки уровня соединения, которые установлены с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. По умолчанию клиенты ODBC и OLE DB при соединении с экземпляром SQL ServerSQL Server устанавливают параметр CONCAT_NULL_YIELDS_NULL инструкции SET уровня соединения в состояние ON для сеанса.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Вы можете определить состояние этого параметра, проверив столбец is_concat_null_yields_null_on в представлении каталога sys.databases.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsNullConcat функции DATABASEPROPERTYEX.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
ONON
Двойные кавычки могут использоваться для идентификаторов с разделителями.Double quotation marks can be used to enclose delimited identifiers.

Все строки, находящиеся в двойных кавычках, интерпретируются как идентификаторы объектов.All strings delimited by double quotation marks are interpreted as object identifiers. Идентификаторы с разделителями не должны соответствовать правилам для идентификаторов Transact-SQLTransact-SQL.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Они могут быть ключевыми словами и могут включать символы, не разрешенные в идентификаторах Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Если в состав строки-литерала входит одиночная кавычка ('), строка может быть заключена в двойные кавычки (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Идентификаторы не могут быть заключены в кавычки и должны следовать всем правилам для идентификаторов Transact-SQLTransact-SQL.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Литералы могут разделяться как одинарными, так и двойными кавычками.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server также допускает разделение идентификаторов квадратными скобками ([]).also allows for identifiers to be delimited by square brackets ([ ]). Идентификаторы в скобках могут использоваться всегда, независимо от значения параметра QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Дополнительные сведения см. в разделе Идентификаторы баз данных.For more information, see Database Identifiers.

При создании таблицы параметр QUOTED IDENTIFIER всегда сохраняется как ON в метаданных таблицы.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. Параметр сохраняется, даже если при создании таблицы он был установлен на OFF.The option is stored even if the option is set to OFF when the table is created.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая QUOTED_IDENTIFIER в значение ON, по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Вы можете определить состояние этого параметра, проверив столбец is_quoted_identifier_on в представлении каталога sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsQuotedIdentifiersEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
ONON
Если в выражении происходит потеря точности, будет сформирована ошибка.An error is generated when loss of precision occurs in an expression.

OFFOFF
Потеря точности вызывает сообщения об ошибках, а результат округляется до точности столбца или переменной, в которых сохраняется результат.Loss of precision doesn't generate an error message, and the result is rounded to the precision of the column or variable storing the result.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр NUMERIC_ROUNDABORT должен быть установлен в OFF.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_numeric_roundabort_on в представлении каталога sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsNumericRoundAbortEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
ONON
Рекурсивное срабатывание триггеров AFTER разрешено.Recursive firing of AFTER triggers is allowed.

OFFOFF
Вы можете определить состояние этого параметра, проверив столбец is_recursive_triggers_on в представлении каталога sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsRecursiveTriggersEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Примечание

Если параметр RECURSIVE_TRIGGERS установлен в состояние OFF, будет запрещена только прямая рекурсия.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Чтобы отключить косвенную рекурсию, нужно установить параметр сервера nested triggers в состояние 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Состояние этого параметра можно определить, проверив значение столбца is_recursive_triggers_on в представлении каталога sys.databases или свойства IsRecursiveTriggersEnabled функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::=<target_recovery_time_option> ::=

Указывает частоту косвенных контрольных точек для каждой базы данных.Specifies the frequency of indirect checkpoints on a per-database basis. Начиная с версии SQL Server 2016 (13.x)SQL Server 2016 (13.x) значение по умолчанию для новых баз данных равно 1 минуте, что указывает, что база данных будет использовать косвенные контрольные точки.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Для более старых версий по умолчанию установлено значение 0, при котором базой данных используются автоматические контрольные точки, а их частота зависит от параметра интервала для восстановления экземпляра сервера.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. MicrosoftMicrosoft рекомендует 1 минуту для большинства систем.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Указывает максимальное время для восстановления определенной базы данных в случае сбоя.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Указывает, что значение target_recovery_time выражается в количестве секунд.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Указывает, что значение target_recovery_time выражается в количестве минут.Indicates that target_recovery_time is expressed as the number of minutes.

Сведения о косвенных контрольных точках см. в статье Контрольные точки базы данных (SQL Server).For more information about indirect checkpoints, see Database Checkpoints.

WITH <termination> ::=WITH <termination> ::=

Указывает, когда откатывать незавершенные транзакции при переходе базы данных из одного состояния в другое.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Если предложение завершения опущено, инструкция ALTER DATABASE будет бесконечно ожидать блокировки базы данных.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Может быть указано только одно предложение завершения, которое должно следовать за предложением SET.Only one termination clause can be specified, and it follows the SET clauses.

Примечание

Не все параметры базы данных могут использоваться с предложением WITH <termination>.Not all database options use the WITH <termination> clause. Дополнительные сведения см. в таблице Настройка параметров в разделе "Примечания" этой статьи.For more information, see the table under "Setting options of the "Remarks" section of this article.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Указывает, нужно ли откатить транзакцию через указанное количество секунд или немедленно.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Указывает, что запрос завершится ошибкой, если нужное состояние базы данных или изменение параметра не может совершиться немедленно.Specifies that the request will fail if the requested database state or option change can't complete immediately. Завершение работы сразу же означает завершение без ожидания фиксации транзакции или отката.Completing immediately means not waiting for transactions to commit or roll back on their own.

Настройка параметровSetting options

Для извлечения текущих параметров для параметров базы данных используйте представление каталога sys.databases или DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

После установки параметра базы данных новое значение вступает в силу немедленно.After you set a database option, the new setting takes effect immediately.

Вы можете изменить значения по умолчанию для любого из параметров базы данных для всех созданных баз данных.You can change the default values for any one of the database options for all newly created databases. Для этого измените соответствующий параметр базы данных в шаблоне.To do so, change the appropriate database option in the model database.

Не все параметры базы данных используют предложение WITH <termination> или могут быть указаны в сочетании с другими параметрами.Not all database options use the WITH <termination> clause or can be specified in combination with other options. В следующей таблице перечислены эти параметры.The following table lists these options and their option and termination status.

Категория параметровOptions category Может быть указан с другими параметрамиCan be specified with other options Может использовать предложение WITH <termination>Can use the WITH <termination> clause
<auto_option><auto_option> ДаYes нетNo
<change_tracking_option><change_tracking_option> ДаYes ДаYes
<cursor_option><cursor_option> ДаYes нетNo
<db_encryption_option><db_encryption_option> ДаYes нетNo
<db_update_option><db_update_option> ДаYes ДаYes
<db_user_access_option><db_user_access_option> ДаYes ДаYes
<delayed_durability_option><delayed_durability_option> ДаYes ДаYes
<parameterization_option><parameterization_option> ДаYes ДаYes
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION НетNo НетNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT НетNo ДаYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ДаYes ДаYes
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION ДаYes ДаYes
<sql_option><sql_option> ДаYes НетNo
<target_recovery_time_option><target_recovery_time_option> НетNo ДаYes

ПримерыExamples

A.A. Перевод базы данных в состояние READ_ONLYSetting the database to READ_ONLY

Для изменения состояния базы данных или файловой группы в READ_ONLY или READ_WRITE требуется монопольный доступ к базе данных.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. В следующем примере для базы данных устанавливается режим RESTRICTED_USER, ограничивающий доступ к ней.The following example sets the database to RESTRICTED_USER mode to limit access. Затем состояние базы данных AdventureWorks2012AdventureWorks2012 устанавливается в READ_ONLY, а также возвращается доступ к базе данных всем пользователям.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

USE master;
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

Б.B. Включение изоляции моментального снимка для базы данныхEnabling snapshot isolation on a database

Следующий пример включает параметр платформы изоляции моментального снимка для базы данных AdventureWorks2012AdventureWorks2012.The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Результирующий набор показывает, что платформа изоляции моментального снимка включена.The result set shows that the snapshot isolation framework is enabled.

namename snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[database_name][database_name] 11 ONON

В.C. Включение, изменение и отключение отслеживания измененийEnabling, modifying, and disabling change tracking

В следующем примере демонстрируется включение отслеживания изменений для базы данных AdventureWorks2012AdventureWorks2012 и установка 2-дневного срока хранения.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

В следующем примере демонстрируется уменьшение срока хранения до 3 дней.The following example shows how to change the retention period to 3 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

В следующем примере демонстрируется отключение отслеживания изменений для базы данных AdventureWorks2012AdventureWorks2012.The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

Г.D. Включение хранилища запросовEnabling the Query Store

В следующем примере включается хранилище запросов и настраиваются его параметры.The following example enables the Query Store and configures Query Store parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
(
      OPERATION_MODE = READ_WRITE
    , CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 )
    , DATA_FLUSH_INTERVAL_SECONDS = 900
    , MAX_STORAGE_SIZE_MB = 1024
    , INTERVAL_LENGTH_MINUTES = 60
    );

См. также:See Also

SQL ServerSQL Server Отдельная база данных/эластичный пул Базы данных SQL
SQL Database
single database/elastic pool
* Управляемый экземпляр Базы данных SQL
*
 
* SQL Database
managed instance *
 
Хранилище данных
SQL
SQL Data
Warehouse

 

Управляемый экземпляр Базы данных SQL AzureAzure SQL Database managed instance

Уровни совместимости являются параметрами инструкции SET, но описаны в отдельной статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Примечание

Многие параметры инструкции DATABASE SET можно настроить только для текущего сеанса с помощью инструкций SET. Они часто задаются приложениями при подключении.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Параметры инструкции SET уровня сеанса переопределяют значения ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Описанные в следующих разделах параметры базы данных являются значениями, которые можно задавать для сеансов, не предоставляющих явно другие значения параметра SET.The database options described in the following sections are values that can be set for sessions that don't explicitly provide other set option values.

СинтаксисSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <optionspec> [ ,...n ]
}
;

<optionspec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;
<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
    AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { ON | OFF } )
}

<change_tracking_option> ::=
{
    CHANGE_TRACKING
    {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
    }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
    = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = [ AUTO | OFF ]
  | QUERY_CAPTURE_MODE = [ ALL | AUTO | NONE ]
  | MAX_PLANS_PER_QUERY = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<temporal_history_retention>::= TEMPORAL_HISTORY_RETENTION { ON | OFF }

АргументыArguments

database_name database_name
Имя изменяемой базы данных.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT выполняет действие в текущей базе данных.CURRENT runs the action in the current database. CURRENT работает не со всеми параметрами и не во всех контекстах.CURRENT isn't supported for all options in all contexts. Если CURRENT не работает, укажите имя базы данных.If CURRENT fails, provide the database name.

<auto_option> ::=<auto_option> ::=

Управляет автоматическими параметрами.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
Оптимизатор запросов в случае необходимости создает статистику по отдельным столбцам в предикатах запросов, чтобы улучшить планы запросов и повысить производительность запросов.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Такая статистика по отдельным столбцам создается, когда оптимизатор запросов компилирует запросы.These single-column statistics are created when Query Optimizer compiles queries. Статистика по отдельным столбцам создается только для столбцов, ни один из которых не является первым столбцом в существующем объекте статистики.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

Значение по умолчанию — ON.The default is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

OFFOFF
Оптимизатор запросов не создает статистику по отдельным столбцам в предикатах запросов во время компиляции запросов.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_create_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoCreateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в разделе "Параметры статистики" статьи Статистика.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Присваивает AUTO_CREATE_STATISTICS значение ON, а INCREMENTAL — значение ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Он создает автоматически создаваемые статистики как добавочные везде, где поддерживаются добавочные статистики.This setting creates automatically created stats as incremental whenever incremental stats are supported. Значение по умолчанию — OFF.The default value is OFF. Дополнительные сведения см. в описании CREATE STATISTICS (Transact-SQL).For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Файлы базы данных являются кандидатами на периодическое сжатие.The database files are candidates for periodic shrinking.

И файлы данных, и файлы журналов могут быть автоматически сжаты.Both data file and log files can be automatically shrunk. AUTO_SHRINK уменьшает размер журнала транзакций только в том случае, если вы выбрали простую модель восстановления базы данных или создали резервную копию журнала.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Если этот параметр установлен в состояние OFF, файлы базы данных не будут автоматически сжиматься при периодической проверке на неиспользуемое пространство.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

При включенном параметре AUTO_SHRINK файлы будут сжаты, если более 25 процентов файла содержит неиспользуемое пространство.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. Параметр вызывает сжатие файла в один из двух размеров.The option causes the file to shrink to one of two sizes. Он сжимает до большего, если:It shrinks to whichever is larger:

  • размер, в котором 25 процентов файла не используется;The size where 25 percent of the file is unused space
  • размер файла при его создании.The size of the file when it was created

Нельзя сжать базу данных, находящуюся в состоянии только для чтения.You can't shrink a read-only database.

OFFOFF
Автоматическое сжатие файлов при периодической проверке на неиспользуемое пространство не производится.The database files are not automatically shrunk during periodic checks for unused space.

Вы можете определить состояние этого параметра, проверив столбец is_auto_shrink_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoShrink функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Примечание

В автономной базе данных параметр AUTO_SHRINK недоступен.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Указывает, что оптимизатор запросов обновляет статистику, если она используется в запросе и может оказаться устаревшей.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Статистика становится устаревшей, после того как операции вставки, обновления, удаления или слияния изменяют распределение данных в таблице или индексированном представлении.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Оптимизатор запросов определяет, когда статистика может оказаться устаревшей, подсчитывая операции изменения данных с момента последнего обновления статистики и сравнивая количество изменений с пороговым значением.Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Пороговое значение основано на количестве строк в таблице или индексированном представлении.The threshold is based on the number of rows in the table or indexed view.

Оптимизатор запросов проверяет наличие устаревшей статистики перед компиляцией запроса и выполняет кэшированный план запроса.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. Оптимизатор запросов с помощью столбцов, таблиц и индексированных представлений в предикате запроса определяет, какая статистика могла устареть.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. Оптимизатор запросов определяет эти сведения перед компиляцией запроса.Query Optimizer determines this information before it compiles a query. Перед выполнением кэшированного плана запроса компонент Компонент Database EngineDatabase Engine проверяет, ссылается ли план запроса на актуальную статистику.Before running a cached query plan, the Компонент Database EngineDatabase Engine verifies that the query plan references up-to-date statistics.

Параметр AUTO_UPDATE_STATISTICS применяется к статистике, создаваемой для индексов и отдельных столбцов в предикатах запросов, и к статистике, создаваемой инструкцией CREATE STATISTICS.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Этот параметр также применяется к отфильтрованной статистике.This option also applies to filtered statistics.

Значение по умолчанию — ON.The default is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

Используйте параметр AUTO_UPDATE_STATISTICS_ASYNC, чтобы указать режим обновления статистики: синхронный или асинхронный.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Указывает, что оптимизатор запросов не обновляет статистику, если она используется в запросе.Specifies that Query Optimizer doesn't update statistics when they're used by a query. Оптимизатор запросов также не обновляет статистику, когда она становится устаревшей.Query Optimizer also doesn't update statistics when they might be out-of-date. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_update_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoUpdateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в подразделе "Использование параметров статистики на уровне базы данных" раздела Статистика.For more information, see the section "Using the database-wide statistics options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Указывает, что обновление статистики для параметра AUTO_UPDATE_STATISTICS выполняется асинхронно.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. Оптимизатор запросов не ожидает завершения обновления статистики перед компиляцией запросов.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Установка этого параметра в состояние ON не будет иметь эффекта, если параметр AUTO_UPDATE_STATISTICS не установлен в состояние ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

По умолчанию параметр AUTO_UPDATE_STATISTICS_ASYNC имеет значение OFF, а оптимизатор запросов обновляет статистику в синхронном режиме.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Указывает, что обновление статистики для параметра AUTO_UPDATE_STATISTICS выполняется синхронно.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. Оптимизатор запросов ожидает завершения обновления статистики перед компиляцией запросов.Query Optimizer waits for statistics updates to complete before it compiles queries.

Установка этого параметра в значение OFF не будет иметь эффекта, если параметр AUTO_UPDATE_STATISTICS не установлен в значение ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Вы можете определить состояние этого параметра, проверив столбец is_auto_update_stats_async_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Дополнительные сведения, описывающие условия применения синхронного и асинхронного обновлений статистики, см. в подразделе "Использование параметров статистики на уровне базы данных" раздела Статистика.For more information that describes when to use synchronous or asynchronous statistics updates, see the section "Using the database-wide statistics options" in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Область применения: SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Включает или отключает параметр автоматической настройки FORCE_LAST_GOOD_PLAN.Enables or disables FORCE_LAST_GOOD_PLAN Automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
ONON
Компонент Database EngineDatabase Engine автоматически включает последний известный удачный план для Transact-SQLTransact-SQL запросов, когда новый план запроса приводит к снижению производительности.The Компонент Database EngineDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Компонент Database EngineDatabase Engine непрерывно отслеживает производительность запроса Transact-SQLTransact-SQL в форсированном плане.The Компонент Database EngineDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. В случае повышения производительности Компонент Database EngineDatabase Engine будет продолжать использовать последний известный удачный план.If there are performance gains, the Компонент Database EngineDatabase Engine will keep using last known good plan. Если повышений производительности нет, Компонент Database EngineDatabase Engine создаст новый план запроса.If performance gains are not detected, the Компонент Database EngineDatabase Engine will produce a new query plan. Инструкция завершится ошибкой, если хранилище запросов не включено или не находится в режиме Чтение и запись.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Компонент Database EngineDatabase Engine сообщает о потенциальном снижении производительности запросов, вызванном изменениями планов запросов в представлении sys.dm_db_tuning_recommendations.The Компонент Database EngineDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Однако эти рекомендации не применяются автоматически.However, these recommendations are not automatically applied. Пользователь может отслеживать активные рекомендации и устранять выявленные проблемы, применяя сценарии Transact-SQLTransact-SQL, которые отображаются в представлении.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Это значение по умолчанию.This is the default value.

<change_tracking_option> ::=<change_tracking_option> ::=

Определяет параметры отслеживания изменений.Controls change tracking options. Отслеживание изменений можно включить или отключить, а также установить или изменить параметры.You can enable change tracking, set options, change options, and disable change tracking. Примеры использования см. далее в этой статье.For examples, see the "Examples" section later in this article.

ONON
Включает отслеживание изменений для базы данных.Enables change tracking for the database. При включении отслеживания изменений также необходимо задать параметры AUTO CLEANUP и CHANGE RETENTION.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
ONON
Данные отслеживания изменений автоматически удаляются по истечении заданного срока хранения.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Данные отслеживания изменений не удаляются из базы данных.Change tracking data isn't removed from the database.

CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Указывает минимальный срок хранения данных отслеживания изменений в базе данных.Specifies the minimum period for keeping change tracking information in the database. Данные удаляются, только если для параметра AUTO_CLEANUP установлено значение ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period — целое число, указывающее числовой компонент срока хранения.retention_period is an integer that specifies the numerical component of the retention period.

Период хранения по умолчанию — 2 дня.The default retention period is 2 days. Минимальный срок хранения составляет 1 минуту.The minimum retention period is 1 minute. Тип хранения по умолчанию — DAYS.The default retention type is DAYS.

OFFOFF
Отключает отслеживание изменений для базы данных.Disables change tracking for the database. Перед отключением отслеживания изменений для базы данных предварительно отключите отслеживание изменений для всех таблиц.Disable change tracking on all tables before you disable change tracking off the database.

<cursor_option> ::=<cursor_option> ::=

Управляет параметрами курсора.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Любые курсоры, открытые при фиксации или откате транзакции, закрываются.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Курсоры остаются открытыми при завершении транзакции; откат транзакции закрывает любые курсоры (кроме тех, которые имеют свойства INSENSITIVE или STATIC).Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Настройки уровня соединения, которые установлены с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая CURSOR_CLOSE_ON_COMMIT в значение OFF для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Состояние этого параметра можно определить, проверив значение столбца is_cursor_close_on_commit_on в представлении каталога sys.databases или свойства IsCloseCursorsOnCommitEnabled функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function. Курсор неявно освобождается только при отключении.The cursor is implicitly deallocated only at disconnect. Дополнительные сведения см. в описании DECLARE CURSOR (Transact-SQL).For more information, see DECLARE CURSOR.

<db_encryption_option> ::=<db_encryption_option> ::=

Определяет параметры шифрования базы данных.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Включает шифрование базы данных (ON) или отключает его (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Дополнительные сведения см. в статьях о прозрачном шифровании данных и прозрачном шифровании данных для Базы данных SQL Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Если включить шифрование на уровне базы данных, будут зашифрованы все файловые группы.When encryption is enabled at the database level, all file groups will be encrypted. Все новые файловые группы наследуют свойство шифрования.Any new file groups will inherit the encrypted property. Если любая файловая группа базы данных установлена в состояние READ ONLY, операция шифрования базы завершится неуспешно.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Параметры шифрования базы данных можно просмотреть с помощью динамического административного представления sys.dm_database_encryption_keys.You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

<db_update_option> ::=<db_update_option> ::=

Управляет разрешениями на обновления базы данных.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Пользователи могут считывать данные из базы данных, но не могут изменять их.Users can read data from the database but not modify it.

Примечание

Для улучшения производительности запросов выполните обновление статистики перед тем, как перевести базу данных в режим доступа READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. После перевода базы данных в режим READ_ONLY потребуется дополнительная статистика, она будет создана компонентом Компонент Database EngineDatabase Engine в tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Компонент Database EngineDatabase Engine will create statistics in tempdb. Дополнительные сведения о статистике для базы данных, доступной только для чтения, см. в разделе Статистика.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
База данных доступна для операций чтения и записи.The database is available for read and write operations.

Чтобы изменить это состояние, необходимо обладать монопольным доступом к базе данных.To change this state, you must have exclusive access to the database.

<db_user_access_option> ::=<db_user_access_option> ::=

Управляет пользовательским доступом к базе данных.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Позволяет подключаться к базе данных только членам предопределенной роли базы данных db_owner и предопределенных ролей сервера dbcreator и sysadmin. Количество соединений при этом не ограничивается.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but doesn't limit their number. Все соединения с базой данных будут отключены на период времени, определяемый завершающим предложением инструкции ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. После того как база данных перешла в состояние RESTRICTED_USER, попытки подключения пользователей, не соответствующими описанным выше условиям, будут отклонены.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER нельзя изменить с помощью управляемого экземпляра Базы данных SQL.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Все пользователи, имеющие соответствующие разрешения на подключение к базе данных, будут допущены к базе данных.All users that have the appropriate permissions to connect to the database are allowed.

Состояние этого параметра можно определить, проверив значение столбца user_access в представлении каталога sys.databases или свойства UserAccess функции DATABASEPROPERTYEX.You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::=<delayed_durability_option> ::=

Управляет тем, является ли фиксация транзакций полностью устойчивой или отложенной устойчивой.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Все транзакции, следующие за SET DISABLED, являются полностью устойчивыми.All transactions following SET DISABLED are fully durable. Все параметры устойчивости, заданные в блоке ATOMIC или инструкции COMMIT, не учитываются.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Все транзакции, следующие за SET ALLOWED, являются полностью устойчивыми или отложенными устойчивыми, в зависимости от параметра устойчивости, заданного в блоке ATOMIC или инструкции COMMIT.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCED — все транзакции, следующие за SET FORCED, являются отложенными устойчивыми.FORCED All transactions following SET FORCED are delayed durable. Все параметры устойчивости, заданные в блоке ATOMIC или инструкции COMMIT, не учитываются.Any durability options set in an atomic block or commit statement are ignored.

<PARAMETERIZATION_option> ::=<PARAMETERIZATION_option> ::=

Управляет параметром параметризации.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Запросы параметризуются на основании поведения базы данных по умолчанию.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server параметризует все запросы в базе данных.parameterizes all queries in the database.

Текущее состояние этого параметра можно определить по столбцу is_parameterization_forced в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::=<query_store_options> ::=

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Указывает, включено ли хранилище запросов в этой базе данных, а также управляет удалением содержимого хранилища запросов.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

ONON
Включает хранилище запросов.Enables the Query Store.

OFFOFF
Отключает хранилище запросов.Disables the Query Store. Это значение по умолчанию.This is the default value.

CLEARCLEAR
Удаляет содержимое хранилища запросов.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Описывает режим работы хранилища запросов.Describes the operation mode of the Query Store. Допустимые значения: READ_ONLY и READ_WRITE.Valid values are READ_ONLY and READ_WRITE. В режиме READ_WRITE хранилище запросов собирает и сохраняет план запросов и статистические данные о выполнении.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. В режиме READ_ONLY можно считывать данные из хранилища запросов, но новые сведения не добавляются.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Если выделенное свободное место в хранилище запросов будет исчерпано, хранилище переключится в режим работы READ_ONLY.If the maximum allocated space of the Query Store has been exhausted, the Query Store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Описывает политику хранения данных хранилища запросов.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS определяет количество дней хранения сведений о запросе в хранилище.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the Query Store. STALE_QUERY_THRESHOLD_DAYS имеет тип bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Определяет частоту, с которой данные, записанные в хранилище запросов, сохраняются на диск.Determines the frequency at which data written to the Query Store is persisted to disk. Для оптимизации производительности данные, собранные хранилищем запросов, асинхронно записываются на диск.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. Для настройки частоты этой асинхронной передачи используется аргумент DATA_FLUSH_INTERVAL_SECONDS.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS имеет тип bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Определяет свободное место, выделенное для хранилища запросов.Determines the space allocated to the Query Store. MAX_STORAGE_SIZE_MB имеет тип bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Определяет временной интервал вычисления статистических данных о среде выполнения в хранилище запросов.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Для оптимизации использования свободного места статистические данные о среде выполнения в хранилище вычисляются для фиксированного временного интервала.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Этот интервал настраивается с помощью аргумента INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES имеет тип bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Определяет, будет ли автоматически активирована очистка, когда общий объем данных приблизится к верхней границе ограничения.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
Очистка на основе размера не будет автоматически активирована.Size-based cleanup won't be automatically activated.

AUTOAUTO
Очистка на основе размера активируется автоматически при достижении размера на диске 90 % от max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Эта очистка сначала удаляет самые дешевые и самые старые запросы.Size-based cleanup removes the least expensive and oldest queries first. Она останавливается приблизительно на 80 % от max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Это значение конфигурации по умолчанию.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE имеет тип nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Определяет режим записи текущего активного запроса.Designates the currently active query capture mode.

ALLALL
Записываются все запросы.All queries are captured.

AUTOAUTO
Записываются соответствующие запросы на основе показателя выполнения и объема потребления ресурсов.Capture relevant queries based on execution count and resource consumption. Это значение конфигурации по умолчанию для База данных SQL AzureAzure SQL Database.This is the default configuration value for База данных SQL AzureAzure SQL Database.

NoneNONE
Запись новых запросов останавливается.Stop capturing new queries. Хранилище запросов будет продолжать сбор статистики компиляции и времени выполнения для запросов, которые уже были записаны.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Эту конфигурацию следует использовать с осторожностью, поскольку можно пропустить запись важных запросов.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE имеет тип nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

MAX_PLANS_PER_QUERYMAX_PLANS_PER_QUERY
Целое число, представляющее максимальное количество поддерживаемых планов для каждого запроса.An integer representing the maximum number of plans maintained for each query. Значение по умолчанию — 200.Default is 200.

<snapshot_option> ::=<snapshot_option> ::=

Определяет уровень изоляции транзакции.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Включает параметр моментальных снимков на уровне базы данных.Enables the Snapshot option at the database level. Если параметр включен, инструкции DML начинают создавать версии строк, даже если ни одна транзакция не использует изоляцию моментальных снимков.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. После установки этого параметра транзакции могут задавать уровень изоляции транзакций SNAPSHOT.After this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Если транзакция выполняется на уровне изоляции SNAPSHOT, всем инструкциям видны данные из моментального снимка в состоянии, которое существовало в момент начала транзакции.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Если транзакция выполняется с уровнем изоляции SNAPSHOT и обращается к данным нескольких баз данных, то либо параметр ALLOW_SNAPSHOT_ISOLATION должен быть установлен в состояние ON во всех базах данных, либо каждая инструкция в транзакции должна использовать подсказки блокировки при любом обращении предложения FROM к таблице базы данных, в которой параметр ALLOW_SNAPSHOT_ISOLATION установлен в состояние OFF.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Отключает параметр моментальных снимков на уровне базы данных.Turns off the Snapshot option at the database level. Транзакции не могут указывать уровень изоляции SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Если вы изменяете состояние ALLOW_SNAPSHOT_ISOLATION (из ON в OFF или из OFF в ON), инструкция ALTER DATABASE не возвращает управление вызвавшей ее программе, пока все существующие транзакции в базе данных не будут зафиксированы.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Если база данных уже находится в состоянии, указанном в инструкции ALTER DATABASE, управление вызвавшей программе будет возвращено немедленно.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Используйте процедуру sys.dm_tran_active_snapshot_database_transactions, чтобы определить наличие длительно выполняющихся транзакций.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Если инструкция ALTER DATABASE отменена, база данных останется в состоянии, в котором она находилась при запуске ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. Представление каталога sys.databases отображает состояние транзакций с уровнем изоляции моментальных снимков в базе данных.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Если snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF, операция будет повторена через шесть секунд.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Изменить состояние ALLOW_SNAPSHOT_ISOLATION невозможно, если база данных находится в режиме OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

При установке параметра ALLOW_SNAPSHOT_ISOLATION в базе данных, находящейся в режиме READ_ONLY, он будет сохранен при переводе базы данных в режим READ_WRITE.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

Настройки ALLOW_SNAPSHOT_ISOLATION можно изменить и для баз данных master, model, msdb и tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Если изменить значение для базы данных tempdb, оно будет сохраняться каждый раз при остановке и перезапуске экземпляра компонента Компонент Database EngineDatabase Engine.The setting is kept every time the instance of the Компонент Database EngineDatabase Engine is stopped and restarted if you change the setting for tempdb. При изменении настройки для базы данных model эта настройка становится значением по умолчанию для любых вновь создаваемых баз данных, за исключением tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Этот параметр для баз данных master и msdb по умолчанию установлен в состояние ON.The option is ON, by default, for the master and msdb databases.

Текущее состояние этого параметра можно определить по столбцу snapshot_isolation_state в представлении каталога sys.databases.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
ONON
Включает параметр READ_COMMITTED_SNAPSHOT на уровне базы данных.Enables the Read-Committed Snapshot option at the database level. Если параметр включен, инструкции DML начинают создавать версии строк, даже если ни одна транзакция не использует изоляцию моментальных снимков.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. После включения этого параметра транзакции, указывающие уровень изоляции READ COMMITTED, используют управление версиями строк вместо блокировки.After this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Данные моментального снимка видны всем инструкциям в состоянии, которое существовало на момент начала выполнения инструкции, если транзакция выполняется с уровнем изоляции READ COMMITTED.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the READ COMMITTED isolation level.

OFFOFF
Отключает параметр уровня изоляции моментальных снимков READ COMMITTED на уровне базы данных.Turns off the Read-Committed Snapshot option at the database level. Транзакции с уровнем изоляции READ COMMITTED используют блокировку.Transactions specifying the READ COMMITTED isolation level use locking.

Чтобы установить параметр READ_COMMITTED_SNAPSHOT равным ON или OFF, с базой данных не должно быть активных соединений, за исключением соединения, выполняющего команду ALTER DATABASE.To set READ_COMMITTED_SNAPSHOT to ON or OFF, there must be no active connections to the database except for the connection running the ALTER DATABASE command. Однако это не означает, что база данных должна находиться в однопользовательском режиме.However, the database doesn't have to be in single-user mode. Изменить состояние этого параметра невозможно, если база данных находится в режиме OFFLINE.You can't change the state of this option when the database is OFFLINE.

При установке параметра READ_COMMITTED_SNAPSHOT в базе данных, которая находится в режиме READ_ONLY, это состояние будет сохранено при переводе базы данных в режим READ_WRITE.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

Параметр READ_COMMITTED_SNAPSHOT не может быть установлен в ON для системных баз данных master, tempdb или msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. При изменении настройки для базы данных model эта настройка становится значением по умолчанию для любых вновь создаваемых баз данных, за исключением tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

Текущее состояние этого параметра можно определить по столбцу is_read_committed_snapshot_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Предупреждение

Если таблица создается с аргументом DURABILITY = SCHEMA_ONLY, а затем READ_COMMITTED_SNAPSHOT меняется с помощью ALTER DATABASE, данные в таблице будут утеряны.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
ONON
Если уровень изоляции транзакции установлен в любое значение ниже SNAPSHOT, все интерпретированные операции Transact-SQLTransact-SQL в таблицах, оптимизированных для памяти, выполняются с уровнем изоляции SNAPSHOT.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Примеры уровней изоляции ниже, чем моментальный снимок — READ COMMITTED или READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Эти операции выполняются независимо от того, установлен ли уровень изоляции транзакции явно на уровне сеанса или неявно используется значение по умолчанию.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Не повышает уровень изоляции транзакции для интерпретированных операций Transact-SQLTransact-SQL в таблицах, оптимизированных для памяти.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Изменить состояние MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT невозможно, если база данных находится в режиме OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

Значение по умолчанию — OFF.The default value is OFF.

Текущее состояние этого параметра можно определить по столбцу is_memory_optimized_elevate_to_snapshot_on в представлении каталога sys.databases.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::=<sql_option> ::=

Управляет параметрами соответствия ANSI на уровне базы данных.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Определяет значение по умолчанию, NULL или NOT NULL, для столбцов определяемых пользователем типов CLR, для которых в инструкциях CREATE TABLE или ALTER TABLE не указана явно допустимость значений NULL.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. Столбцы, определенные с ограничениями, следуют правилам ограничения независимо от этой настройки.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
Значение по умолчанию — NULL.The default value is NULL.

OFFOFF
Значением по умолчанию является NOT NULL.The default value is NOT NULL.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют настройки уровня базы данных по умолчанию для ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_NULL_DEFAULT в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Для совместимости ANSI при установке параметра базы данных ANSI_NULL_DEFAULT в состояние ON изменяется значение по умолчанию базы данных на значение NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_null_default_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiNullDefault функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
ONON
Результатом любого сравнения со значением NULL будет UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Результатом сравнения значений не в Юникоде будет TRUE, если оба значения — NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Важно!

В будущей версии SQL ServerSQL Server параметр ANSI_NULLS всегда будет иметь значение ON, а все приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_NULLS в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ANSI_NULLS также должен быть установлен в ON.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_nulls_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiNullsEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
ONON
Строки перед преобразованием дополняются до одной и той же длины.Strings are padded to the same length before conversion. Выравнивание строк также выполняется перед вставкой в тип данных varchar или nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Вставляет замыкающие пробелы в значениях символов в столбцах varchar или nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Параметр также оставляет замыкающие нули в двоичных значениях, вставляемых в столбцы значений varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Значения не подгоняются под длину столбца.Values aren't padded to the length of the column.

Состояние OFF касается только определения новых столбцов.When OFF is specified, this setting affects only the definition of new columns.

Важно!

В будущей версии SQL ServerSQL Server параметр ANSI_PADDING всегда будет иметь значение ON, а все приложения, явно присваивающие ему значение OFF, будут вызывать ошибку.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Рекомендуется всегда задавать для параметра ANSI_PADDING значение ON.We recommend that you always set ANSI_PADDING to ON. При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр ANSI_PADDING должен быть установлен в ON.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Столбцы с типами char(n) и binary(n) , допускающие значения NULL, выравниваются по длине столбца, если параметр ANSI_PADDING имеет значение ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Конечные пробелы и нули отбрасываются, если параметр ANSI_PADDING имеет значение OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Столбцы с типами char(n) и binary(n) , которые не допускают значений NULL, всегда выравниваются по длине столбца.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют настройки уровня базы данных по умолчанию для ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_PADDING в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_padding_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiPaddingEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
ONON
В случае возникновения таких ситуаций, как деление на ноль, выдаются ошибки или предупреждения.Errors or warnings are issued when conditions such as divide-by-zero occur. Ошибки и предупреждения также возникают тогда, когда значения NULL появляются в агрегатных функциях.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Предупреждения не выводятся, а в таких ситуациях, как деление на ноль, возвращается NULL.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ANSI_WARNINGS должен быть установлен в ON.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая ANSI_WARNINGS в значение ON для сеанса по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Вы можете определить состояние этого параметра, проверив столбец is_ansi_warnings_on в представлении каталога sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAnsiWarningsEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Запрос будет завершен, если во время его выполнения возникла ошибка переполнения или деления на ноль.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Когда возникает одна из этих ошибок, выводится предупреждающее сообщение.A warning message is displayed when one of these errors occurs. Запрос, пакет или транзакция продолжают выполняться, как если бы ошибки не произошло, даже если выводится предупреждение.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр SET ARITHABORT должен быть установлен в ON.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_arithabort_on в представлении каталога sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsArithmeticAbortEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
Дополнительные сведения см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
Результатом операции объединения будет NULL, если любой из операндов — NULL.The result of a concatenation operation is NULL when either operand is NULL. Например, объединение строки символов "Это" со значением NULL приведет к результату NULL вместо "Это".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
Значение NULL будет обработано как пустая строка символов.The null value is treated as an empty character string.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр CONCAT_NULL_YIELDS_NULL должен быть установлен в ON.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Важно!

В будущей версии SQL ServerSQL Server параметр CONCAT_NULL_YIELDS_NULL всегда будет иметь значение ON, а все приложения, явно устанавливающие значение параметра равным OFF, вызовут ошибку.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Настройки уровня соединения, которые установлены с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. По умолчанию клиенты ODBC и OLE DB при соединении с экземпляром SQL ServerSQL Server устанавливают параметр CONCAT_NULL_YIELDS_NULL инструкции SET уровня соединения в состояние ON для сеанса.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Вы можете определить состояние этого параметра, проверив столбец is_concat_null_yields_null_on в представлении каталога sys.databases.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsNullConcat функции DATABASEPROPERTYEX.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
ONON
Двойные кавычки могут использоваться для идентификаторов с разделителями.Double quotation marks can be used to enclose delimited identifiers.

Все строки, находящиеся в двойных кавычках, интерпретируются как идентификаторы объектов.All strings delimited by double quotation marks are interpreted as object identifiers. Идентификаторы с разделителями не должны соответствовать правилам для идентификаторов Transact-SQLTransact-SQL.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Они могут быть ключевыми словами и могут включать символы, не разрешенные в идентификаторах Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Если в состав строки-литерала входит одиночная кавычка ('), строка может быть заключена в двойные кавычки (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Идентификаторы не могут быть заключены в кавычки и должны следовать всем правилам для идентификаторов Transact-SQLTransact-SQL.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Литералы могут разделяться как одинарными, так и двойными кавычками.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server также допускает разделение идентификаторов квадратными скобками ([]).also allows for identifiers to be delimited by square brackets ([ ]). Идентификаторы в скобках могут использоваться всегда, независимо от значения параметра QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Дополнительные сведения см. в разделе Идентификаторы баз данных.For more information, see Database Identifiers.

При создании таблицы параметр QUOTED IDENTIFIER всегда сохраняется как ON в метаданных таблицы.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. Параметр сохраняется, даже если при создании таблицы он был установлен на OFF.The option is stored even if the option is set to OFF when the table is created.

Настройки уровня соединения, установленные с помощью инструкции SET, переопределяют параметры базы данных по умолчанию для QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Клиенты ODBC и OLE DB задают параметр уровня соединения инструкции SET, устанавливая QUOTED_IDENTIFIER в значение ON, по умолчанию.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Клиенты выполняют инструкцию при подключении к экземпляру SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Дополнительные сведения см. в описании SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Вы можете определить состояние этого параметра, проверив столбец is_quoted_identifier_on в представлении каталога sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsQuotedIdentifiersEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
ONON
Если в выражении происходит потеря точности, будет сформирована ошибка.An error is generated when loss of precision occurs in an expression.

OFFOFF
Потеря точности вызывает сообщения об ошибках, а результат округляется до точности столбца или переменной, в которых сохраняется результат.Loss of precision doesn't generate an error message, and the result is rounded to the precision of the column or variable storing the result.

Важно!

При создании или управлении индексами, основанными на вычисляемых столбцах или индексированных представлениях, параметр NUMERIC_ROUNDABORT должен быть установлен в OFF.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Вы можете определить состояние этого параметра, проверив столбец is_numeric_roundabort_on в представлении каталога sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsNumericRoundAbortEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
ONON
Рекурсивное срабатывание триггеров AFTER разрешено.Recursive firing of AFTER triggers is allowed.

OFFOFF
Вы можете определить состояние этого параметра, проверив столбец is_recursive_triggers_on в представлении каталога sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsRecursiveTriggersEnabled функции DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Примечание

Если параметр RECURSIVE_TRIGGERS установлен в состояние OFF, будет запрещена только прямая рекурсия.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Чтобы отключить косвенную рекурсию, нужно установить параметр сервера nested triggers в состояние 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Состояние этого параметра можно определить, проверив значение столбца is_recursive_triggers_on в представлении каталога sys.databases или свойства IsRecursiveTriggersEnabled функции DATABASEPROPERTYEX.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::=<target_recovery_time_option> ::=

Указывает частоту косвенных контрольных точек для каждой базы данных.Specifies the frequency of indirect checkpoints on a per-database basis. Начиная с версии SQL Server 2016 (13.x)SQL Server 2016 (13.x), значение по умолчанию для новых баз данных равно 1 минуте. Оно означает, что база данных будет использовать косвенные контрольные точки.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Для более старых версий по умолчанию установлено значение 0, при котором базой данных используются автоматические контрольные точки, а их частота зависит от параметра интервала для восстановления экземпляра сервера.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. MicrosoftMicrosoft рекомендует 1 минуту для большинства систем.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Указывает максимальное время для восстановления определенной базы данных в случае сбоя.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Указывает, что значение target_recovery_time выражается в количестве секунд.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Указывает, что значение target_recovery_time выражается в количестве минут.Indicates that target_recovery_time is expressed as the number of minutes.

Сведения о косвенных контрольных точках см. в статье Контрольные точки базы данных (SQL Server).For more information about indirect checkpoints, see Database Checkpoints.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Указывает, нужно ли откатить транзакцию через указанное количество секунд или немедленно.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Указывает, что запрос завершится ошибкой, если нужное состояние базы данных или изменение параметра не может совершиться немедленно.Specifies that the request will fail if the requested database state or option change can't complete immediately. Завершение работы сразу же означает завершение без ожидания фиксации транзакции или отката.Completing immediately means not waiting for transactions to commit or roll back on their own.

Настройка параметровSetting options

Для извлечения текущих параметров для параметров базы данных используйте представление каталога sys.databases или DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

После установки параметра базы данных новое значение вступает в силу немедленно.After you set a database option, the new setting takes effect immediately.

Вы можете изменить значения по умолчанию для любого из параметров базы данных для всех созданных баз данных.You can change the default values for any one of the database options for all newly created databases. Для этого измените соответствующий параметр базы данных в шаблоне.To do so, change the appropriate database option in the model database.

ПримерыExamples

A.A. Перевод базы данных в состояние READ_ONLYSetting the database to READ_ONLY

Для изменения состояния базы данных или файловой группы в READ_ONLY или READ_WRITE требуется монопольный доступ к базе данных.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. В следующем примере для базы данных устанавливается режим RESTRICTED_USER для ограничения доступа.The following example sets the database to RESTRICTED_USER mode to restricted access. Затем состояние базы данных AdventureWorks2012AdventureWorks2012 устанавливается в READ_ONLY, а также возвращается доступ к базе данных всем пользователям.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

USE master;
GO
ALTER DATABASE [database_name]
SET RESTRICTED_USER;
GO
ALTER DATABASE [database_name]
SET READ_ONLY
GO
ALTER DATABASE [database_name]
SET MULTI_USER;
GO

Б.B. Включение изоляции моментального снимка для базы данныхEnabling snapshot isolation on a database

Следующий пример включает параметр платформы изоляции моментального снимка для базы данных AdventureWorks2012AdventureWorks2012.The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE [database_name];
USE master;
GO
ALTER DATABASE [database_name]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'[database_name]';
GO

Результирующий набор показывает, что платформа изоляции моментального снимка включена.The result set shows that the snapshot isolation framework is enabled.

namename snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[database_name][database_name] 11 ONON

В.C. Включение, изменение и отключение отслеживания измененийEnabling, modifying, and disabling change tracking

В следующем примере демонстрируется включение отслеживания изменений для базы данных AdventureWorks2012AdventureWorks2012 и установка 2-дневного срока хранения.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

В следующем примере демонстрируется уменьшение срока хранения до 3 дней.The following example shows how to change the retention period to 3 days.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

В следующем примере демонстрируется отключение отслеживания изменений для базы данных AdventureWorks2012AdventureWorks2012.The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

Г.D. Включение хранилища запросовEnabling the Query Store

В следующем примере включается хранилище запросов и настраиваются его параметры.The following example enables the Query Store and configures Query Store parameters.

ALTER DATABASE [database_name]
SET QUERY_STORE = ON
  (  
      OPERATION_MODE = READ_WRITE
    , CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 )
    , DATA_FLUSH_INTERVAL_SECONDS = 900
    , MAX_STORAGE_SIZE_MB = 1024
    , INTERVAL_LENGTH_MINUTES = 60
    );

См. также:See Also

SQL ServerSQL Server Отдельная база данных/эластичный пул Базы данных SQL
SQL Database
single database/elastic pool
Управляемый экземпляр Базы данных SQL
SQL Database
managed instance
* Хранилище данных
SQL *
 
* SQL Data
Warehouse *
 

 

Хранилище данных SQL AzureAzure SQL Data Warehouse

СинтаксисSyntax

ALTER DATABASE { database_name }
SET
{
    <optionspec> [ ,...n ]
}
;

<option_spec>::=
{
    <auto_option>
  | <db_encryption_option>
  | <query_store_options>
  | <result_set_caching>
  | <snapshot_option>
}
;

<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON }
}

<db_encryption_option> ::=
{
    ENCRYPTION { ON | OFF }
}

<query_store_option> ::=
{
    QUERY_STORE { OFF |  ON }
}

<result_set_caching_option> ::=
{
    RESULT_SET_CACHING {ON | OFF}
}

<snapshot_option> ::=
{
    READ_COMMITTED_SNAPSHOT {ON | OFF }
}

АргументыArguments

database_name database_name
Имя изменяемой базы данных.Is the name of the database to be modified.

<auto_option> ::=<auto_option> ::=

Управляет автоматическими параметрами.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }

ONON
Оптимизатор запросов в случае необходимости создает статистику по отдельным столбцам в предикатах запросов, чтобы улучшить планы запросов и повысить производительность запросов.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Такая статистика по отдельным столбцам создается, когда оптимизатор запросов компилирует запросы.These single-column statistics are created when Query Optimizer compiles queries. Статистика по отдельным столбцам создается только для столбцов, ни один из которых не является первым столбцом в существующем объекте статистики.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

Значение по умолчанию — ON.The default is ON. Для большинства баз данных рекомендуется использовать значение по умолчанию.We recommend that you use the default setting for most databases.

OFFOFF
Оптимизатор запросов не создает статистику по отдельным столбцам в предикатах запросов во время компиляции запросов.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Отключение этого параметра может повлечь создание неоптимальных планов запросов и снижение производительности запросов.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Вы можете определить состояние этого параметра, проверив столбец is_auto_create_stats_on в представлении каталога sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Состояние можно также определить, проверив свойство IsAutoCreateStatistics функции DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Дополнительные сведения см. в подразделе "Использование параметров статистики на уровне базы данных" раздела "Статистика".For more information, see the section "Using the database-wide statistics options" in Statistics.

<db_encryption_option> ::=<db_encryption_option> ::=

Определяет параметры шифрования базы данных.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }

ONON
Включает шифрование базы данных.Sets the database to be encrypted.

OFFOFF
Отключает шифрование базы данных.Sets the database to not be encrypted.

Дополнительные сведения см. в статьях о прозрачном шифровании данных и прозрачном шифровании данных для базы данных SQL Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Если включить шифрование на уровне базы данных, будут зашифрованы все файловые группы.When encryption is enabled at the database level, all file groups will be encrypted. Все новые файловые группы наследуют свойство шифрования.Any new file groups will inherit the encrypted property. Если любая файловая группа базы данных установлена в состояние READ ONLY, операция шифрования базы завершится неуспешно.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Состояние шифрования базы данных и состояние сканирования шифрования можно просмотреть с помощью динамического административного представления sys.dm_database_encryption_keys.You can see the encryption state of the database as well as the state of the encryption scan by using the sys.dm_database_encryption_keys dynamic management view.

<query_store_option> ::=<query_store_option> ::=

Указывает, включено ли хранилище запросов в этом хранилище данных.Controls whether the Query Store is enabled in this data warehouse.

QUERY_STORE { ON | OFF }QUERY_STORE { ON | OFF }

ONON
Включает хранилище запросов.Enables the Query Store.

OFFOFF

Отключает хранилище запросов.Disables the Query Store. OFF — значение по умолчанию.OFF is the default value.

Примечание

Для Хранилище данных SQLSQL Data Warehouse необходимо выполнить ALTER DATABASE SET QUERY_STORE из пользовательской базы данных.For Хранилище данных SQLSQL Data Warehouse, you must execute ALTER DATABASE SET QUERY_STORE from the user database. Выполнение этой инструкции из другого экземпляра хранилища данных не поддерживается.Executing the statement from another data warehouse instance isn't supported.

<result_set_caching_option> ::= <result_set_caching_option> ::=
Область применения: Хранилище данных SQL AzureApplies to: Azure SQL Data Warehouse

Указывает, кэшируется ли результат запроса в базе данных.Controls whether query result is cached in the database.

RESULT_SET_CACHING {ON | OFF}RESULT_SET_CACHING {ON | OFF}

ONON
Указывает, что результирующие наборы запросов, возвращаемые из этой базы данных, будут кэшироваться в Хранилище данных SQL Azure.Specifies that query result sets returned from this database will be cached in Azure SQL Data Warehouse storage.

OFFOFF
Указывает, что результирующие наборы запросов, возвращаемые из этой базы данных, не будут кэшироваться в Хранилище данных SQL Azure.Specifies that query result sets returned from this database will not be cached in Azure SQL Data warehouse storage.

RemarksRemarks

Эта команда должна выполняться при подключении к базе данных master.This command must be run while connected to the master database. Изменение данного параметра базы данных применяется немедленно.Change to this database setting takes effect immediately. Затраты на хранение связаны с кэшированием результирующих наборов запроса.Storage costs are incurred by caching query result sets. После отключения кэширования результатов для базы данных ранее сохраненный кэш результатов немедленно удаляется из Хранилища данных SQL Azure.After disabling result caching for a database, previously persisted result cache will immediately be deleted from Azure SQL Data Warehouse storage.

Выполните эту команду, чтобы проверить конфигурацию кэширования результирующего набора базы данных.Run this command to check a database's result set caching configuration. Если кэширование результирующего набора включено, is_result_set_caching_on вернет 1.If result set caching is turned ON, is_result_set_caching_on will return 1.


SELECT name, is_result_set_caching_on FROM sys.databases 
WHERE name = <'Your_Database_Name'>

Выполните эту команду, чтобы проверить, как был выполнен запрос — с попаданием или промахом в кэше результатов.Run this command to check if a query was executed with a result cache hit or miss. При попадании в кэше result_cache_hit вернет 1.If there is a cache hit, the result_cache_hit will return 1.


SELECT request_id, command, result_cache_hit FROM sys.dm_pdw_exec_requests 
WHERE request_id = <'Your_Query_Request_ID'>

Важно!

Операции по созданию кэша результирующего набора и извлечению данных из кэша выполняются в управляющем узле экземпляра хранилища данных.The operations to create result set cache and retrieve data from the cache happen on the control node of a data warehouse instance. Если кэширование результирующего набора включено, выполнение запросов, возвращающих большие (например, более одного миллиона строк) наборы, может привести к высокой загрузке ЦП на управляющем узле и снизить общую скорость реакции экземпляра.When result set caching is turned ON, running queries that return large result set (for example, >1 million rows) can cause high CPU usage on the control node and slow down the overall query response on the instance. Как правило, такие запросы используются в ходе исследования данных, а также при выполнении операций извлечения, преобразования и загрузки.Those queries are commonly used during data exploration or ETL operations. Чтобы избежать чрезмерной загрузки управляющего узла и снижения производительности, перед выполнение запросов такого типа пользователям следует отключить кэширование результирующего набора для базы данных.To avoid stressing the control node and cause performance issue, users should turn OFF result set caching on the database before running those types of queries.

Дополнительные сведения о настройке производительности при кэшировании результирующего набора см. в статье Руководство по настройке производительности.For details on performance tuning with result set caching, check Performance tuning guidance.

РазрешенияPermissions

Для задания параметра RESULT_SET_CACHING пользователю требуется имя входа участника на уровне сервера (созданное процессом подготовки) или членство в роли базы данных dbmanager.To set the RESULT_SET_CACHING option, a user needs server-level principal login (the one created by the provisioning process) or be a member of the dbmanager database role.

<snapshot_option> ::= <snapshot_option> ::=
Область применения: Хранилище данных SQL AzureApplies to: Azure SQL Data Warehouse

Задает уровень изоляции транзакции в базе данных.Controls the transaction isolation level of a database.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }

ONON
Включает параметр READ_COMMITTED_SNAPSHOT на уровне базы данных.Enables the READ_COMMITTED_SNAPSHOT option at the database level.

OFFOFF
Отключает параметр READ_COMMITTED_SNAPSHOT на уровне базы данных.Turn off the READ_COMMITTED_SNAPSHOT option at the database level.

RemarksRemarks

Эта команда должна выполняться при подключении к базе данных master.This command must be run while connected to the master database. Включение или отключение параметра READ_COMMITTED_SNAPSHOT для пользовательской базы данных приводит к уничтожению всех открытых соединений с этой базой данных.Turning READ_COMMITTED_SNAPSHOT ON or OFF for a user database will kill all open connections to this database. Это изменение можно выполнить во время периода обслуживания базы данных или дождаться, пока не останется активных подключений к базе данных, кроме подключения, выполняющего команду ALTER DATABASE.You may want to make this change during database maintenance window or wait until there's no active connection to the database except for the connection running the ALTER DATABSE command. База данных не обязательно должна находиться в однопользовательском режиме.The database does not have to be in single-user mode. Изменение параметра READ_COMMITTED_SNAPSHOT на уровне сеанса не поддерживается.Changing READ_COMMITTED_SNAPSHOT setting at session level isn't supported. Чтобы проверить этот параметр для базы данных, проверьте столбец is_read_committed_snapshot_on в таблице sys.databases.To verify this setting for a database, check is_read_committed_snapshot_on column in sys.databases.

В базе данных с включенным параметром READ_COMMITTED_SNAPSHOT запросы могут испытывать низкую производительность из-за проверки версий, если имеется несколько версий данных.In a database with READ_COMMITTED_SNAPSHOT enabled, queries may experience slower performance due to the scan of versions if multiple data versions are present. Длительные транзакции также могут привести к увеличению размера базы данных.Long-open transactions can also cause an increase in the size of the database. Эта проблема возникает при изменении данных транзакциями, блокирующими очистку версий.This issue occurs if there are data changes by these transactions that block version cleanup.

РазрешенияPermissions

Чтобы задать параметр READ_COMMITTED_SNAPSHOT, пользователю необходимо разрешение ALTER для базы данных.To set the READ_COMMITTED_SNAPSHOT option, a user needs ALTER permission on the database.

ПримерыExamples

Проверка настройки статистики для базы данныхCheck statistics setting for a database

SELECT name, is_auto_create_stats_on FROM sys.databases

Включение хранилища запросов в базе данныхEnable query store for a database

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Включение кэширования результирующих наборов для базы данныхEnable result set caching for a database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Проверка кэширования результирующих наборов для базы данныхCheck result set caching setting for a database

SELECT name, is_result_set_caching_on
FROM sys.databases;

Включение параметра READ_COMMITTED_SNAPSHOT для базы данныхEnable the Read_Committed_Snapshot option for a database

ALTER DATABASE MyDatabase  
SET READ_COMMITTED_SNAPSHOT ON

См. также разделSee also