Opciones de ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET options (Transact-SQL)

Establece opciones de base de datos en Microsoft SQL ServerSQL Server, Base de datos SQL de AzureAzure SQL Database y Almacenamiento de datos SQLSQL Data Warehouse.Sets database options in Microsoft SQL ServerSQL Server, Base de datos SQL de AzureAzure SQL Database, and Almacenamiento de datos SQLSQL Data Warehouse. Para más información sobre otras opciones de ALTER DATABASE, consulte ALTER DATABASE.For other ALTER DATABASE options, see ALTER DATABASE.

Seleccione una de las pestañas siguientes para obtener la sintaxis, los argumentos, los comentarios, los permisos y los ejemplos de una versión de SQL concreta con la que trabaja.Select one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version that you're working with.

Para más información sobre las convenciones de sintaxis, vea Convenciones de sintaxis de Transact-SQL.For more information about the syntax conventions, see Transact-SQL syntax conventions.

Selección de un productoSelect a product

En la siguiente fila, seleccione cualquier nombre de producto que le interese.In the following row, select whichever product name you're interested in. Al hacerlo, en esta página web se muestra otro contenido, adecuado para el producto que seleccione.Doing that displays different content here on this webpage, appropriate for whichever product you select.

* SQL Server *  * SQL Server *   Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
Instancia administrada de
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse

 

SQL ServerSQL Server

La creación de reflejo de la base de datos, Grupos de disponibilidad AlwaysOnAlways On availability groups, y los niveles de compatibilidad son opciones de SET, pero se describen en otros artículos debido a su extensión.Database mirroring, Grupos de disponibilidad AlwaysOnAlways On availability groups, and compatibility levels are SET options but are described in separate articles because of their length. Para más información, vea Creación de reflejo de la base de datos de ALTER DATABASE, ALTER DATABASE SET HADR y Nivel de compatibilidad de ALTER DATABASE.For more information, see ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADR, and ALTER DATABASE compatibility level.

Las configuraciones con ámbito de base de datos se utilizan para establecer varias configuraciones de base de datos en el nivel de base de datos individual.Database scoped configurations are used to set several database configurations at the individual database level. Para obtener más información, vea ALTER DATABASE SCOPED CONFIGURATION.For more information, see ALTER DATABASE SCOPED CONFIGURATION.

Nota

Se pueden configurar muchas opciones SET de la base de datos para la sesión actual mediante instrucciones SET, aunque generalmente las configuran las aplicaciones al realizar la conexión.Many database set options can be configured for the current session by using SET statements and are often configured by applications when they connect. Las opciones SET de nivel de sesión reemplazan a los valores ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Las opciones de base de datos descritas en las secciones siguientes son valores que se pueden establecer para sesiones que no proporcionan de forma explícita otros valores de opciones 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.

SintaxisSyntax

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

<option_spec> ::=
{
    <acceleratred_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 | 90 }
  | 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 }

ArgumentosArguments

database_name database_name
Nombre de la base de datos que se va a modificar.The name of the database to be modified.

CURRENTCURRENT
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Ejecuta la acción de la base de datos actual.Runs the action in the current database. CURRENT no se admite para todas las opciones en todos los contextos.CURRENT isn't supported for all options in all contexts. Si CURRENT produce un error, proporcione el nombre de la base de datos.If CURRENT fails, provide the database name.

<accelerated_database_recovery> ::= <accelerated_database_recovery> ::=
Se aplica a: SQL ServerSQL Server (a partir de 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))

Habilita la recuperación de bases de datos acelerada (ADR) por base de datos.Enables accelerated database recovery (ADR) per-database. De forma predeterminada, ADR se establece en OFF en SQL Server 2019 (15.x)SQL Server 2019 (15.x).ADR is set to OFF by default in SQL Server 2019 (15.x)SQL Server 2019 (15.x). Mediante esta sintaxis, puede designar un grupo de archivos específico para los datos del almacén de versiones persistente (PVS).By using this syntax, you have the option to designate a specific file group for the Persistent Version Store (PVS) data. Si no se especifica ningún grupo de archivos, el PVS se almacenará en el grupo de archivos PRIMARY.If no file group is specified, the PVS will be stored in the PRIMARY file group. Para ver más ejemplos e información, vea Recuperación de bases de datos acelerada.For examples and more information, see Accelerated database recovery.

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

Controla las opciones automáticas.Controls automatic options.

AUTO_CLOSE { ON | OFF }AUTO_CLOSE { ON | OFF }
ONON
La base de datos se cierra correctamente y se liberan sus recursos después de que salga el último usuario.The database is shut down cleanly and its resources are freed after the last user exits.

La base de datos se vuelve a abrir automáticamente cuando un usuario intenta utilizarla de nuevo.The database automatically reopens when a user tries to use the database again. Por ejemplo, este comportamiento de reapertura se produce cuando un usuario emite una instrucción USE database_name.For example, this reopen behavior occurs when a user issues a USE database_name statement. La base de datos puede cerrarse limpiamente con la opción AUTO_CLOSE establecida en ON.The database may shut down cleanly with AUTO_CLOSE set to ON. Si es así, la base de datos no se vuelve a abrir hasta que un usuario intente usar la base de datos la próxima vez que Motor de base de datosDatabase Engine se reinicie.If so, the database doesn't reopen until a user tries to use the database the next time the Motor de base de datosDatabase Engine restarts.

OFFOFF
La base de datos permanece abierta después de que haya salido el último usuario.The database remains open after the last user exits.

La opción AUTO_CLOSE es útil para las bases de datos de escritorio porque permite administrar los archivos de la base de datos como archivos normales.The AUTO_CLOSE option is useful for desktop databases because it allows for database files to be managed as regular files. Se pueden mover, copiar para realizar copias de seguridad e incluso enviar por correo electrónico a otros usuarios.They can be moved, copied to make backups, or even emailed to other users. El proceso AUTO_CLOSE es asincrónico. La apertura y cierre repetidos de la base de datos no reduce el rendimiento.The AUTO_CLOSE process is asynchronous; repeatedly opening and closing the database doesn't reduce performance.

Nota

La opción AUTO_CLOSE no está disponible en una base de datos independiente o en SQL DatabaseSQL Database.The AUTO_CLOSE option isn't available in a contained database or on SQL DatabaseSQL Database. Para determinar el estado de esta opción, examine la columna is_auto_close_onde la vista de catálogo sys.databases o la propiedad IsAutoClose de la función 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.

Si AUTO_CLOSE está establecido en ON, algunas columnas de la vista de catálogo sys.databases y de la función DATABASEPROPERTYEX devolverán NULL porque la base de datos no está disponible para recuperar los datos.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. Para resolver esta incidencia, ejecute una instrucción USE para abrir la base de datos.To resolve this issue, run a USE statement to open the database.

La creación de reflejo de la base de datos requiere AUTO_CLOSE OFF.Database mirroring requires AUTO_CLOSE OFF.

Cuando la base de datos se establece en AUTOCLOSE = ON, una operación que inicia el cierre automático de la base de datos borra la caché de planes para la instancia de 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. Al borrar la memoria caché de planes, se provoca una nueva compilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las consultas.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. En SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 y versiones posteriores, para cada almacén de caché borrado de la memoria caché de planes, el registro de errores de SQL ServerSQL Server contiene el siguiente mensaje informativo: "SQL ServerSQL Server ha detectado %d instancias de vaciado del almacén de caché "%s" (parte de la memoria caché de planes) debido a determinadas operaciones de mantenimiento de base de datos o reconfiguración".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." Este mensaje se registra cada cinco minutos siempre que se vacíe la memoria caché dentro de ese intervalo de tiempo.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
El optimizador de consultas crea estadísticas en columnas únicas de los predicados de consulta, según sea necesario, para mejorar los planes de consulta y el rendimiento de las consultas.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estadísticas de columna única se crean cuando el optimizador de consultas las compila.These single-column statistics are created when Query Optimizer compiles queries. Las estadísticas de columna única solamente se crean en las columnas que ya no son la primera columna de un objeto de estadísticas existente.The single-column statistics are created only on columns that aren't already the first column of an existing statistics object.

El valor predeterminado es ON.The default setting is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

OFFOFF
El optimizador de consultas no crea las estadísticas en columnas únicas de los predicados de consulta cuando compila las consultas.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_create_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoCreateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Uso de las opciones de estadísticas de toda la base de datos" de Estadísticas.For more information, see the section "Using the Database-wide statistics options" in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Se aplica a: SQL ServerSQL Server (desde SQL Server 2014 (12.x)SQL Server 2014 (12.x) hasta SQL Server 2017SQL Server 2017) y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017) and Base de datos SQL de AzureAzure SQL Database

Establezca AUTO_CREATE_STATISTICS en ON y establezca INCREMENTAL en ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Esto crea de forma automática estadísticas como incrementales siempre que se admitan estadísticas incrementales.This sets automatically created stats as incremental whenever incremental stats are supported. El valor predeterminado es OFF.The default value is OFF. Para más información, consulte CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF } ONAUTO_SHRINK { ON | OFF } ON
Los archivos de la base de datos se pueden reducir periódicamente.The database files are candidates for periodic shrinking.

Los archivos de datos y los archivos de registro se pueden reducir de forma automática.Both data files and log files can be automatically shrunk. AUTO_SHRINK reduce el tamaño del registro de transacciones solo si establece la base de datos en el modelo de recuperación SIMPLE o si realiza una copia de seguridad del registro.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. Cuando AUTO_SHRINK se establece en OFF, los archivos de la base de datos no se reducen de forma automática durante las comprobaciones periódicas del espacio no utilizado.When you set AUTO_SHRINK to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

La opción AUTO_SHRINK reduce los archivos cuando no se usa más de un 25 % del espacio del archivo.The AUTO_SHRINK option shrinks files when more than 25 percent of the file contains unused space. Reduce el archivo a uno de dos tamaños (el que sea mayor):It shrinks the file to one of two sizes (whichever is larger):

  • El tamaño al que el 25 % del archivo es espacio sin usarThe size at which 25 percent of the file is unused space
  • El tamaño del archivo cuando se creóThe size of the file when it was created

No puede reducir una base de datos de solo lectura.You can't shrink a read-only database.

OFFOFF
Los archivos de la base de datos no se reducen automáticamente durante las comprobaciones periódicas del espacio no utilizado.The database files are not automatically shrunk during periodic checks for unused space.

Para determinar el estado de esta opción, examine la columna is_auto_shrink_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoShrink de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Nota

La opción AUTO_SHRINK no está disponible en una base de datos independiente.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Especifica que el optimizador de consultas actualiza las estadísticas cuando las usa una consulta y puedan estar obsoletas.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Las estadísticas se vuelven obsoletas después de que operaciones de inserción, actualización, eliminación o combinación cambien la distribución de los datos en la tabla o la vista indizada.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Para determinar cuándo las estadísticas pueden quedar obsoletas, el optimizador de consultas cuenta el número de modificaciones de datos desde la actualización más reciente de las estadísticas y compara el número de modificaciones con un umbral.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. El umbral se basa en el número de filas de la tabla o la vista indizada.The threshold is based on the number of rows in the table or indexed view.

El optimizador de consultas comprueba si hay estadísticas obsoletas antes de compilar una consulta y ejecuta un plan de consulta almacenado en caché.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. El optimizador de consultas usa las columnas, tablas y vistas indexadas del predicado de consulta para determinar qué estadísticas podrían estar obsoletas.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. El optimizador de consultas determina esta información antes de compilar una consulta.Query Optimizer determines this information before it compiles a query. Antes de ejecutar un plan de consulta almacenado en caché, Motor de base de datosDatabase Engine comprueba que el plan de consulta haga referencia a las estadísticas actualizadas.Before running a cached query plan, the Motor de base de datosDatabase Engine verifies that the query plan references up-to-date statistics.

La opción AUTO_UPDATE_STATISTICS se aplica a las estadísticas creadas para índices y columnas únicas de los predicados de consulta, así como a las estadísticas creadas con la instrucción 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. Esta opción también se aplica a las estadísticas filtradas.This option also applies to filtered statistics.

El valor predeterminado es ON.The default is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

Utilice la opción AUTO_UPDATE_STATISTICS_ASYNC para especificar si las estadísticas se actualizan sincrónica o asincrónicamente.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Especifica que el optimizador de consultas no actualiza las estadísticas cuando una consulta las usa.Specifies that Query Optimizer doesn't update statistics when they're used by a query. El optimizador de consultas tampoco actualiza las estadísticas cuando podrían estar obsoletas.Query Optimizer also doesn't update statistics when they might be out-of-date. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_update_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoUpdateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Uso de las opciones de estadísticas de toda la base de datos" de Estadísticas.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
Especifica que las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son asincrónicas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. El optimizador de consultas no espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

La configuración de esta opción en ON no surte efecto a menos que AUTO_UPDATE_STATISTICS se establezca en ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

De forma predeterminada, la opción AUTO_UPDATE_STATISTICS_ASYNC está configurada en OFF y el optimizador de consultas actualiza las estadísticas de manera sincrónica.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Especifica que las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son sincrónicas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. El optimizador de consultas espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas.Query Optimizer waits for statistics updates to complete before it compiles queries.

Nota

La configuración de esta opción en OFF no surte efecto a menos que AUTO_UPDATE_STATISTICS esté configurado en ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Para determinar el estado de esta opción, examine la columna is_auto_update_stats_async_on en la vista de catálogo 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.

Para más información sobre cuándo usar las actualizaciones de estadísticas sincrónicas o asincrónicas, vea la sección "Opciones de estadísticas" en Estadísticas.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> ::=
Se aplica a: SQL ServerSQL Server (a partir de 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))

Habilita o deshabilita la opción Ajuste automático de 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
Motor de base de datosDatabase Engine fuerza automáticamente el último buen plan conocido en las consultas de Transact-SQLTransact-SQL, donde el nuevo plan de consulta provoca regresiones de rendimiento.The Motor de base de datosDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. El parámetro Motor de base de datosDatabase Engine supervisa continuamente el rendimiento de la consulta Transact-SQLTransact-SQL con el plan forzado.The Motor de base de datosDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan.

Si hay mejoras de rendimiento, el Motor de base de datosDatabase Engine seguirá usando el último buen plan conocido.If there are performance gains, the Motor de base de datosDatabase Engine will keep using last known good plan. Si no se detectan mejoras de rendimiento, Motor de base de datosDatabase Engine generará un nuevo plan de consulta.If performance gains are not detected, the Motor de base de datosDatabase Engine will produce a new query plan. Se producirá un error en la instrucción si el almacén de consultas no está habilitado o si no está en modo de lectura y escritura.The statement will fail if the Query Store isn't enabled or if the Query Store isn't in Read-Write mode.

OFFOFF
Motor de base de datosDatabase Engine informa de posibles regresiones de rendimiento de consultas provocadas por cambios del plan de consulta en la vista sys.dm_db_tuning_recommendations,The Motor de base de datosDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. aunque estas recomendaciones no se aplican automáticamente.However, these recommendations are not automatically applied. Para supervisar las recomendaciones activas y corregir los problemas identificados, los usuarios pueden aplicar los scripts de Transact-SQLTransact-SQL que se muestran en la vista.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. El valor predeterminado es OFF.The default value is OFF.

<change_tracking_option> ::= <change_tracking_option> ::=
Se aplica a: SQL ServerSQL Server ySQL DatabaseSQL DatabaseApplies to: SQL ServerSQL Server and SQL DatabaseSQL Database

Controla las opciones de seguimiento de cambios.Controls change tracking options. Puede habilitar el seguimiento de cambios, establecer y cambiar opciones, y deshabilitar el seguimiento de cambios.You can enable change tracking, set options, change options, and disable change tracking. Para obtener ejemplos, vea la sección "Ejemplos" más adelante en este artículo.For examples, see the "Examples" section later in this article.

ONON
Habilita el seguimiento de cambios para la base de datos.Enables change tracking for the database. Si habilita el seguimiento de cambios, también puede establecer las opciones AUTO CLEANUP y 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
La información sobre el seguimiento de cambios se quita de forma automática después del período de retención especificado.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Los datos del seguimiento de cambios no se quitan automáticamente de la base de datos.Change tracking data isn't automatically removed from the database.

CHANGE_RETENTION = período_de_retención { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Especifica el período mínimo para mantener la información del seguimiento de cambios en la base de datos.Specifies the minimum period for keeping change tracking information in the database. Los datos solamente se quitan cuando el valor AUTO_CLEANUP es ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period es un entero que especifica el componente numérico del período de retención.retention_period is an integer that specifies the numerical component of the retention period.

El período de retención predeterminado es de 2 días.The default retention period is 2 days. El período de retención mínimo es de 1 minuto.The minimum retention period is 1 minute. El tipo de retención predeterminado es DAYS.The default retention type is DAYS.

OFFOFF
Deshabilita el seguimiento de cambios para la base de datos.Disables change tracking for the database. Deshabilite el seguimiento de cambios en todas las tablas para poder deshabilitarlo en la base de datos.Disable change tracking on all tables before you disable change tracking off the database.

<containment_option> ::= <containment_option> ::=
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Controla las opciones de contención de la base de datos.Controls database containment options.

CONTAINMENT = { NONE | PARTIAL}CONTAINMENT = { NONE | PARTIAL}
NingunoNONE
La base de datos no es una base de datos independiente.The database isn't a contained database.

PARTIALPARTIAL
La base de datos es una base de datos independiente.The database is a contained database. El establecimiento de la contención de la base de datos en parcial producirá un error si la base de datos tiene habilitados la replicación, la captura de datos modificados o el seguimiento de cambios.Setting database containment to partial will fail if the database has replication, change data capture, or change tracking enabled. La comprobación de errores se detiene después de un error.Error checking stops after one failure. Para obtener más información acerca de las bases de datos independientes, vea Contained Databases.For more information about contained databases, see Contained Databases.

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

Controla las opciones del cursor.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Todos los cursores abiertos cuando confirma o deshace una transacción se cierran.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Los cursores permanecen abiertos cuando se confirma una transacción. Cuando se revierte se cierran todos los cursores, excepto los que están definidos como INSENSITIVE o STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

La configuración del nivel de conexión, establecida mediante la instrucción SET, invalida la configuración predeterminada de la base de datos para 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. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión que establece CURSOR_CLOSE_ON_COMMIT en OFF para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Para determinar el estado de esta opción, examine la columna is_cursor_close_on_commit_onde la vista de catálogo sys.databases o la propiedad IsCloseCursorsOnCommitEnabled de la función 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 }
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla si el ámbito del cursor utiliza LOCAL o GLOBAL.Controls whether cursor scope uses LOCAL or GLOBAL.

LOCALLOCAL
Cuando especifica LOCAL y no define un cursor como GLOBAL cuando crea el cursor, el alcance del cursor es local.When you specify LOCAL and don't define a cursor as GLOBAL when you create the cursor, the cursor's scope is local. Específicamente, el alcance es local para el proceso por lotes, el procedimiento almacenado o el activador en el que creó el cursor.Specifically, the scope is local to the batch, stored procedure, or trigger in which you created the cursor. El nombre del cursor solamente es válido dentro de este ámbito.The cursor name is valid only within this scope.

Es posible hacer referencia al cursor mediante variables de cursor locales del lote, procedimiento almacenado, desencadenador o parámetro OUTPUT del procedimiento almacenado.The cursor can be referenced by local cursor variables in the batch, stored procedure, or trigger, or a stored procedure OUTPUT parameter. La asignación del cursor se desasigna implícitamente cuando el lote, el procedimiento almacenado o el desencadenador finaliza.The cursor is implicitly deallocated when the batch, stored procedure, or trigger ends. El cursor se desasigna a menos que se haya pasado de nuevo en un parámetro OUTPUT.The cursor is deallocated unless it was passed back in an OUTPUT parameter. El cursor se podría pasar en un parámetro OUTPUT.The cursor might be passed back in an OUTPUT parameter. Si el cursor se vuelve a pasar de esta forma, se desasigna cuando la última variable que hace referencia a él se desasigna o se sale del ámbito.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
Si se especifica GLOBAL y no se define ningún cursor como LOCAL al crearlo, el ámbito del cursor es global para la conexión.When GLOBAL is specified, and a cursor isn't defined as LOCAL when created, the scope of the cursor is global to the connection. Se puede hacer referencia al nombre del cursor en cualquier procedimiento almacenado o lote que se ejecute durante la conexión.The cursor name can be referenced in any stored procedure or batch executed by the connection.

El cursor se desasigna implícitamente solamente cuando se realiza la desconexión.The cursor is implicitly deallocated only at disconnect. Para más información, consulte DECLARE CURSOR.For more information, see DECLARE CURSOR.

Para determinar el estado de esta opción, examine la columna is_local_cursor_default en la vista de catálogo sys.databases.You can determine this option's status by examining the is_local_cursor_default column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsLocalCursorsDefault de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsLocalCursorsDefault property of the DATABASEPROPERTYEX function.

<database_mirroring> <database_mirroring>
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Para las descripciones del argumento, consulte Creación de reflejo de la base de datos de ALTER DATABASE.For the argument descriptions, see ALTER DATABASE Database Mirroring.

<date_correlation_optimization_option> ::= <date_correlation_optimization_option> ::=
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla la opción date_correlation_optimization.Controls the date_correlation_optimization option.

DATE_CORRELATION_OPTIMIZATION { ON | OFF }DATE_CORRELATION_OPTIMIZATION { ON | OFF }
ONON
SQL ServerSQL Server mantiene estadísticas de correlación donde una restricción FOREIGN KEY vincula dos tablas cualesquiera en la base de datos y las tablas tienen columnas datetime.maintains correlation statistics where a FOREIGN KEY constraint links any two tables in the database and the tables have datetime columns.

OFFOFF
No se mantiene ninguna estadística de correlación.Correlation statistics are not maintained.

Para establecer DATE_CORRELATION_OPTIMIZATION en ON, no debe haber ninguna conexión activa con la base de datos, salvo la que ejecuta la instrucción 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. Después se admitirán múltiples conexiones.Afterwards, multiple connections are supported.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_date_correlation_on en la vista de catálogo 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> ::=

Controla el estado del cifrado de la base de datos.Controls the database encryption state.

ENCRYPTION { ON | OFF | SUSPEND | RESUME }ENCRYPTION { ON | OFF | SUSPEND | RESUME }
ONON
Establece la base de datos que se va a cifrar.Sets the database to be encrypted.

OFFOFF
Establece la base de datos que no se va a cifrar.Sets the database to not be encrypted.

SUSPENDSUSPEND
Se aplica a: SQL ServerSQL Server (a partir de 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))
Puede utilizarse para pausar el examen de cifrado después de que el cifrado de datos transparente se haya habilitado o deshabilitado, o después de cambiar la clave de cifrado.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
Se aplica a: SQL ServerSQL Server (a partir de 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))
Se puede usar para reanudar un examen de cifrado pausado anteriormente.Can be used to resume a previously paused encryption scan.

Para más información sobre el cifrado de base de datos, consulte Cifrado de datos transparente y Cifrado de datos transparente con Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Cuando el cifrado está habilitado en el nivel de la base de datos, se cifrarán todos los grupos de archivos.When encryption is enabled at the database level, all file groups will be encrypted. Todos los grupos de archivos nuevos heredarán la propiedad de cifrado.Any new file groups will inherit the encrypted property. Si en la base de datos hay grupos de archivos establecidos en READ ONLY, se producirá un error en la operación de cifrado de la base de datos.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Puede ver el estado del cifrado de la base de datos, así como el estado del análisis de cifrado, mediante la vista de administración dinámica 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> ::=
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla el estado de la base de datos.Controls the state of the database.

OFFLINEOFFLINE
La base de datos está cerrada, se ha cerrado correctamente y se ha marcado como sin conexión.The database is closed, shut down cleanly, and marked offline. La base de datos no se puede modificar mientras está desconectada.The database can't be modified while it's offline.

ONLINEONLINE
La base de datos está abierta y disponible para su uso.The database is open and available for use.

EMERGENCYEMERGENCY
La base de datos está marcada como READ_ONLY, el registro está deshabilitado y el acceso está limitado a miembros del rol fijo de servidor sysadmin.The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. EMERGENCY se utiliza principalmente para la solución de problemas.EMERGENCY is primarily used for troubleshooting purposes. Por ejemplo, una base de datos marcada como sospechosa debido a un archivo de registro dañado se puede establecer en el estado EMERGENCY.For example, a database marked as suspect because of a corrupted log file can be set to the EMERGENCY state. Este valor puede habilitar el acceso de solo lectura del administrador del sistema a la base de datos.This setting could enable the system administrator read-only access to the database. Solamente los miembros del rol fijo de servidor sysadmin pueden establecer una base de datos en el estado EMERGENCY.Only members of the sysadmin fixed server role can set a database to the EMERGENCY state.

Necesita el permiso ALTER DATABASE para la base de datos de asunto, para cambiar una base de datos al estado sin conexión o de emergencia, y el permiso ALTER ANY DATABASE de nivel de servidor para conectar una base de datos que estaba sin conexión.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.

Para determinar el estado de esta opción, examine las columnas state y state_desc en la vista de catálogo sys.databases.You can determine this option's status by examining the state and state_desc columns in the sys.databases catalog view. También puede determinar el estado si examina la propiedad Status de la función DATABASEPROPERTYEX.You can also determine the status by examining the Status property of the DATABASEPROPERTYEX function. Para más información, consulte Database States.For more information, see Database States.

Una base de datos marcada como RESTORING no se puede establecer como OFFLINE, ONLINE o EMERGENCY.A database marked as RESTORING can't be set to OFFLINE, ONLINE, or EMERGENCY. Es posible que una base de datos se encuentre en estado RESTORING durante una operación de restauración activa o cuando se produce un error en una operación de restauración de una base de datos o de un archivo de registro, debido a un archivo de copia de seguridad dañado.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> ::=

Controla si se permiten las actualizaciones en la base de datos.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Los usuarios pueden leer datos de la base de datos, pero no pueden modificarlos.Users can read data from the database but not modify it.

Nota

Para mejorar el rendimiento de las consultas, actualice las estadísticas antes de establecer una base de datos en READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Si se necesitan estadísticas adicionales después de establecer una base de datos en READ_ONLY, el Motor de base de datosDatabase Engine creará las estadísticas en tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Motor de base de datosDatabase Engine will create statistics in tempdb. Para más información sobre las estadísticas para una base de datos de solo lectura, vea Utilizar las estadísticas para mejorar el rendimiento de las consultas.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
La base de datos está disponible para operaciones de lectura y escritura.The database is available for read and write operations.

Para cambiar este estado, debe tener acceso exclusivo a la base de datos.To change this state, you must have exclusive access to the database. Para obtener más información, vea la cláusula SINGLE_USER.For more information, see the SINGLE_USER clause.

Nota

En las bases de datos federadas de SQL DatabaseSQL Database, SET { READ_ONLY | READ_WRITE } está deshabilitado.On SQL DatabaseSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

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

Controla el acceso del usuario a la base de datos.Controls user access to the database.

SINGLE_USER Se aplica a: SQL ServerSQL ServerSINGLE_USER Applies to: SQL ServerSQL Server

Especifica que solamente puede tener acceso a la base de datos un usuario cada vez.Specifies that only one user at a time can access the database. Si especifica SINGLE_USER y otros usuarios se conectan a la base de datos, la instrucción ALTER DATABASE se bloquea hasta que todos los usuarios se desconecten de la base de datos especificada.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. Para invalidar este comportamiento, vea la cláusula WITH <termination>.To override this behavior, see the WITH <termination> clause.

La base de datos permanece en modo SINGLE_USER incluso si el usuario que estableció la opción cierra la sesión. A partir de ese momento, un usuario distinto, pero solo uno, puede conectarse a la base de datos.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.

Antes de establecer la base de datos como SINGLE_USER, compruebe que la opción AUTO_UPDATE_STATISTICS_ASYNC está establecida en OFF.Before you set the database to SINGLE_USER, verify the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. Cuando se establece en ON, el subproceso en segundo plano usado para actualizar las estadísticas realiza una conexión con la base de datos y no podrá tener acceso a la base de datos en modo de usuario único.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. Para ver el estado de esta opción, consulte la columna is_auto_update_stats_async_on en la vista de catálogo sys.databases.To view the status of this option, query the is_auto_update_stats_async_on column in the sys.databases catalog view. Si la opción está establecida en ON, realice las tareas siguientes:If the option is set to ON, perform the following tasks:

  1. Establezca AUTO_UPDATE_STATISTICS_ASYNC en OFF.Set AUTO_UPDATE_STATISTICS_ASYNC to OFF.

  2. Compruebe si hay trabajos de estadísticas asincrónicos consultando la vista de administración dinámica sys.dm_exec_background_job_queue.Check for active asynchronous statistics jobs by querying the sys.dm_exec_background_job_queue dynamic management view.

Si hay trabajos activos, permita que estos se completen o termínelos de forma manual mediante 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
Solo permite a los miembros del rol fijo de base de datos db_owner y de los roles fijos de servidor dbcreator y sysadmin conectarse a la base de datos.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 no limita su número.RESTRICTED_USER doesn't limit their number. Desconecte todas las conexiones con la base de datos mediante el margen de tiempo especificado por la cláusula de terminación de la instrucción ALTER DATABASE.Disconnect all connections to the database using the timeframe specified by the ALTER DATABASE statement's termination clause. Una vez que la base de datos ha cambiado al estado RESTRICTED_USER, se rechazan los intentos de conexión por parte de usuarios no cualificados.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused.

MULTI_USERMULTI_USER
Todos los usuarios que tengan los permisos correspondientes pueden conectarse a la base de datos.All users that have the appropriate permissions to connect to the database are allowed.

Para determinar el estado de esta opción, examine la columna user_access en la vista de catálogo sys.databases.You can determine this option's status by examining the user_access column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad UserAccess de la función DATABASEPROPERTYEX.You can also determine the status by examining the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
Se aplica a: SQL ServerSQL Server (de SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017)

Controla si las transacciones se confirman con perdurabilidad total o diferida.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Todas las transacciones tras SET DISABLED son totalmente perdurables.All transactions following SET DISABLED are fully durable. Se omiten las opciones de perdurabilidad que se establecen en un bloque ATOMIC o en una instrucción de confirmación.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Todas las transacciones tras SET ALLOWED son totalmente perdurables o de perdurabilidad diferida, dependiendo de la opción de perdurabilidad establecida en el bloque ATOMIC o instrucción de confirmación.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
Todas las transacciones tras SET FORCED son totalmente perdurables.All transactions following SET FORCED are delayed durable. Se omiten las opciones de perdurabilidad que se establecen en un bloque ATOMIC o en una instrucción de confirmación.Any durability options set in an atomic block or commit statement are ignored.

<external_access_option> ::= <external_access_option> ::=
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla si recursos externos como los objetos de otra base de datos pueden tener acceso a la base de datos.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
La base de datos puede ser el origen o el destino de un encadenamiento de propiedad entre bases de datos.Database can be the source or target of a cross-database ownership chain.

OFFOFF
La base de datos no puede participar en el encadenamiento de propiedad entre bases de datos.Database can't participate in cross-database ownership chaining.

Importante

La instancia de SQL ServerSQL Server reconoce esta configuración si la opción del servidor cross db ownership chaining server es 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Si cross db ownership chaining es 1 (ON), todas las bases de datos de usuario pueden participar en cadenas de propiedad entre bases de datos, independientemente del valor de esta opción.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. Esta opción se establece mediante sp_configure.This option is set by using sp_configure.

Para establecer esta opción, se requiere el permiso de CONTROL SERVER en la base de datos.To set this option, requires CONTROL SERVER permission on the database.

La opción DB_CHAINING no se puede establecer en estas bases de datos del sistema: master, model y tempdb.The DB_CHAINING option can't be set on the master, model, and tempdb system databases.

Para determinar el estado de esta opción, examine la columna is_db_chaining_on en la vista de catálogo 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
Los módulos de base de datos (por ejemplo, las funciones definidas por el usuario o los procedimientos almacenados) que utilizan un contexto de suplantación pueden tener acceso a recursos externos a la base de datos.Database modules (for example, user-defined functions or stored procedures) that use an impersonation context can access resources outside the database.

OFFOFF
Los módulos de base de datos en un contexto de suplantación no pueden tener acceso a recursos externos a la base de datos.Database modules in an impersonation context can't access resources outside the database.

TRUSTWORTHY se establece en OFF siempre que la base de datos se adjunta.TRUSTWORTHY is set to OFF whenever the database is attached.

De forma predeterminada, el valor TRUSTWORTHY se establece en OFF en todas las bases de datos de sistema, excepto msdb.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. No es posible cambiar este valor para las bases de datos model y tempdb.The value can't be changed for the model and tempdb databases. Se recomienda no establecer la opción TRUSTWORTHY en ON en la base de datos maestra.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

Para establecer esta opción, se requiere el permiso de CONTROL SERVER en la base de datos.To set this option, requires CONTROL SERVER permission on the database.

Para determinar el estado de esta opción, examine la columna is_trustworthy_on en la vista de catálogo 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
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica el valor de idioma predeterminado para las columnas indizadas de texto completo.Specifies the default language value for full-text indexed columns.

Importante

Esta opción solo se permite cuando CONTAINMENT se ha establecido en PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT se establece en NONE, se producirán errores.If CONTAINMENT is set to NONE, errors will occur.

DEFAULT_LANGUAGEDEFAULT_LANGUAGE
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica el idioma predeterminado de los nuevos inicios de sesión creados.Specifies the default language for all newly created logins. El idioma se puede especificar proporcionando el identificador local (LCID), el nombre de idioma o el alias de idioma.Language can be specified by providing the local ID (lcid), the language name, or the language alias. Para una lista de nombres y alias de idioma aceptables, consulte sys.syslanguages.For a list of acceptable language names and aliases, see sys.syslanguages. Esta opción solo se permite cuando CONTAINMENT se ha establecido en PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT se establece en NONE, se producirán errores.If CONTAINMENT is set to NONE, errors will occur.

NESTED_TRIGGERSNESTED_TRIGGERS
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica si un desencadenador AFTER puede actuar en cascada; es decir, realizar una acción que inicia otro desencadenador que, a su vez, inicia otro desencadenador, etc.Specifies whether an AFTER trigger can cascade; that is, perform an action that initiates another trigger, which initiates another trigger, and so on. Esta opción solo se permite cuando CONTAINMENT se ha establecido en PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT se establece en NONE, se producirán errores.If CONTAINMENT is set to NONE, errors will occur.

TRANSFORM_NOISE_WORDSTRANSFORM_NOISE_WORDS
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Se utiliza para suprimir un mensaje de error si las palabras irrelevantes producen un error en una operación booleana en una consulta de texto completo.Used to suppress an error message if noise words, or stopwords, cause a Boolean operation on a full-text query to fail. Esta opción solo se permite cuando CONTAINMENT se ha establecido en PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT se establece en NONE, se producirán errores.If CONTAINMENT is set to NONE, errors will occur.

TWO_DIGIT_YEAR_CUTOFFTWO_DIGIT_YEAR_CUTOFF
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica un número entero comprendido entre 1753 y 9999 que representa el año límite para interpretar años de dos dígitos como años de cuatro dígitos.Specifies an integer from 1753 to 9999 that represents the cutoff year for interpreting two-digit years as four-digit years. Esta opción solo se permite cuando CONTAINMENT se ha establecido en PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT se establece en NONE, se producirán errores.If CONTAINMENT is set to NONE, errors will occur.

<FILESTREAM_option> ::= <FILESTREAM_option> ::=
Se aplica a: SQL ServerSQL Server (desde SQL Server 2012 (11.x)SQL Server 2012 (11.x) hasta SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server ( SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Controla los valores de objetos FileTable.Controls the settings for FileTables.

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
OFFOFF
El acceso no transaccional a los datos de FileTable está deshabilitado.Non-transactional access to FileTable data is disabled.

READ_ONLYREAD_ONLY
Los procesos no transaccionales pueden leer datos FILESTREAM en los objetos FileTable de esta base de datos.FILESTREAM data in FileTables in this database can be read by non-transactional processes.

FULLFULL
Permite el acceso no transaccional completo a datos de FILESTREAM en objetos FileTable.Enables full, non-transactional access to FILESTREAM data in FileTables is enabled.

DIRECTORY_NAME = <directory_name> DIRECTORY_NAME = <directory_name>
Un nombre de directorio compatible con Windows.A windows-compatible directory name. Este nombre debe ser único entre todos los nombres de directorio de nivel de base de datos en la instancia de SQL ServerSQL Server.This name should be unique among all the database-level directory names in the SQL ServerSQL Server instance. La comparación de unicidad no distingue mayúsculas de minúsculas, independientemente de la configuración de intercalación.Uniqueness comparison is case-insensitive, regardless of collation settings. Esta opción se debe establecer antes de crear un objeto FileTable en esta base de datos.This option must be set before creating a FileTable in this database.

<HADR_options> ::= <HADR_options> ::=
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Consulte ALTER DATABASE SET HADR.See ALTER DATABASE SET HADR.

<mixed_page_allocation_option> ::= <mixed_page_allocation_option> ::=
Se aplica a: SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

Controla si la base de datos puede crear páginas iniciales con una extensión mixta para las primeras ocho páginas de una tabla o un índice.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
La base de datos siempre crea páginas iniciales mediante extensiones uniformes.The database always creates initial pages using uniform extents. OFF Es el valor predeterminado.OFF is the default value.

ONON
La base de datos puede crear páginas iniciales mediante extensiones mixtas.The database can create initial pages using mixed extents.

Esta opción es ON para todas las bases de datos del sistema.This setting is ON for all system databases. tempdb es la única base de datos del sistema que admite OFF.tempdb is the only system database that supports OFF.

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

Controla la opción de parametrización.Controls the parameterization option. Para obtener más información sobre la parametrización, vea la Guía de arquitectura de procesamiento de consultas.For more information on parameterization, see the Query Processing Architecture Guide.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Las consultas incluyen parámetros en función del comportamiento predeterminado de la base de datos.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server incluye parámetros para todas las consultas de la base de datos.parameterizes all queries in the database.

El valor actual de esta opción se puede determinar si examina la columna is_parameterization_forced column en la vista de catálogo 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> ::=
Se aplica a: SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Controla si el almacén de consultas está habilitado en esta base de datos y también controla la eliminación del contenido del almacén de consultas.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store. Para obtener más información, vea Escenarios de uso del Almacén de consultas.For more information, see Query Store Usage Scenarios.

ONON
Habilita el Almacén de consultas.Enables the Query Store.

OFFOFF
Deshabilita el Almacén de consultas.Disables the Query Store. OFF Es el valor predeterminado.OFF is the default value.

CLEARCLEAR
Quita el contenido del Almacén de consultas.Remove the contents of the Query Store.

OPERATION_MODE { READ_ONLY | READ_WRITE }OPERATION_MODE { READ_ONLY | READ_WRITE }
Describe el modo de operación del Almacén de consultas.Describes the operation mode of the Query Store.

READ_WRITEREAD_WRITE
El Almacén de consultas recopila y continúa el plan de consultas y la información de estadística del tiempo de ejecución.The Query Store collects and persists query plan and runtime execution statistics information.

READ_ONLYREAD_ONLY
La información se puede leer del almacén de consultas, pero no se agrega información nueva.Information can be read from the Query Store, but new information isn't added. Si se ha agotado el espacio máximo emitido del Almacén de consultas, el Almacén de consultas cambiará el modo de operación a 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
Describe la directiva de retención de datos del Almacén de consultas.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS determina el número de días durante los que se conserva la información de una consulta en el Almacén de consultas.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 es de tipo bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Determina la frecuencia con la que los datos escritos en el Almacén de consultas se conservan en el disco.Determines the frequency at which data written to the Query Store is persisted to disk. Para optimizar el rendimiento, los datos recopilados por el Almacén de consultas se escriben de manera asincrónica en el disco.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. La frecuencia con la que se produce esta transferencia asincrónica se configura mediante el argumento 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 es de tipo bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Determina el espacio emitido en el Almacén de consultas.Determines the space issued to the Query Store. MAX_STORAGE_SIZE_MB es de tipo bigint.MAX_STORAGE_SIZE_MB is type bigint.

Nota

El límite MAX_STORAGE_SIZE_MB no se aplica de forma estricta.MAX_STORAGE_SIZE_MB limit isn't strictly enforced. El tamaño de almacenamiento solo se comprueba cuando el almacén de consultas escribe datos en el disco.Storage size is checked only when Query Store writes data to disk. Este intervalo se establece mediante la opción DATA_FLUSH_INTERVAL_SECONDS o la opción Intervalo de vaciado de datos del cuadro de diálogo Almacén de consultas de 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. El valor predeterminado de intervalo es 900 segundos (o 15 minutos).The interval default value is 900 seconds (or 15 minutes).
Si el almacén de consultas ha infringido el límite de MAX_STORAGE_SIZE_MB entre las comprobaciones de tamaño de almacenamiento, pasará al modo de solo lectura.If the Query Store has breached the MAX_STORAGE_SIZE_MB limit between storage size checks, it will transition to read-only mode. Si SIZE_BASED_CLEANUP_MODE está habilitado, también se desencadena el mecanismo de limpieza para aplicar el límite de 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
Determina el intervalo de tiempo en el que se agregan los datos de estadísticas de ejecución en tiempo de ejecución al Almacén de consultas.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Para optimizar el uso del espacio, se agregan las estadísticas de ejecución en tiempo de ejecución en el almacén de estadísticas de tiempo de ejecución en una ventana de tiempo fijo.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Esta ventana de tiempo fijo se configura con el argumento INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES es de tipo bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODE { AUTO | OFF }SIZE_BASED_CLEANUP_MODE { AUTO | OFF }
Controla si la limpieza se activa de forma automática cuando la cantidad total de datos se acerca al tamaño máximo.Controls whether cleanup automatically activates when the total amount of data gets close to maximum size.

AUTOAUTO
La limpieza según el tamaño se activará de forma automática cuando el tamaño en disco alcance el 90 % de MAX_STORAGE_SIZE_MB.Size-based cleanup will be automatically activated when size on disk reaches 90% of MAX_STORAGE_SIZE_MB. La limpieza según el tamaño quita primero las consultas menos caras y más antiguas.Size-based cleanup removes the least expensive and oldest queries first. Se detiene en aproximadamente el 80 % de MAX_STORAGE_SIZE_MB. Este es el valor de configuración predeterminado.It stops at approximately 80% of MAX_STORAGE_SIZE_MB.This value is the default configuration value.

OFFOFF
La limpieza según el tamaño no se activará automáticamente.Size-based cleanup won't be automatically activated.

SIZE_BASED_CLEANUP_MODE es de tipo nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }
Designa el modo de captura de consulta que está activo.Designates the currently active query capture mode. Cada modo define directivas de captura de consulta específicas.Each mode defines specific query capture policies.

Nota

Los cursores, las consultas dentro de procedimientos almacenados y las consultas compiladas de forma nativa siempre se capturan cuando el modo de captura de consulta se establece en ALL, AUTO o 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
Captura todas las consultas.Captures all queries. ALL es el valor de configuración predeterminado para SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) hasta 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
Captura consultas pertinentes en función del consumo de recursos y el recuento de ejecuciones.Capture relevant queries based on execution count and resource consumption. Este es el valor de configuración predeterminado para SQL ServerSQL Server (a partir de SQL Server 2019 (15.x)SQL Server 2019 (15.x)) y Base de datos SQL de 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 Base de datos SQL de AzureAzure SQL Database.

NingunoNONE
Detiene la captura de nuevas consultas.Stop capturing new queries. El almacén de consultas seguirá recopilando estadísticas de compilación y tiempo de ejecución para las consultas que ya se han capturado.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use esta configuración con precaución ya que podría omitir la captura de consultas importantes.Use this configuration with caution since you may miss capturing important queries.

CUSTOMCUSTOM
Se aplica a: SQL ServerSQL Server (a partir de 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)

Permite controlar las opciones de QUERY_CAPTURE_POLICY.Allows control over the QUERY_CAPTURE_POLICY options.

QUERY_CAPTURE_MODE es de tipo nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Define el número máximo de planes que se tienen para cada consulta.Defines the maximum number of plans maintained for each query. El valor predeterminado es 200.The default is 200. MAX_PLANS_PER_QUERY es del tipo int.MAX_PLANS_PER_QUERY is type int.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
Se aplica a: SQL ServerSQL Server (a partir de 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)

Controla las opciones de directiva de captura de Almacén de consultas.Controls the Query Store capture policy options. Excepto en STALE_CAPTURE_POLICY_THRESHOLD, estas opciones definen las condiciones OR que se tienen que dar para que las consultas se capturen en el valor definido en el umbral de la directiva de capturas obsoletas.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 }
Define el período de intervalo de evaluación para determinar si se debe capturar una consulta.Defines the evaluation interval period to determine if a query should be captured. El valor predeterminado es de 1 día y puede establecerse de 1 hora a 7 días.The default is 1 day, and it can be set from 1 hour to seven days. number es del tipo int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Define el número de veces que se ejecuta una consulta durante el período de evaluación.Defines the number of times a query is executed over the evaluation period. El valor predeterminado es 30, lo que significa que, para el valor predeterminado del umbral de la directiva de capturas obsoletas, una consulta se tendrá que ejecutar al menos 30 veces en un día para que se conserve en el almacén de consultas.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 es del tipo int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Define el tiempo total de CPU de compilación transcurrido que usa una consulta durante el período de evaluación.Defines total elapsed compile CPU time used by a query over the evaluation period. El valor predeterminado es 1000, lo que significa que, para el valor predeterminado del umbral de la directiva de capturas obsoletas, una consulta tendrá que invertir un total de al menos un segundo de tiempo de CPU durante la compilación de consulta en un día para conservarse en el almacén de consultas.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 es del tipo int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Define el tiempo de ejecución total de CPU transcurrido que ha utilizado una consulta durante el período de evaluación.Defines total elapsed execution CPU time used by a query over the evaluation period. El valor predeterminado es 100, lo que significa que, para el valor predeterminado del umbral de la directiva de capturas obsoletas, una consulta tendrá que invertir un total de al menos 100 ms de tiempo de CPU durante la ejecución en un día para que se conserve en el almacén de consultas.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 es del tipo int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<recovery_option> ::= <recovery_option> ::=
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla las opciones de recuperación de base de datos y la comprobación de errores de E/S de disco.Controls database recovery options and disk I/O error checking.

FULLFULL
Proporciona una restauración completa tras un error del medio, utilizando copias de seguridad del registro de transacciones.Provides full recovery after media failure by using transaction log backups. Si un archivo de datos está dañado, la recuperación del medio puede restaurar todas las transacciones confirmadas.If a data file is damaged, media recovery can restore all committed transactions. Para más información, consulte Modelos de recuperación.For more information, see Recovery Models.

BULK_LOGGEDBULK_LOGGED
Proporciona una recuperación tras un error del medio.Provides recovery after media failure. Combina el máximo rendimiento y la mínima cantidad de uso de espacio de registro para determinadas operaciones a gran escala o masivas.Combines the best performance and least amount of log-space use for certain large-scale or bulk operations. Para información sobre las operaciones que se pueden registrar mínimamente, consulte El registro de transacciones.For information about what operations can be minimally logged, see The Transaction Log. En el modelo de recuperación BULK_LOGGED, el registro de estas operaciones es mínimo.Under the BULK_LOGGED recovery model, logging for these operations is minimal. Para más información, consulte Modelos de recuperación.For more information, see Recovery Models.

SIMPLESIMPLE
Se proporciona una estrategia de copia de seguridad sencilla que utiliza un espacio de registro mínimo.A simple backup strategy that uses minimal log space is provided. Se puede volver a utilizar el espacio de registro de forma automática cuando ya no se necesite para la recuperación tras errores del servidor.Log space can be automatically reused when it's no longer required for server failure recovery. Para más información, consulte Modelos de recuperación.For more information, see Recovery Models.

Importante

El modelo de recuperación simple es más fácil de administrar que los otros dos modelos, pero a costa de un mayor riesgo de perder los datos si se daña un archivo de datos.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. Todos los cambios se pierden, desde la copia de seguridad de base de datos más reciente o desde la copia de seguridad diferencial de la base de datos, y se deben volver a incluir de forma manual.All changes since the most recent database or differential database backup are lost and must be manually reentered.

El modelo de recuperación predeterminado se determina mediante el modelo de recuperación de la base de datos model .The default recovery model is determined by the recovery model of the model database. Para más información sobre cómo seleccionar el modelo de recuperación adecuado, consulte Modelos de recuperación.For more information about selecting the appropriate recovery model, see Recovery Models.

Puede determinar el estado de esta opción mediante las columnas recovery_model y recovery_model_desc en la vista de catálogo 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. También puede determinar el estado si examina la propiedad Recovery de la función 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
Las páginas incompletas se pueden detectar mediante el Motor de base de datosDatabase Engine.Incomplete pages can be detected by the Motor de base de datosDatabase Engine.

OFFOFF
Las páginas incompletas no se pueden detectar mediante el Motor de base de datosDatabase Engine.Incomplete pages can't be detected by the Motor de base de datosDatabase Engine.

Importante

La estructura de sintaxis TORN_PAGE_DETECTION ON | OFF se quitará en una versión futura de SQL ServerSQL Server.The syntax structure TORN_PAGE_DETECTION ON | OFF will be removed in a future version of SQL ServerSQL Server. Evite utilizar esta estructura de sintaxis en nuevos trabajos de desarrollo y prevea modificar las aplicaciones que actualmente la utilizan.Avoid using this syntax structure in new development work, and plan to modify applications that currently use the syntax structure. Utilice la opción PAGE_VERIFY en su lugar.Use the PAGE_VERIFY option instead.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
Detecta páginas de bases de datos dañadas por errores de ruta de E/S de disco.Discovers damaged database pages caused by disk I/O path errors. Los errores de ruta de acceso de E/S de disco pueden ser la causa de problemas de daños en la base de datos.Disk I/O path errors can be the cause of database corruption problems. Estos errores suelen producirse por errores de alimentación o errores de hardware de disco que ocurren en el momento en el que la página se escribe en disco.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
Calcula una suma de comprobación del contenido de toda la página y almacena el valor en el encabezado de página si se escribe una página en el disco.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. Si la página se lee desde el disco, la suma de comprobación se vuelve a calcular y se compara con el valor de suma de comprobación almacenado en el encabezado de página.When the page is read from disk, the checksum is recomputed and compared to the checksum value stored in the page header. Si el valor no coincide, se genera el mensaje de error 824 (indica un error de la suma de comprobación) para el registro de errores de SQL ServerSQL Server, así como para el registro de eventos de 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. Un error de la suma de comprobación indica un problema de ruta de E/S.A checksum failure indicates an I/O path problem. Para determinar la causa, es necesario investigar el hardware, los controladores de firmware, el BIOS, los controladores de filtro (por ejemplo, software antivirus) y otros componentes de ruta de E/S.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
Guarda una pauta específica de 2 bits por cada sector de 512 bytes en la página de base de datos de 8 kilobytes (KB) y la almacena en el encabezado de página de la base de datos al escribir la página en el disco.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. Si la página se lee desde el disco, los bits rasgados almacenados en el encabezado de página se comparan con la información del sector de la página real.When the page is read from disk, the torn bits stored in the page header are compared to the actual page sector information.

Los valores no coincidentes indican que solamente se ha escrito en el disco una parte de la página.Unmatched values indicate that only part of the page was written to disk. En esta situación, se genera el mensaje de error 824 (indica un error de página rasgada) tanto para el registro de errores de SQL ServerSQL Server como para el registro de eventos de 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. Las páginas rasgadas se suelen detectar mediante la recuperación de la base de datos si se trata realmente de la escritura incompleta de una página.Torn pages are typically detected by database recovery if it's truly an incomplete write of a page. No obstante, otros errores de ruta de E/S pueden generar una página rasgada en cualquier momento.However, other I/O path failures can cause a torn page at any time.

NingunoNONE
Las escrituras de páginas de bases de datos no generarán un valor CHECKSUM o TORN_PAGE_DETECTION.Database page writes won't generate a CHECKSUM or TORN_PAGE_DETECTION value. SQL ServerSQL Server no comprobará ninguna suma de comprobación o página rasgada durante una lectura aunque haya un valor CHECKSUM o TORN_PAGE_DETECTION en el encabezado de página.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.

Tenga en cuenta los siguientes puntos importantes cuando utilice la opción PAGE_VERIFY:Consider the following important points when you use the PAGE_VERIFY option:

  • El valor predeterminado es CHECKSUM.The default is CHECKSUM.

  • Si una base de datos de usuario o del sistema se actualiza a SQL Server 2005 (9.x)SQL Server 2005 (9.x) o una versión posterior, no cambia el valor de PAGE_VERIFY (NONE o 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. Se recomienda cambiar a CHECKSUM.We recommend that you change to CHECKSUM.

    Nota

    En las versiones anteriores de SQL ServerSQL Server, la opción de base de datos PAGE_VERIFY está establecida en NONE para la base de datos tempdb y no se puede modificar.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. En SQL Server 2008SQL Server 2008 y versiones posteriores, el valor predeterminado para la base de datos tempdb es CHECKSUM para las nuevas instalaciones de 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. Al actualizar una instalación de SQL ServerSQL Server, el valor predeterminado sigue siendo NONE.When upgrading an installation SQL ServerSQL Server, the default value remains NONE. La opción se puede modificar.The option can be modified. Se recomienda usar CHECKSUM para la base de datos tempdb.We recommend that you use CHECKSUM for the tempdb database.

  • Es posible que TORN_PAGE_DETECTION utilice menos recursos, pero proporciona en cambio un subconjunto mínimo de la protección de CHECKSUM.TORN_PAGE_DETECTION may use fewer resources but provides a minimal subset of the CHECKSUM protection.

  • PAGE_VERIFY se puede configurar sin dejar la base de datos sin conexión, ni bloquearla ni impedir la simultaneidad en ella.PAGE_VERIFY can be set without taking the database offline, locking the database, or otherwise impeding concurrency on that database.

  • CHECKSUM y TORN_PAGE_DETECTION se excluyen mutuamente.CHECKSUM is mutually exclusive to TORN_PAGE_DETECTION. No se pueden habilitar ambas opciones al mismo tiempo.Both options can't be enabled at the same time.

Si se detecta un error de suma de comprobación o de página rasgada, puede realizar una recuperación mediante la restauración de los datos o una regeneración del índice, si el error se limita únicamente a las páginas de índice.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. Si detecta un error de suma de comprobación, ejecute DBCC CHECKDB para determinar el tipo de página o páginas de base de datos afectadas.If you encounter a checksum failure, to determine the type of database page or pages affected, run DBCC CHECKDB. Para más información sobre las opciones de restauración, consulte Argumentos RESTORE.For more information about restore options, see RESTORE Arguments. Aunque la restauración de los datos resolverá el problema de los datos dañados, es necesario diagnosticar y corregir la causa (por ejemplo, un error del hardware de disco) lo antes posible, para evitar errores continuos.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 vuelve a intentar cualquier lectura que genere un error con una suma de comprobación, una página rasgada u otros errores de E/S, en cuatro ocasiones.will retry any read that fails with a checksum, torn page, or other I/O error four times. Si la lectura se realiza correctamente en cualquiera de los reintentos, se escribe un mensaje en el registro de errores.If the read is successful in any one of the retry attempts, a message is written to the error log. El comando que desencadenó la lectura continuará.The command that triggered the read will continue. El comando genera el mensaje de error 824 si los reintentos no se realizan correctamente.The command will fail with error message 824 if the retry attempts fail.

Para más información sobre los mensajes de error 823, 824 y 825, vea:For more information about error messages 823, 824 and 825, see:

La configuración actual de esta opción se puede determinar si examina la columna page_verify_option de la vista de catálogo sys.databases o la propiedad IsTornPageDetectionEnabled de la función 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> ::=
Se aplica a: SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

Habilita o deshabilita Stretch Database para la base de datos.Enables or disables Stretch Database for the database. Para obtener más información, vea 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
Habilita Stretch Database para la base de datos.Enables Stretch Database for the database. Para más información, incluidos los requisitos previos adicionales, vea Enable Stretch Database for a database (Habilitar Stretch Database para una base de datos).For more info, including additional prerequisites, see Enable Stretch Database for a database.

Necesita el permiso db_owner para habilitar Stretch Database para una tabla.Requires db_owner permission to enable Stretch Database for a table. Necesita los permisos db_owner y CONTROL DATABASE para habilitar Stretch Database para una tabla.Requires db_owner and CONTROL DATABASE permissions to enable Stretch Database for a database.

SERVER = <server_name>SERVER = <server_name>
Especifica la dirección del servidor de Azure.Specifies the address of the Azure server. Incluye la parte .database.windows.net del nombre.Include the .database.windows.net portion of the name. Por ejemplo, MyStretchDatabaseServer.database.windows.net.For example, MyStretchDatabaseServer.database.windows.net.

CREDENTIAL = <db_scoped_credential_name>CREDENTIAL = <db_scoped_credential_name>
Especifica la credencial de ámbito de base de datos que la instancia de SQL ServerSQL Server usa para conectarse al servidor de Azure.Specifies the database scoped credential that the instance of SQL ServerSQL Server uses to connect to the Azure server. Asegúrese de que la credencial existe antes de ejecutar este comando.Make sure the credential exists before you run this command. Para más información, consulte CREATE DATABASE SCOPED CREDENTIAL.For more info, see CREATE DATABASE SCOPED CREDENTIAL.

FEDERATED_SERVICE_ACCOUNT = { ON | OFF }FEDERATED_SERVICE_ACCOUNT = { ON | OFF }
Puede usar una cuenta de servicio federado para que el servidor SQL Server local se comunique con el servidor remoto de Azure cuando se cumplan estas condiciones.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.

  • La cuenta de servicio con la que se está ejecutando la instancia de SQL Server es una cuenta de dominio.The service account under which the instance of SQL Server is running is a domain account.
  • La cuenta de dominio pertenece a un dominio cuyo Active Directory está federado con Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.
  • El servidor remoto de Azure está configurado para admitir la autenticación de Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.
  • La cuenta de servicio con la que se ejecuta la instancia de SQL Server debe configurarse como una cuenta dbmanager o sysadmin en el servidor remoto de 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.

Si indica que la cuenta de servicio federada está activada, no podrá especificar además el argumento CREDENTIAL.If you specify that the federated service account is ON, you can't also specify the CREDENTIAL argument. Proporcione el argumento CREDENTIAL si especifica OFF.Provide the CREDENTIAL argument if you specify OFF.

OFFOFF
Deshabilita Stretch Database para la base de datos.Disables Stretch Database for the database. Para obtener más información, vea Deshabilitar Stretch Database y recuperar datos remotos.For more info, see Disable Stretch Database and bring back remote data.

Solo puede deshabilitar Stretch Database para una base de datos una vez que la base de datos ya no contenga ninguna tabla que esté habilitada para 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. Después de deshabilitar Stretch Database, la migración de datos se detiene.After you disable Stretch Database, data migration stops. Además, los resultados de la consulta ya no incluyen los resultados de las tablas remotas.Also, query results no longer include results from remote tables.

Al deshabilitar Stretch no se quita la base de datos remota.Disabling Stretch doesn't remove the remote database. Para eliminar la base de datos remota, colóquela mediante Azure Portal.To delete the remote database, drop it by using the Azure portal.

<service_broker_option> ::= <service_broker_option> ::=
Se aplica a: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla las siguientes opciones de Service BrokerService Broker: habilita o deshabilita la entrega de mensajes, establece un nuevo identificador de Service BrokerService Broker o establece prioridades de conversación en ON u 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
Indica que se habilite Service BrokerService Broker para la base de datos especificada.Specifies that Service BrokerService Broker is enabled for the specified database. Se inicia la entrega de mensajes y la marca is_broker_enabled se establece en TRUE en la vista de catálogo sys.databases.Message delivery is started, and the is_broker_enabled flag is set to true in the sys.databases catalog view. La base de datos conserva el identificador de Service BrokerService Broker existente.The database keeps the existing Service BrokerService Broker identifier. Service Broker no puede habilitarse mientras la base de datos sea la entidad de seguridad en una configuración de creación de reflejo de la base de datos.Service broker can't be enabled while the database is the principal in a database mirroring configuration.

Nota

ENABLE_BROKER requiere un bloqueo exclusivo de base de datos.ENABLE_BROKER requires an exclusive database lock. Si otras sesiones tienen recursos bloqueados en la base de datos, ENABLE_BROKER esperará hasta que las demás sesiones liberen sus bloqueos.If other sessions have locked resources in the database, ENABLE_BROKER will wait until the other sessions release their locks. Para habilitar Service BrokerService Broker en una base de datos de usuario, asegúrese de que ninguna otra sesión esté utilizando la base de datos antes de ejecutar la instrucción ALTER DATABASE SET ENABLE_BROKER, por ejemplo, colocando la base de datos en modo de usuario único.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. Para habilitar Service BrokerService Broker en la base de datos msdb, detenga en primer lugar el Agente SQL ServerSQL Server para que Service BrokerService Broker pueda obtener el bloqueo necesario.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
Indica que se deshabilite Service BrokerService Broker para la base de datos especificada.Specifies that Service BrokerService Broker is disabled for the specified database. Se detiene la entrega de mensajes y la marca is_broker_enabled se establece en FALSE en la vista de catálogo sys.databases.Message delivery is stopped, and the is_broker_enabled flag is set to false in the sys.databases catalog view. La base de datos conserva el identificador de Service BrokerService Broker existente.The database keeps the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Especifica que la base de datos debe recibir un identificador de agente nuevo.Specifies that the database should receive a new broker identifier. La base de datos actúa como un nuevo agente de servicio.The database acts as a new service broker. Como tal, todas las conversaciones existentes en la base de datos se quitan inmediatamente sin generar mensajes de finalización de diálogo.As such, all existing conversations in the database are immediately removed without producing end dialog messages. Cualquier ruta que haga referencia al identificador de Service BrokerService Broker anterior se debe volver a crear con el nuevo identificador.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Especifica que la entrega de mensajes de Service BrokerService Broker está habilitada.Specifies that Service BrokerService Broker message delivery is enabled. Este valor conserva el identificador de Service BrokerService Broker existente para la base de datos.This setting preserves the existing Service BrokerService Broker identifier for the database. Service BrokerService Broker finaliza todas las conversaciones de la base de datos con un error.ends all conversations in the database with an error. Este valor permite que las aplicaciones realicen una ejecución regular de las conversaciones existentes.This setting enables applications to run regular cleanup for existing conversations.

HONOR_BROKER_PRIORITY {ON | OFF}HONOR_BROKER_PRIORITY {ON | OFF}
ONON
Las operaciones de envío tienen en cuenta los niveles de prioridad asignados a las conversaciones.Send operations take into consideration the priority levels that are assigned to conversations. Los mensajes de las conversaciones que tienen niveles de prioridad altos se envían antes que los que tienen asignados niveles de prioridad bajos.Messages from conversations that have high priority levels are sent before messages from conversations that are assigned low-priority levels.

OFFOFF
Las operaciones de envío se ejecutan como si todas las conversaciones tuvieran el nivel de prioridad predeterminado.Send operations run as if all conversations have the default priority level.

Los cambios de la opción HONOR_BROKER_PRIORITY tienen efecto inmediato para los diálogos nuevos o los que no tiene ningún mensaje en espera de ser enviado.Changes to the HONOR_BROKER_PRIORITY option take effect immediately for new dialogs or dialogs that have no messages waiting to be sent. Los diálogos con mensajes que se van a enviar cuando se ejecuta ALTER DATABASE no adoptarán el nuevo valor hasta que se envíe alguno de los mensajes del diálogo.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. La cantidad de tiempo que transcurre hasta que se inicien todos los diálogos con el nuevo valor puede variar considerablemente.The amount of time before all dialogs start using the new setting can vary considerably.

El valor actual de esta propiedad se notifica en la columna is_broker_priority_honored de la vista de catálogo 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> ::=

Calcula el nivel de aislamiento de la transacción.Calculates the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Habilita la opción de instantánea en el nivel de base de datos.Enables Snapshot option at the database level. Cuando se habilita, las instrucciones DML inician la generación de versiones de fila aunque ninguna transacción utilice el aislamiento de instantánea.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Una vez habilitada esta opción, las transacciones pueden especificar el nivel de aislamiento de transacción SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Si se ejecuta una transacción en el nivel de aislamiento SNAPSHOT, todas las instrucciones verán una instantánea de los datos tal como estaban al inicio de la transacción.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. Si una transacción ejecutada en el nivel de aislamiento SNAPSHOT tiene acceso a los datos de varias bases de datos, ALLOW_SNAPSHOT_ISOLATION debe establecerse en ON en todas las bases de datos o cada instrucción de la transacción debe utilizar sugerencias de bloqueo en cualquier referencia de una cláusula FROM a una tabla de una base de datos donde ALLOW_SNAPSHOT_ISOLATION sea 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
Desactiva la opción de instantánea en el nivel de base de datos.Turns off the Snapshot option at the database level. Las transacciones no pueden especificar el nivel de aislamiento de la transacción SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Si se establece ALLOW_SNAPSHOT_ISOLATION en un estado nuevo (de ON a OFF o de OFF a ON), ALTER DATABASE no devuelve el control al autor de la llamada hasta confirmar todas las transacciones existentes de la base de datos.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. Si la base de datos ya se encuentra en el estado especificado en la instrucción ALTER DATABASE, se devuelve de inmediato el control al autor de la llamada.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Use sys.dm_tran_active_snapshot_database_transactions para determinar si hay transacciones de ejecución prolongada si la instrucción ALTER DATABASE no devuelve resultados rápidamente.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. Si se cancela la instrucción ALTER DATABASE, la base de datos permanece en el estado en que estaba al iniciar ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. La vista de catálogo sys.databases indica el estado de las transacciones de aislamiento de instantáneas en la base de datos.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Si snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF se pausará durante seis segundos y reintentará la operación.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

No puede cambiar el estado de ALLOW_SNAPSHOT_ISOLATION si la base de datos está establecida en OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Si establece ALLOW_SNAPSHOT_ISOLATION en una base de datos READ_ONLY, la configuración se mantendrá si la base de datos se establece posteriormente en 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.

Puede cambiar la configuración de ALLOW_SNAPSHOT_ISOLATION para las bases de datos maestra, model, msdb y tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. La configuración se mantiene cada vez que la instancia de Motor de base de datosDatabase Engine se detiene y se reinicia si cambia la configuración para tempdb.The setting is kept every time the instance of the Motor de base de datosDatabase Engine is stopped and restarted if you change the setting for tempdb. Si cambia la configuración para la base de datos model, dicha configuración se convierte en la configuración predeterminada para todas las bases de datos nuevas que se crean, excepto para tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

La opción predeterminada es ON para las bases de datos master y msdb.The option is ON by default for the master and msdb databases.

El valor actual de esta opción se puede determinar mediante el examen de la columna snapshot_isolation_state en la vista de catálogo 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
Habilita la opción de instantánea de lectura confirmada en el nivel de base de datos.Enables Read-Committed Snapshot option at the database level. Cuando se habilita, las instrucciones DML inician la generación de versiones de fila aunque ninguna transacción utilice el aislamiento de instantánea.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Una vez habilitada esta opción, las transacciones que especifican el nivel de aislamiento de lectura confirmada usan versiones de fila en lugar de bloqueos.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Todas las instrucciones ven una instantánea de los datos tal y como existen al inicio de la instrucción si una transacción se ejecuta en el nivel de aislamiento 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
Desactiva la opción de instantánea de lectura confirmada en el nivel de base de datos.Turns off Read-Committed Snapshot option at the database level. Las transacciones que especifican el nivel de aislamiento READ COMMITTED utilizan el bloqueo.Transactions specifying the READ COMMITTED isolation level use locking.

Para establecer READ_COMMITTED_SNAPSHOT en ON u OFF, no puede haber ninguna conexión activa a la base de datos, excepto la que ejecuta el comando 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. Sin embargo, no es necesario que la base de datos esté en modo de usuario único.However, the database doesn't have to be in single-user mode. No puede cambiar el estado de esta opción si la base de datos está establecida en OFFLINE.You can't change the state of this option when the database is OFFLINE.

Si establece READ_COMMITTED_SNAPSHOT en una base de datos READ_ONLY, la configuración se mantendrá si la base de datos se establece después en 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 no se puede cambiar a ON para las bases de datos maestra, tempdb o msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Si cambia la configuración para model, dicha configuración se convierte en predeterminada para todas las bases de datos creadas, excepto para tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_read_committed_snapshot_on en la vista de catálogo 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.

Advertencia

Cuando se crea una tabla con DURABILITY = SCHEMA_ONLY y posteriormente se cambia READ_COMMITTED_SNAPSHOT mediante ALTER DATABASE, se pierden los datos de la tabla.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 }
Se aplica a: SQL ServerSQL Server (de SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017)

ONON
Cuando el nivel de aislamiento de transacción se establece en uno inferior a SNAPSHOT, todas las operaciones interpretadas de Transact-SQLTransact-SQL en las tablas optimizadas para memoria se ejecutan con aislamiento 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. Los ejemplos de los niveles de aislamiento inferiores a la instantánea son READ COMMITTED o READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Estas operaciones se ejecutan si el nivel de aislamiento de transacción se establece explícitamente en el nivel de sesión o el valor predeterminado se utiliza de forma implícita.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
No eleva el nivel de aislamiento de transacción para las operaciones interpretadas de Transact-SQLTransact-SQL en las tablas optimizadas para memoria.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

No puede cambiar el estado de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT si la base de datos está establecida en OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

De forma predeterminada, la opción está desactivada.The default option is OFF.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_memory_optimized_elevate_to_snapshot_on en la vista de catálogo 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> ::=

Controla las opciones de cumplimiento con ANSI en el nivel de base de datos.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF } Determina el valor predeterminado, NULL o NOT NULL, de una columna o del tipo definido por el usuario CLR para los que no se ha definido de forma explícita la nulabilidad en las instrucciones CREATE TABLE o ALTER TABLE.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. Las columnas para las que se hayan definido restricciones siguen las reglas de las restricciones, independientemente de esta configuración.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
El valor predeterminado de una columna sin definir es NULL.The default value for an undefined column is NULL.

OFFOFF
El valor predeterminado de una columna sin definir es NOT NULL.The default value for an undefined column is NOT NULL.

La configuración del nivel de conexión, establecida mediante la instrucción SET, invalida la configuración predeterminada del nivel de base de datos para ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_NULL_DEFAULT en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Para la compatibilidad con ANSI, si se establece la opción de base de datos ANSI_NULL_DEFAULT en ON, el valor predeterminado cambia a NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Para determinar el estado de esta opción, examine la columna is_ansi_null_default_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiNullDefault de la función 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
Todas las comparaciones con un valor NULL se evalúan como UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Las comparaciones de valores no UNICODE con un valor NULL se evalúan como TRUE si ambos valores son NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Importante

En una versión futura de SQL ServerSQL Server, ANSI_NULLS siempre estará ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_NULLS en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Importante

El valor de SET ANSI_NULLS también debe estar en ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_ansi_nulls_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiNullsEnabled de la función 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
Las cadenas se rellenan a la misma longitud antes de la conversión.Strings are padded to the same length before conversion. También se rellenan hasta la misma longitud antes de la inserción en un tipo de datos varchar o nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Inserta espacios en blanco finales en los valores de caracteres en las columnas varchar o nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. También deja los ceros a la derecha en los valores binarios insertados en columnas varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Los valores no se rellenan hasta completar la longitud de la columna.Values aren't padded to the length of the column.

Si se especifica OFF, esta opción solamente afecta a la definición de las columnas nuevas.When OFF is specified, this setting affects only the definition of new columns.

Importante

En una versión futura de SQL ServerSQL Server, ANSI_PADDING siempre estará en ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Se recomienda establecer siempre ANSI_PADDING en ON.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING también debe estar en ON al crear o tratar índices en columnas calculadas o vistas indizadas.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

char(n) y binary(n) las columnas que admiten valores NULL se rellenan hasta la longitud de la columna cuando ANSI_PADDING se establece en ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Los ceros y los espacios en blanco finales se recortan si ANSI_PADDING es OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Las columnas char(n) y binary(n) que no permiten valores NULL siempre se rellenan hasta completar la longitud de la columna.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada del nivel de base de datos para ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_PADDING en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Para determinar el estado de esta opción, examine la columna is_ansi_padding_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiPaddingEnabled de la función 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
Se emiten errores o advertencias si se dan condiciones tales como la división por cero.Errors or warnings are issued when conditions such as divide-by-zero occur. También se emiten errores y advertencias cuando aparecen valores null en funciones de agregado.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
No se genera ninguna advertencia ni se devuelven valores NULL si se producen condiciones como la división por cero.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Importante

El valor de SET ANSI_WARNINGS debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_WARNINGS en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Para determinar el estado de esta opción, examine la columna is_ansi_warnings_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiWarningsEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Se finaliza una consulta cuando se produce un error de desbordamiento o de división por cero durante su ejecución.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Aparece un mensaje de advertencia cuando se produce uno de estos errores.A warning message is displayed when one of these errors occurs. La consulta, el proceso por lotes o la transacción continúa procesándose como si no se hubiera producido ningún error aunque se muestre una advertencia.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Importante

El valor de SET ARITHABORT debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_arithabort_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsArithmeticAbortEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

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

Para más información, consulte Nivel de compatibilidad de ALTER DATABASE.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
El resultado de una operación de concatenación es NULL si alguno de los operandos es NULL.The result of a concatenation operation is NULL when either operand is NULL. Por ejemplo, la concatenación de la cadena de caracteres "Esto es" y NULL devuelve el valor NULL, en lugar del valor "Esto es".For example, concatenating the character string "This is" and NULL returns the NULL value instead of the "This is" value.

OFFOFF
El valor NULL se trata como una cadena de caracteres vacía.The null value is treated as an empty character string.

[IMPORTANTE] El valor de CONCAT_NULL_YIELDS_NULL también debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.[IMPORTANT] CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Importante

En versiones futuras de SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL siempre será ON y cualquier aplicación que establezca de forma explícita la opción en OFF generará un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para 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. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión y establecen CONCAT_NULL_YIELDS_NULL en ON para la sesión al realizar la conexión con una instancia de SQL ServerSQL Server.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. Para más información, consulte SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Para determinar el estado de esta opción, examine la columna is_concat_null_yields_null_on en la vista de catálogo 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. También puede determinar el estado si examina la propiedad IsNullConcat de la función 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
Las comillas dobles se pueden usar para identificadores delimitados.Double quotation marks can be used to enclose delimited identifiers.

Todas las cadenas delimitadas por comillas dobles se interpretan como identificadores de objetos.All strings delimited by double quotation marks are interpreted as object identifiers. Los identificadores entre comillas no tienen que adaptarse a las reglas de Transact-SQLTransact-SQL para identificadores.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Pueden ser palabras clave e incluir caracteres que no se permiten en los identificadores de Transact-SQLTransact-SQL.They can be keywords and can include characters that aren't allowed in Transact-SQLTransact-SQL identifiers. Si una comilla simple (') forma parte de la cadena literal, puede representarse mediante comillas dobles (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Los identificadores no se pueden incluir entre comillas y deben seguir todas las reglas de Transact-SQLTransact-SQL para los identificadores.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Los literales se pueden delimitar con comillas simples o dobles.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server también permite delimitar los identificadores con corchetes ([ ]).also allows for identifiers to be delimited by square brackets ([ ]). Los identificadores entre corchetes pueden usarse siempre, independientemente del valor de QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Para obtener más información, vea Database Identifiers.For more information, see Database Identifiers.

Al crear una tabla, la opción QUOTED IDENTIFIER siempre se almacena como ON en los metadatos de la tabla.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. La opción se almacena incluso si está establecida en OFF al crear la tabla.The option is stored even if the option is set to OFF when the table is created.

La configuración en el nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión estableciendo QUOTED_IDENTIFIER en ON.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Para determinar el estado de esta opción, examine la columna is_quoted_identifier_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsQuotedIdentifiersEnabled de la función 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
Se genera un error cuando se produce una pérdida de precisión en una expresión.An error is generated when loss of precision occurs in an expression.

OFFOFF
Las pérdidas de precisión no generan un mensaje de error y el resultado se redondea con la precisión de la columna o variable que lo almacena.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.

Importante

El valor de NUMERIC_ROUNDABORT debe ser OFF al crear o realizar cambios en índices de columnas calculadas o vistas indizadas.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_numeric_roundabort_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsNumericRoundAbortEnabled de la función 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
Se permite la activación recursiva de desencadenadores AFTER.Recursive firing of AFTER triggers is allowed.

OFFOFF
Para determinar el estado de esta opción, examine la columna is_recursive_triggers_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsRecursiveTriggersEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Nota

La recursividad directa solo se evita cuando RECURSIVE_TRIGGERS se establece en OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Para deshabilitar la recursividad indirecta, también debe establecer la opción de servidor desencadenadores anidados en 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Para determinar el estado de esta opción, examine la columna is_recursive_triggers_onde la vista de catálogo sys.databases o la propiedad IsRecursiveTriggersEnabled de la función 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> ::=
Se aplica a: SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica la frecuencia de puntos de comprobación indirectos por base de datos.Specifies the frequency of indirect checkpoints on a per-database basis. A partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x), el valor predeterminado para nuevas bases de datos es de un minuto, lo cual indica que la base de datos usará puntos de comprobación indirectos.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. Para versiones anteriores, el valor predeterminado es 0, lo cual indica que la base de datos usará puntos de comprobación automáticos, cuya frecuencia depende del valor de intervalo de recuperación de la instancia de servidor.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 recomienda un minuto para la mayoría de los sistemas.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
Especifica el límite máximo de tiempo para recuperar la base de datos especificada en caso de bloqueo.Specifies the maximum bound on the time to recover the specified database in the event of a crash. target_recovery_time es del tipo int.target_recovery_time is type int.

SECONDSSECONDS
Indica que target_recovery_time se expresa como el número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indica que target_recovery_time se expresa como el número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

Para más información sobre los puntos de control indirectos, consulte Puntos de control de base de datos.For more information about indirect checkpoints, see Database Checkpoints.

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

Especifica el momento en que se revierten las transacciones incompletas cuando la base de datos pasa de un estado a otro.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Si se omite la cláusula de terminación, la instrucción ALTER DATABASE espera indefinidamente a que se produzca un bloqueo en la base de datos.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Solamente se puede especificar una cláusula de terminación y debe seguir a las cláusulas SET.Only one termination clause can be specified, and it follows the SET clauses.

Nota

No todas las opciones de base de datos usan la cláusula WITH <termination>.Not all database options use the WITH <termination> clause. Para más información, vea la tabla ubicada en "Opciones de configuración de la sección "Comentarios" de este artículo.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

Especifica si la operación de reversión se ejecuta transcurrido un número de segundos determinado o de forma inmediata.Specifies whether to roll back after the specified number of seconds or immediately. number es del tipo int.number is type int.

NO_WAITNO_WAIT
Especifica que la solicitud producirá un error si el cambio de opción o estado de la base de datos solicitado no puede completarse inmediatamente.Specifies that the request will fail if the requested database state or option change can't complete immediately. Completarse inmediatamente significa que no se espera a que las transacciones se confirmen o reviertan por su cuenta.Completing immediately means not waiting for transactions to commit or roll back on their own.

Configuración de opcionesSetting options

Para recuperar la configuración actual de las opciones de base de datos, use la vista de catálogo sys.databases o DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Una vez configurada una opción de la base de datos, la nueva configuración surte efecto de inmediato.After you set a database option, the new setting takes effect immediately.

Puede cambiar los valores predeterminados de cualquiera de las opciones de las bases de datos recién creadas.You can change the default values for any one of the database options for all newly created databases. Para ello, cambie la opción adecuada de base de datos en la base de datos de modelo.To do so, change the appropriate database option in the model database.

No todas las opciones de base de datos usan la cláusula WITH <termination> ni se pueden especificar en combinación con otras opciones.Not all database options use the WITH <termination> clause or can be specified in combination with other options. En la siguiente tabla se incluyen estas opciones, su estado y el estado de terminación.The following table lists these options and their option and termination status.

Categoría de opcionesOptions category Se puede especificar con otras opcionesCan be specified with other options Puede usar la cláusula 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 NoNo
<cursor_option><cursor_option> Yes NoNo
<auto_option><auto_option> Yes NoNo
<sql_option><sql_option> Yes NoNo
<recovery_option><recovery_option> Yes NoNo
<target_recovery_time_option><target_recovery_time_option> NoNo Yes
<database_mirroring_option><database_mirroring_option> NoNo NoNo
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NoNo NoNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NoNo Yes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Yes Yes
<service_broker_option><service_broker_option> Yes NoNo
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 NoNo

La memoria caché de planes para la instancia de SQL ServerSQL Server se borra si se establece alguna de las opciones siguientes: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

La caché de planes también se vacía en los escenarios siguientes.The plan cache is also flushed in the following scenarios.

  • Una base de datos tiene la opción de base de datos AUTO_CLOSE establecida en ON.A database has the AUTO_CLOSE database option set to ON. Cuando ninguna conexión de usuario hace referencia a la base de datos ni la usa, la tarea de segundo plano intenta cerrar la base de datos y apagarla de modo automático.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Ejecuta varias consultas con una base de datos que tiene opciones predeterminadas.You run several queries against a database that has default options. Después, la base de datos se quita.Then, the database is dropped.
  • Se quita una instantánea de base de datos para una base de datos de origen.A database snapshot for a source database is dropped.
  • Volvió a generar correctamente el registro de transacciones para una base de datos.You successfully rebuild the transaction log for a database.
  • Restaura una copia de seguridad de una base de datosYou restore a database backup.
  • Separa una base de datos.You detach a database.

Al borrar la memoria caché de planes, se provoca una nueva compilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las consultas.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Para cada almacén de caché borrado de la caché de planes, el registro de errores de SQL ServerSQL Server contiene el siguiente mensaje informativo: "SQL ServerSQL Server ha detectado %d instancias de vaciado del almacén de caché "%s" (parte de la memoria caché de planes) debido a determinadas operaciones de mantenimiento de base de datos o reconfiguración".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". Este mensaje se registra cada cinco minutos siempre que se vacíe la memoria caché dentro de ese intervalo de tiempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

EjemplosExamples

A.A. Configurar opciones en una base de datosSetting options on a database

En el siguiente ejemplo se establece el modelo de recuperación y las opciones de comprobación de páginas de datos para la base de datos de ejemplo 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.B. Establecer la base de datos en READ_ONLYSetting the database to READ_ONLY

El cambio del estado de una base de datos o un grupo de archivos a READ_ONLY o READ_WRITE requiere el acceso exclusivo a la base de datos.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. En el siguiente ejemplo la base de datos se establece en el modo SINGLE_USER para obtener acceso exclusivo.The following example sets the database to SINGLE_USER mode to obtain exclusive access. A continuación, el ejemplo establece el estado de la base de datos AdventureWorks2012AdventureWorks2012 en READ_ONLY y devuelve el acceso a la base de datos a todos los usuarios.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

Nota

En este ejemplo se utiliza la opción de terminación WITH ROLLBACK IMMEDIATE en la primera instrucción ALTER DATABASE .This example uses the termination option WITH ROLLBACK IMMEDIATE in the first ALTER DATABASE statement. Todas las transacciones incompletas se revierten y las restantes conexiones con la base de datos AdventureWorks2012AdventureWorks2012 se desconectan de inmediato.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.C. Habilitar el aislamiento de instantánea en una base de datosEnabling snapshot isolation on a database

En el siguiente ejemplo se habilita la opción del marco de aislamiento de instantánea para la base de datos 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

El conjunto de resultados muestra que el marco de aislamiento de instantánea está habilitado.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.D. Habilitar, modificar y deshabilitar el seguimiento de cambiosEnabling, modifying, and disabling change tracking

En el ejemplo siguiente se habilita el seguimiento de cambios para la base de datos AdventureWorks2012AdventureWorks2012 y se establece el período de retención en 2 días.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);

En el ejemplo siguiente se muestra cómo cambiar el período de retención a 3 días.The following example shows how to change the retention period to 3 days.

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

En el ejemplo siguiente se muestra cómo deshabilitar el seguimiento de cambios para la base de datos AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

E.E. Habilitar el Almacén de consultasEnabling the Query Store

Se aplica a: SQL ServerSQL Server (desde SQL Server 2016 (13.x)SQL Server 2016 (13.x) hasta SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

En el ejemplo siguiente se habilita el Almacén de consultas y configura sus parámetros.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.F. Habilitar el Almacén de consultas con las estadísticas de esperaEnabling the Query Store with wait statistics

Se aplica a: SQL ServerSQL Server (a partir de 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))

En el ejemplo siguiente se habilita el Almacén de consultas y configura sus parámetros.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.G. Habilitar el Almacén de consultas con las opciones de directiva de captura personalizadasEnabling the Query Store with custom capture policy options

Se aplica a: SQL ServerSQL Server (a partir de 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))

En el ejemplo siguiente se habilita el Almacén de consultas y configura sus parámetros.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
      )
    );

Consulte tambiénSee Also

SQL ServerSQL Server *Grupo de bases de datos elásticas o base de datos única de
SQL Database*
 
* SQL Database
single database/elastic pool *
 
Instancia administrada de
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse

 

Grupo de bases de datos elásticas o base de datos única de Azure SQL DatabaseAzure SQL Database single database/elastic pool

Los niveles de compatibilidad son opciones de SET, pero se describe en Nivel de compatibilidad de ALTER DATABASE.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Nota

Es posible configurar muchas opciones SET de la base de datos para la sesión actual mediante Instrucciones SET, aunque generalmente las configuran las aplicaciones al realizar la conexión.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Las opciones SET de nivel de sesión reemplazan a los valores ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Las opciones de base de datos descritas en las secciones siguientes son valores que se pueden establecer para sesiones que no proporcionan de forma explícita otros valores de opciones 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.

SintaxisSyntax

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 = { 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 }

ArgumentosArguments

database_name database_name
Es el nombre de la base de datos que se va a modificar.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT realiza la acción en la base de datos actual.CURRENT runs the action in the current database. CURRENT no se admite para todas las opciones en todos los contextos.CURRENT isn't supported for all options in all contexts. Si CURRENT produce un error, proporcione el nombre de la base de datos.If CURRENT fails, provide the database name.

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

Controla las opciones automáticas.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
El optimizador de consultas crea estadísticas en columnas únicas de los predicados de consulta, según sea necesario, para mejorar los planes de consulta y el rendimiento de las consultas.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estadísticas de columna única se crean cuando el optimizador de consultas las compila.These single-column statistics are created when Query Optimizer compiles queries. Las estadísticas de columna única solamente se crean en las columnas que ya no son la primera columna de un objeto de estadísticas existente.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

El valor predeterminado es ON.The default is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

OFFOFF
El optimizador de consultas no crea las estadísticas en columnas únicas de los predicados de consulta cuando compila las consultas.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_create_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoCreateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Opciones de estadísticas" en Estadísticas.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Establezca AUTO_CREATE_STATISTICS en ON y establezca INCREMENTAL en ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Esta configuración crea automáticamente estadísticas como incrementales siempre que se admitan estadísticas incrementales.This setting creates automatically created stats as incremental whenever incremental stats are supported. El valor predeterminado es OFF.The default value is OFF. Para más información, consulte CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Los archivos de la base de datos se pueden reducir periódicamente.The database files are candidates for periodic shrinking.

Pueden reducirse automáticamente los archivos de datos y los archivos de registro.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduce el tamaño del registro de transacciones solo si establece la base de datos en el modelo de recuperación SIMPLE o si realiza una copia de seguridad del registro.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. Cuando se establece en OFF, los archivos de la base de datos no se reducen de forma automática durante las comprobaciones periódicas del espacio no utilizado.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

La opción AUTO_SHRINK reduce los archivos cuando no se utiliza más de un 25% del espacio del archivo.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. La opción hace que el archivo se reduzca a uno de dos tamaños.The option causes the file to shrink to one of two sizes. Se reduce al que sea más grande de los siguientes:It shrinks to whichever is larger:

  • El tamaño donde el 25 por ciento del archivo es espacio no utilizadoThe size where 25 percent of the file is unused space
  • El tamaño del archivo cuando se creóThe size of the file when it was created

No puede reducir una base de datos de solo lectura.You can't shrink a read-only database.

OFFOFF
Los archivos de la base de datos no se reducen automáticamente durante las comprobaciones periódicas del espacio no utilizado.The database files are not automatically shrunk during periodic checks for unused space.

Para determinar el estado de esta opción, examine la columna is_auto_shrink_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoShrink de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Nota

La opción AUTO_SHRINK no está disponible en una base de datos independiente.The AUTO_SHRINK option isn't available in a contained database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Especifica que el optimizador de consultas actualiza las estadísticas cuando las usa una consulta y puedan estar obsoletas.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Las estadísticas se vuelven obsoletas después de que operaciones de inserción, actualización, eliminación o combinación cambien la distribución de los datos en la tabla o la vista indizada.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Para determinar cuándo las estadísticas pueden quedar obsoletas, el optimizador de consultas cuenta el número de modificaciones de datos desde la actualización más reciente de las estadísticas y compara el número de modificaciones con un umbral.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. El umbral se basa en el número de filas de la tabla o la vista indizada.The threshold is based on the number of rows in the table or indexed view.

El optimizador de consultas comprueba si hay estadísticas obsoletas antes de compilar una consulta y ejecuta un plan de consulta almacenado en caché.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. El optimizador de consultas usa las columnas, tablas y vistas indexadas del predicado de consulta para determinar qué estadísticas podrían estar obsoletas.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. El optimizador de consultas determina esta información antes de compilar una consulta.Query Optimizer determines this information before it compiles a query. Antes de ejecutar un plan de consulta almacenado en caché, Motor de base de datosDatabase Engine comprueba que el plan de consulta haga referencia a las estadísticas actualizadas.Before running a cached query plan, the Motor de base de datosDatabase Engine verifies that the query plan references up-to-date statistics.

La opción AUTO_UPDATE_STATISTICS se aplica a las estadísticas creadas para índices y columnas únicas de los predicados de consulta, así como a las estadísticas creadas con la instrucción 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. Esta opción también se aplica a las estadísticas filtradas.This option also applies to filtered statistics.

El valor predeterminado es ON.The default is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

Utilice la opción AUTO_UPDATE_STATISTICS_ASYNC para especificar si las estadísticas se actualizan sincrónica o asincrónicamente.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Especifica que el optimizador de consultas no actualiza las estadísticas cuando una consulta las usa.Specifies that Query Optimizer doesn't update statistics when they're used by a query. El optimizador de consultas tampoco actualiza las estadísticas cuando podrían estar obsoletas.Query Optimizer also doesn't update statistics when they might be out-of-date. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_update_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoUpdateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Opciones de estadísticas" en Estadísticas.For more information, see the "Statistics options" section in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Especifica que las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son asincrónicas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. El optimizador de consultas no espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

La configuración de esta opción en ON no surte efecto a menos que AUTO_UPDATE_STATISTICS se establezca en ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

De forma predeterminada, la opción AUTO_UPDATE_STATISTICS_ASYNC se establece en OFF y el optimizador de consultas actualiza las estadísticas de manera sincrónica.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Especifica que las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son sincrónicas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. El optimizador de consultas espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas.Query Optimizer waits for statistics updates to complete before it compiles queries.

La configuración de esta opción en OFF no surte efecto a menos que AUTO_UPDATE_STATISTICS esté configurado en ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Para determinar el estado de esta opción, examine la columna is_auto_update_stats_async_on en la vista de catálogo 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.

Para más información sobre cuándo usar las actualizaciones de estadísticas sincrónicas o asincrónicas, vea la sección "Opciones de estadísticas" en Estadísticas.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> ::=
Se aplica a: SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Controla las opciones automáticas para el ajuste automático.Controls automatic options for Automatic tuning.

AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
AUTOAUTO
Si el valor de ajuste automático se establece en AUTO, se aplicarán los valores predeterminados de configuración de Azure al ajuste automático.Setting the Automatic tuning value to AUTO will apply Azure configuration defaults for Automatic tuning.

INHERITINHERIT
Si se usa el valor INHERIT, se hereda la configuración predeterminada del servidor primario.Using the INHERIT value inherits the default configuration from the parent server. Esto es especialmente útil si quiere personalizar la configuración de ajuste automático en un servidor primario y que todas las bases de datos del servidor hereden esta configuración personalizada.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. Tenga en cuenta que, para que la herencia funcione correctamente, las tres opciones de ajuste individuales, FORCE_LAST_GOOD_PLAN, CREATE_INDEX y DROP_INDEX, deben estar configuradas en DEFAULT en las bases de datos.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
Si usa el valor CUSTOM, tendrá que configurar manualmente todas las opciones de ajuste automático disponibles en la base de datos.Using the CUSTOM value, you'll need to custom-configure each of the Automatic Tuning options available on databases.

Habilita o deshabilita la opción CREATE_INDEX de administración de índices automática del ajuste automático.Enables or disables automatic index management CREATE_INDEX option of Automatic tuning.

CREATE_INDEX = { DEFAULT | ON | OFF }CREATE_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Hereda la configuración predeterminada del servidor.Inherits default settings from the server. En este caso, las opciones para habilitar o deshabilitar las características de Ajuste automático individuales están definidas en el nivel de servidor.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Cuando se habilita, se generan automáticamente los índices que faltan en una base de datos.When enabled, missing indexes are automatically generated on a database. Después de la creación del índice, se comprueban las mejoras de rendimiento de la carga de trabajo.Following the index creation, gains to the performance of the workload are verified. Cuando el índice creado ya no proporciona ventajas en el rendimiento de la carga de trabajo, se revierte automáticamente.When such created index no longer provides benefits to the workload performance, it's automatically reverted. Los índices creados automáticamente se marcan como un índice generado por el sistema.Indexes automatically created are flagged as a system generated indexed.

OFFOFF
No genera automáticamente índices que faltan en la base de datos.Doesn't automatically generate missing indexes on the database.

Habilita o deshabilita la opción DROP_INDEX de administración de índices automática del ajuste automático.Enables or disables automatic index management DROP_INDEX option of Automatic Tuning.

DROP_INDEX = { DEFAULT | ON | OFF }DROP_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Hereda la configuración predeterminada del servidor.Inherits default settings from the server. En este caso, las opciones para habilitar o deshabilitar las características de Ajuste automático individuales están definidas en el nivel de servidor.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Quita de forma automática los índices duplicados o que ya no son útiles para la carga de trabajo de rendimiento.Automatically drops duplicate or no longer useful indexes to the performance workload.

OFFOFF
No quita automáticamente índices que faltan en la base de datos.Doesn't automatically drop missing indexes on the database.

Habilita o deshabilita la opción FORCE_LAST_GOOD_PLAN de corrección de planes automática del ajuste automático.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
Hereda la configuración predeterminada del servidor.Inherits default settings from the server. En este caso, las opciones para habilitar o deshabilitar las características de Ajuste automático individuales están definidas en el nivel de servidor.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Motor de base de datosDatabase Engine fuerza automáticamente el último buen plan conocido en las consultas de Transact-SQLTransact-SQL, donde el nuevo plan de consulta provoca regresiones de rendimiento.The Motor de base de datosDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. El parámetro Motor de base de datosDatabase Engine supervisa continuamente el rendimiento de la consulta Transact-SQLTransact-SQL con el plan forzado.The Motor de base de datosDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. Si hay mejoras de rendimiento, el Motor de base de datosDatabase Engine seguirá usando el último buen plan conocido.If there are performance gains, the Motor de base de datosDatabase Engine will keep using last known good plan. Si no se detectan mejoras de rendimiento, Motor de base de datosDatabase Engine generará un nuevo plan de consulta.If performance gains are not detected, the Motor de base de datosDatabase Engine will produce a new query plan. Se producirá un error en la instrucción si el almacén de consultas no está habilitado o si no está en modo de lectura y escritura.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Motor de base de datosDatabase Engine informa de posibles regresiones de rendimiento de consultas provocadas por cambios del plan de consulta en la vista sys.dm_db_tuning_recommendations,The Motor de base de datosDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. aunque estas recomendaciones no se aplican automáticamente.However, these recommendations are not automatically applied. Para supervisar las recomendaciones activas y corregir los problemas identificados, los usuarios pueden aplicar los scripts de Transact-SQLTransact-SQL que se muestran en la vista.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Este es el valor predeterminado.This is the default value.

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

Controla las opciones de seguimiento de cambios.Controls change tracking options. Puede habilitar el seguimiento de cambios, establecer y cambiar opciones, y deshabilitar el seguimiento de cambios.You can enable change tracking, set options, change options, and disable change tracking. Para obtener ejemplos, vea la sección "Ejemplos" más adelante en este artículo.For examples, see the "Examples" section later in this article.

ONON
Habilita el seguimiento de cambios para la base de datos.Enables change tracking for the database. Si habilita el seguimiento de cambios, también puede establecer las opciones AUTO CLEANUP y 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
La información sobre el seguimiento de cambios se quita de forma automática después del período de retención especificado.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Los datos del seguimiento de cambios no se quitan de la base de datos.Change tracking data isn't removed from the database.

CHANGE_RETENTION = período_de_retención { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Especifica el período mínimo para mantener la información del seguimiento de cambios en la base de datos.Specifies the minimum period for keeping change tracking information in the database. Los datos solamente se quitan cuando el valor AUTO_CLEANUP es ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period es un entero que especifica el componente numérico del período de retención.retention_period is an integer that specifies the numerical component of the retention period.

El período de retención predeterminado es de 2 días.The default retention period is 2 days. El período de retención mínimo es de 1 minuto.The minimum retention period is 1 minute. El tipo de retención predeterminado es DAYS.The default retention type is DAYS.

OFFOFF
Deshabilita el seguimiento de cambios para la base de datos.Disables change tracking for the database. Deshabilite el seguimiento de cambios en todas las tablas para poder deshabilitarlo en la base de datos.Disable change tracking on all tables before you disable change tracking off the database.

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

Controla las opciones del cursor.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Todos los cursores abiertos cuando confirma o deshace una transacción se cierran.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Los cursores permanecen abiertos cuando se confirma una transacción. Cuando se revierte se cierran todos los cursores, excepto los que están definidos como INSENSITIVE o STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

La configuración del nivel de conexión, establecida mediante la instrucción SET, invalida la configuración predeterminada de la base de datos para 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. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión que establece CURSOR_CLOSE_ON_COMMIT en OFF para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Para determinar el estado de esta opción, examine la columna is_cursor_close_on_commit_onde la vista de catálogo sys.databases o la propiedad IsCloseCursorsOnCommitEnabled de la función 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. El cursor se desasigna implícitamente solamente cuando se realiza la desconexión.The cursor is implicitly deallocated only at disconnect. Para más información, consulte DECLARE CURSOR.For more information, see DECLARE CURSOR.

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

Controla el estado del cifrado de la base de datos.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Establece que se cifre (ON) o no se cifre (OFF) la base de datos.Sets the database to be encrypted (ON) or not encrypted (OFF). Para más información sobre el cifrado de base de datos, consulte Cifrado de datos transparente y Cifrado de datos transparente con Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Cuando el cifrado está habilitado en el nivel de la base de datos, se cifrarán todos los grupos de archivos.When encryption is enabled at the database level, all file groups will be encrypted. Todos los grupos de archivos nuevos heredarán la propiedad de cifrado.Any new file groups will inherit the encrypted property. Si en la base de datos hay grupos de archivos establecidos en READ ONLY, se producirá un error en la operación de cifrado de la base de datos.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Puede ver el estado del cifrado de la base de datos mediante la vista de administración dinámica 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> ::=

Controla si se permiten las actualizaciones en la base de datos.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Los usuarios pueden leer datos de la base de datos, pero no pueden modificarlos.Users can read data from the database but not modify it.

Nota

Para mejorar el rendimiento de las consultas, actualice las estadísticas antes de establecer una base de datos en READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Si se necesitan estadísticas adicionales después de establecer una base de datos en READ_ONLY, el Motor de base de datosDatabase Engine creará las estadísticas en tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Motor de base de datosDatabase Engine will create statistics in tempdb. Para más información sobre las estadísticas para una base de datos de solo lectura, vea Utilizar las estadísticas para mejorar el rendimiento de las consultas.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
La base de datos está disponible para operaciones de lectura y escritura.The database is available for read and write operations.

Para cambiar este estado, debe tener acceso exclusivo a la base de datos.To change this state, you must have exclusive access to the database. Para obtener más información, vea la cláusula SINGLE_USER.For more information, see the SINGLE_USER clause.

Nota

En las bases de datos federadas de SQL DatabaseSQL Database, SET { READ_ONLY | READ_WRITE } está deshabilitado.On SQL DatabaseSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

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

Controla el acceso del usuario a la base de datos.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Solo permite a los miembros del rol fijo de base de datos db_owner y de los roles fijos de servidor dbcreator y sysadmin conectarse a la base de datos, pero no limita la cantidad de miembros.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. Todas las conexiones a la base de datos se desconectan en el margen de tiempo especificado por la cláusula de terminación de la instrucción ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Una vez que la base de datos ha cambiado al estado RESTRICTED_USER, se rechazan los intentos de conexión por parte de usuarios no cualificados.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER no se puede modificar con Instancia administrada de SQL Database.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Todos los usuarios que tengan los permisos correspondientes pueden conectarse a la base de datos.All users that have the appropriate permissions to connect to the database are allowed.

Para determinar el estado de esta opción, examine la columna user_accessde la vista de catálogo sys.databases o la propiedad UserAccess de la función 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> ::=

Controla si las transacciones se confirman con perdurabilidad total o diferida.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Todas las transacciones tras SET DISABLED son totalmente perdurables.All transactions following SET DISABLED are fully durable. Se omiten las opciones de perdurabilidad que se establecen en un bloque ATOMIC o en una instrucción de confirmación.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Todas las transacciones tras SET ALLOWED son totalmente perdurables o de perdurabilidad diferida, dependiendo de la opción de perdurabilidad establecida en el bloque ATOMIC o instrucción de confirmación.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
Todas las transacciones tras SET FORCED son totalmente perdurables.All transactions following SET FORCED are delayed durable. Se omiten las opciones de perdurabilidad que se establecen en un bloque ATOMIC o en una instrucción de confirmación.Any durability options set in an atomic block or commit statement are ignored.

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

Controla la opción de parametrización.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Las consultas incluyen parámetros en función del comportamiento predeterminado de la base de datos.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server incluye parámetros para todas las consultas de la base de datos.parameterizes all queries in the database.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_parameterization_forced en la vista de catálogo 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 ]
Controla si el almacén de consultas está habilitado en esta base de datos y también controla la eliminación del contenido del almacén de consultas.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

ONON
Habilita el Almacén de consultas.Enables the Query Store.

OFFOFF
Deshabilita el Almacén de consultas.Disables the Query Store. Este es el valor predeterminado.This is the default value.

CLEARCLEAR
Quita el contenido del Almacén de consultas.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Describe el modo de operación del Almacén de consultas.Describes the operation mode of the Query Store. Los valores válidos son READ_ONLY y READ_WRITE.Valid values are READ_ONLY and READ_WRITE. En el modo READ_WRITE, el Almacén de consultas recopila y continúa el plan de consultas y la información de estadística del tiempo de ejecución.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. En el modo READ_ONLY, la información se puede leer del almacén de consultas, pero no se agrega información nueva.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Si se ha agotado el espacio máximo del Almacén de consultas, el Almacén de consultas cambiará el modo de operación a 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
Describe la directiva de retención de datos del Almacén de consultas.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS determina el número de días durante los que se conserva la información de una consulta en el Almacén de consultas.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 es de tipo bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Determina la frecuencia con la que los datos escritos en el Almacén de consultas se conservan en el disco.Determines the frequency at which data written to the Query Store is persisted to disk. Para optimizar el rendimiento, los datos recopilados por el Almacén de consultas se escriben de manera asincrónica en el disco.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. La frecuencia con la que se produce esta transferencia asincrónica se configura mediante el argumento 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 es de tipo bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Determina el espacio asignado al Almacén de consultas.Determines the space allocated to the Query Store. MAX_STORAGE_SIZE_MB es de tipo bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Determina el intervalo de tiempo en el que se agregan los datos de estadísticas de ejecución en tiempo de ejecución al Almacén de consultas.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Para optimizar el uso del espacio, se agregan las estadísticas de ejecución en tiempo de ejecución en el almacén de estadísticas de tiempo de ejecución en una ventana de tiempo fijo.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Esta ventana de tiempo fijo se configura con el argumento INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES es de tipo bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Controla si la limpieza se activará de forma automática cuando la cantidad total de datos se acerque al tamaño máximo.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
La limpieza según el tamaño no se activará automáticamente.Size-based cleanup won't be automatically activated.

AUTOAUTO
La limpieza según el tamaño se activará automáticamente cuando el tamaño en disco alcance el 90 % de max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. La limpieza según el tamaño quita primero las consultas menos caras y más antiguas.Size-based cleanup removes the least expensive and oldest queries first. Se detiene aproximadamente en el 80 % de max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Es el valor de configuración predeterminado.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE es de tipo nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Designa el modo de captura de consulta que está activo:Designates the currently active query capture mode:

ALLALL
Se capturan todas las consultas.All queries are captured.

AUTOAUTO
Captura consultas pertinentes en función del consumo de recursos y el recuento de ejecuciones.Capture relevant queries based on execution count and resource consumption. Es el valor de configuración predeterminado para Base de datos SQL de AzureAzure SQL Database.This is the default configuration value for Base de datos SQL de AzureAzure SQL Database.

NingunoNONE
Detiene la captura de nuevas consultas.Stop capturing new queries. El almacén de consultas seguirá recopilando estadísticas de compilación y tiempo de ejecución para las consultas que ya se han capturado.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use esta configuración con precaución ya que podría omitir la captura de consultas importantes.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE es de tipo nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Entero que representa el número máximo de planes que se tienen para cada consulta.An integer representing the maximum number of plans maintained for each query. El valor predeterminado es 200.Default is 200.

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

Determina el nivel de aislamiento de transacción.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Habilita la opción de instantánea en el nivel de base de datos.Enables Snapshot option at the database level. Cuando se habilita, las instrucciones DML inician la generación de versiones de fila aunque ninguna transacción utilice el aislamiento de instantánea.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Una vez habilitada esta opción, las transacciones pueden especificar el nivel de aislamiento de transacción SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Si se ejecuta una transacción en el nivel de aislamiento SNAPSHOT, todas las instrucciones verán una instantánea de los datos tal como estaban al inicio de la transacción.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. Si una transacción ejecutada en el nivel de aislamiento SNAPSHOT tiene acceso a los datos de varias bases de datos, ALLOW_SNAPSHOT_ISOLATION debe establecerse en ON en todas las bases de datos o cada instrucción de la transacción debe utilizar sugerencias de bloqueo en cualquier referencia de una cláusula FROM a una tabla de una base de datos donde ALLOW_SNAPSHOT_ISOLATION sea 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
Desactiva la opción de instantánea en el nivel de base de datos.Turns off the Snapshot option at the database level. Las transacciones no pueden especificar el nivel de aislamiento de la transacción SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Si se establece ALLOW_SNAPSHOT_ISOLATION en un estado nuevo (de ON a OFF o de OFF a ON), ALTER DATABASE no devuelve el control al autor de la llamada hasta confirmar todas las transacciones existentes de la base de datos.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. Si la base de datos ya se encuentra en el estado especificado en la instrucción ALTER DATABASE, se devuelve de inmediato el control al autor de la llamada.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Use sys.dm_tran_active_snapshot_database_transactions para determinar si hay transacciones de ejecución prolongada si la instrucción ALTER DATABASE no devuelve resultados rápidamente.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. Si se cancela la instrucción ALTER DATABASE, la base de datos permanece en el estado en que estaba al iniciar ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. La vista de catálogo sys.databases indica el estado de las transacciones de aislamiento de instantáneas en la base de datos.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Si snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF se pausará durante seis segundos y reintentará la operación.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

No puede cambiar el estado de ALLOW_SNAPSHOT_ISOLATION si la base de datos está establecida en OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Si establece ALLOW_SNAPSHOT_ISOLATION en una base de datos READ_ONLY, la configuración se mantendrá si la base de datos se establece posteriormente en 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.

Puede cambiar la configuración de ALLOW_SNAPSHOT_ISOLATION para las bases de datos maestra, model, msdb y tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. La configuración se mantiene cada vez que la instancia de Motor de base de datosDatabase Engine se detiene y se reinicia si cambia la configuración para tempdb.The setting is kept every time the instance of the Motor de base de datosDatabase Engine is stopped and restarted if you change the setting for tempdb. Si cambia la configuración para la base de datos model, dicha configuración se convierte en la configuración predeterminada para todas las bases de datos nuevas que se crean, excepto para tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

La opción es ON de forma predeterminada para las bases de datos maestra y msdb.The option is ON, by default, for the master and msdb databases.

El valor actual de esta opción se puede determinar mediante el examen de la columna snapshot_isolation_state en la vista de catálogo 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
Habilita la opción de instantánea de lectura confirmada en el nivel de base de datos.Enables Read-Committed Snapshot option at the database level. Cuando se habilita, las instrucciones DML inician la generación de versiones de fila aunque ninguna transacción utilice el aislamiento de instantánea.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Una vez habilitada esta opción, las transacciones que especifican el nivel de aislamiento READ COMMITTED usan versiones de fila en lugar de bloqueos.Once this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Todas las instrucciones ven una instantánea de los datos tal y como existen al inicio de la instrucción si una transacción se ejecuta en el nivel de aislamiento 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
Desactiva la opción de instantánea de lectura confirmada en el nivel de base de datos.Turns off Read-Committed Snapshot option at the database level. Las transacciones que especifican el nivel de aislamiento READ COMMITTED utilizan el bloqueo.Transactions specifying the READ COMMITTED isolation level use locking.

Para establecer READ_COMMITTED_SNAPSHOT en ON u OFF, no puede haber ninguna conexión activa a la base de datos, excepto la que ejecuta el comando 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. Sin embargo, no es necesario que la base de datos esté en modo de usuario único.However, the database doesn't have to be in single-user mode. No puede cambiar el estado de esta opción si la base de datos está establecida en OFFLINE.You can't change the state of this option when the database is OFFLINE.

Si establece READ_COMMITTED_SNAPSHOT en una base de datos READ_ONLY, la configuración se mantendrá si la base de datos se establece después en 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 no se puede cambiar a ON para las bases de datos maestra, tempdb o msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Si cambia la configuración para model, dicha configuración se convierte en predeterminada para todas las bases de datos creadas, excepto para tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_read_committed_snapshot_on en la vista de catálogo 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.

Advertencia

Cuando se crea una tabla con DURABILITY = SCHEMA_ONLY y posteriormente se cambia READ_COMMITTED_SNAPSHOT con ALTER DATABASE, se pierden los datos de la tabla.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
Cuando el nivel de aislamiento de transacción se establece en uno inferior a SNAPSHOT, todas las operaciones interpretadas de Transact-SQLTransact-SQL en las tablas optimizadas para memoria se ejecutan con aislamiento 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. Los ejemplos de los niveles de aislamiento inferiores a la instantánea son READ COMMITTED o READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Estas operaciones se ejecutan si el nivel de aislamiento de transacción se establece explícitamente en el nivel de sesión o el valor predeterminado se utiliza de forma implícita.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
No eleva el nivel de aislamiento de transacción para las operaciones interpretadas de Transact-SQLTransact-SQL en las tablas optimizadas para memoria.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

No puede cambiar el estado de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT si la base de datos está establecida en OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

El valor predeterminado es OFF.The default value is OFF.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_memory_optimized_elevate_to_snapshot_on en la vista de catálogo 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> ::=

Controla las opciones de cumplimiento con ANSI en el nivel de base de datos.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Determina el valor predeterminado, NULL o NOT NULL, de una columna o del tipo definido por el usuario CLR para los que no se ha definido la nulabilidad explícitamente en las instrucciones CREATE TABLE o ALTER TABLE.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. Las columnas para las que se hayan definido restricciones siguen las reglas de las restricciones, independientemente de esta configuración.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
El valor predeterminado es NULL.The default value is NULL.

OFFOFF
El valor predeterminado es NOT NULL.The default value is NOT NULL.

La configuración del nivel de conexión, establecida mediante la instrucción SET, invalida la configuración predeterminada del nivel de base de datos para ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_NULL_DEFAULT en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Para la compatibilidad con ANSI, si se establece la opción de base de datos ANSI_NULL_DEFAULT en ON, el valor predeterminado cambia a NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Para determinar el estado de esta opción, examine la columna is_ansi_null_default_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiNullDefault de la función 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
Todas las comparaciones con un valor NULL se evalúan como UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Las comparaciones de valores no UNICODE con un valor NULL se evalúan como TRUE si ambos valores son NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Importante

En una versión futura de SQL ServerSQL Server, ANSI_NULLS siempre estará ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_NULLS en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Nota

El valor de SET ANSI_NULLS también debe estar en ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_ansi_nulls_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiNullsEnabled de la función 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
Las cadenas se rellenan a la misma longitud antes de la conversión.Strings are padded to the same length before conversion. También se rellenan hasta la misma longitud antes de la inserción en un tipo de datos varchar o nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Inserta espacios en blanco finales en los valores de caracteres en las columnas varchar o nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. También deja los ceros a la derecha en los valores binarios insertados en columnas varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Los valores no se rellenan hasta completar la longitud de la columna.Values aren't padded to the length of the column.

Si se especifica OFF, esta opción solamente afecta a la definición de las columnas nuevas.When OFF is specified, this setting affects only the definition of new columns.

Importante

En una versión futura de SQL ServerSQL Server, ANSI_PADDING siempre estará en ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Se recomienda establecer siempre ANSI_PADDING en ON.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING también debe estar en ON al crear o tratar índices en columnas calculadas o vistas indizadas.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

char(n) y binary(n) las columnas que admiten valores NULL se rellenan hasta la longitud de la columna cuando ANSI_PADDING se establece en ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Los ceros y los espacios en blanco finales se recortan si ANSI_PADDING es OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Las columnas char(n) y binary(n) que no permiten valores NULL siempre se rellenan hasta completar la longitud de la columna.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada del nivel de base de datos para ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_PADDING en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Para determinar el estado de esta opción, examine la columna is_ansi_padding_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiPaddingEnabled de la función 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
Se emiten errores o advertencias si se dan condiciones tales como la división por cero.Errors or warnings are issued when conditions such as divide-by-zero occur. También se emiten errores y advertencias cuando aparecen valores null en funciones de agregado.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
No se genera ninguna advertencia ni se devuelven valores NULL si se producen condiciones como la división por cero.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Nota

El valor de SET ANSI_WARNINGS debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_WARNINGS en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Para determinar el estado de esta opción, examine la columna is_ansi_warnings_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiWarningsEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Se finaliza una consulta cuando se produce un error de desbordamiento o de división por cero durante su ejecución.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Aparece un mensaje de advertencia cuando se produce uno de estos errores.A warning message is displayed when one of these errors occurs. La consulta, el proceso por lotes o la transacción continúa procesándose como si no se hubiera producido ningún error aunque se muestre una advertencia.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Nota

El valor de SET ARITHABORT debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_arithabort_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsArithmeticAbortEnabled de la función 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 }
Para más información, consulte Nivel de compatibilidad de ALTER DATABASE.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
El resultado de una operación de concatenación es NULL si alguno de los operandos es NULL.The result of a concatenation operation is NULL when either operand is NULL. Por ejemplo, la concatenación de la cadena de caracteres "Esto es" y NULL da como resultado el valor NULL, y no el valor "Esto es".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
El valor NULL se trata como una cadena de caracteres vacía.The null value is treated as an empty character string.

Nota

El valor de CONCAT_NULL_YIELDS_NULL también debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Importante

En una versión futura de SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL siempre estará en ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para 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. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión y establecen CONCAT_NULL_YIELDS_NULL en ON para la sesión al realizar la conexión con una instancia de SQL ServerSQL Server.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. Para más información, consulte SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Para determinar el estado de esta opción, examine la columna is_concat_null_yields_null_on en la vista de catálogo 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. También puede determinar el estado si examina la propiedad IsNullConcat de la función 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
Las comillas dobles se pueden usar para identificadores delimitados.Double quotation marks can be used to enclose delimited identifiers.

Todas las cadenas delimitadas por comillas dobles se interpretan como identificadores de objetos.All strings delimited by double quotation marks are interpreted as object identifiers. Los identificadores entre comillas no tienen que adaptarse a las reglas de Transact-SQLTransact-SQL para identificadores.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Pueden ser palabras clave e incluir caracteres que no se permiten en los identificadores de Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Si una comilla simple (') forma parte de la cadena literal, puede representarse mediante comillas dobles (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Los identificadores no se pueden incluir entre comillas y deben seguir todas las reglas de Transact-SQLTransact-SQL para los identificadores.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Los literales se pueden delimitar con comillas simples o dobles.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server también permite delimitar los identificadores con corchetes ([ ]).also allows for identifiers to be delimited by square brackets ([ ]). Los identificadores entre corchetes pueden usarse siempre, independientemente del valor de QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Para obtener más información, vea Database Identifiers.For more information, see Database Identifiers.

Al crear una tabla, la opción QUOTED IDENTIFIER siempre se almacena como ON en los metadatos de la tabla.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. La opción se almacena incluso si está establecida en OFF al crear la tabla.The option is stored even if the option is set to OFF when the table is created.

La configuración en el nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión estableciendo QUOTED_IDENTIFIER en ON.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Para determinar el estado de esta opción, examine la columna is_quoted_identifier_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsQuotedIdentifiersEnabled de la función 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
Se genera un error cuando se produce una pérdida de precisión en una expresión.An error is generated when loss of precision occurs in an expression.

OFFOFF
Las pérdidas de precisión no generan un mensaje de error y el resultado se redondea con la precisión de la columna o variable que lo almacena.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.

Importante

El valor de NUMERIC_ROUNDABORT debe ser OFF al crear o realizar cambios en índices de columnas calculadas o vistas indizadas.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_numeric_roundabort_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsNumericRoundAbortEnabled de la función 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
Se permite la activación recursiva de desencadenadores AFTER.Recursive firing of AFTER triggers is allowed.

OFFOFF
Para determinar el estado de esta opción, examine la columna is_recursive_triggers_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsRecursiveTriggersEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Nota

La recursividad directa solo se evita cuando RECURSIVE_TRIGGERS se establece en OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Para deshabilitar la recursividad indirecta, también debe establecer la opción de servidor desencadenadores anidados en 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Para determinar el estado de esta opción, examine la columna is_recursive_triggers_onde la vista de catálogo sys.databases o la propiedad IsRecursiveTriggersEnabled de la función 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> ::=

Especifica la frecuencia de puntos de comprobación indirectos por base de datos.Specifies the frequency of indirect checkpoints on a per-database basis. A partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x), el valor predeterminado para nuevas bases de datos es de un minuto, lo cual indica que la base de datos usará puntos de comprobación indirectos.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. Para versiones anteriores, el valor predeterminado es 0, lo cual indica que la base de datos usará puntos de comprobación automáticos, cuya frecuencia depende del valor de intervalo de recuperación de la instancia de servidor.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 recomienda un minuto para la mayoría de los sistemas.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
Especifica el límite máximo de tiempo para recuperar la base de datos especificada en caso de bloqueo.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Indica que target_recovery_time se expresa como el número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indica que target_recovery_time se expresa como el número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

Para más información sobre los puntos de control indirectos, consulte Puntos de control de base de datos.For more information about indirect checkpoints, see Database Checkpoints.

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

Especifica el momento en que se revierten las transacciones incompletas cuando la base de datos pasa de un estado a otro.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Si se omite la cláusula de terminación, la instrucción ALTER DATABASE espera indefinidamente a que se produzca un bloqueo en la base de datos.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Solamente se puede especificar una cláusula de terminación y debe seguir a las cláusulas SET.Only one termination clause can be specified, and it follows the SET clauses.

Nota

No todas las opciones de base de datos usan la cláusula WITH <termination>.Not all database options use the WITH <termination> clause. Para más información, vea la tabla ubicada en "Opciones de configuración de la sección "Comentarios" de este artículo.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
Especifica si la operación de reversión se ejecuta transcurrido un número de segundos determinado o de forma inmediata.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Especifica que la solicitud producirá un error si el cambio de opción o estado de la base de datos solicitado no puede completarse inmediatamente.Specifies that the request will fail if the requested database state or option change can't complete immediately. Completarse inmediatamente significa que no se espera a que las transacciones se confirmen o reviertan por su cuenta.Completing immediately means not waiting for transactions to commit or roll back on their own.

Configuración de opcionesSetting options

Para recuperar la configuración actual de las opciones de base de datos, use la vista de catálogo sys.databases o DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Una vez configurada una opción de la base de datos, la nueva configuración surte efecto de inmediato.After you set a database option, the new setting takes effect immediately.

Puede cambiar los valores predeterminados de cualquiera de las opciones de las bases de datos recién creadas.You can change the default values for any one of the database options for all newly created databases. Para ello, cambie la opción adecuada de base de datos en la base de datos de modelo.To do so, change the appropriate database option in the model database.

No todas las opciones de base de datos usan la cláusula WITH <termination> ni se pueden especificar en combinación con otras opciones.Not all database options use the WITH <termination> clause or can be specified in combination with other options. En la siguiente tabla se incluyen estas opciones, su estado y el estado de terminación.The following table lists these options and their option and termination status.

Categoría de opcionesOptions category Se puede especificar con otras opcionesCan be specified with other options Puede usar la cláusula WITH <termination>Can use the WITH <termination> clause
<auto_option><auto_option> Yes NoNo
<change_tracking_option><change_tracking_option> Yes Yes
<cursor_option><cursor_option> Yes NoNo
<db_encryption_option><db_encryption_option> Yes NoNo
<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 NoNo NoNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NoNo Yes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT Yes Yes
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION Yes Yes
<sql_option><sql_option> Yes NoNo
<target_recovery_time_option><target_recovery_time_option> NoNo Yes

EjemplosExamples

A.A. Establecer la base de datos en READ_ONLYSetting the database to READ_ONLY

El cambio del estado de una base de datos o un grupo de archivos a READ_ONLY o READ_WRITE requiere el acceso exclusivo a la base de datos.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. En el siguiente ejemplo la base de datos se establece en el modo RESTRICTED_USER para limitar el acceso.The following example sets the database to RESTRICTED_USER mode to limit access. A continuación, el ejemplo establece el estado de la base de datos AdventureWorks2012AdventureWorks2012 en READ_ONLY y devuelve el acceso a la base de datos a todos los usuarios.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.B. Habilitar el aislamiento de instantánea en una base de datosEnabling snapshot isolation on a database

En el siguiente ejemplo se habilita la opción del marco de aislamiento de instantánea para la base de datos 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

El conjunto de resultados muestra que el marco de aislamiento de instantánea está habilitado.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.C. Habilitar, modificar y deshabilitar el seguimiento de cambiosEnabling, modifying, and disabling change tracking

En el ejemplo siguiente se habilita el seguimiento de cambios para la base de datos AdventureWorks2012AdventureWorks2012 y se establece el período de retención en 2 días.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);

En el ejemplo siguiente se muestra cómo cambiar el período de retención a 3 días.The following example shows how to change the retention period to 3 days.

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

En el ejemplo siguiente se muestra cómo deshabilitar el seguimiento de cambios para la base de datos AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D.D. Habilitar el Almacén de consultasEnabling the Query Store

En el ejemplo siguiente se habilita el Almacén de consultas y configura los parámetros del Almacén de consultas.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
    );

Consulte tambiénSee Also

SQL ServerSQL Server Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
* Instancia administrada de
SQL Database *
 
* SQL Database
managed instance *
 
SQL Data
Warehouse
SQL Data
Warehouse

 

Instancia administrada de Azure SQL DatabaseAzure SQL Database managed instance

Los niveles de compatibilidad son opciones de SET, pero se describe en Nivel de compatibilidad de ALTER DATABASE.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Nota

Es posible configurar muchas opciones SET de la base de datos para la sesión actual mediante Instrucciones SET, aunque generalmente las configuran las aplicaciones al realizar la conexión.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Las opciones SET de nivel de sesión reemplazan a los valores ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Las opciones de base de datos descritas en las secciones siguientes son valores que se pueden establecer para sesiones que no proporcionan de forma explícita otros valores de opciones 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.

SintaxisSyntax

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 = { 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 }

ArgumentosArguments

database_name database_name
Es el nombre de la base de datos que se va a modificar.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT realiza la acción en la base de datos actual.CURRENT runs the action in the current database. CURRENT no se admite para todas las opciones en todos los contextos.CURRENT isn't supported for all options in all contexts. Si CURRENT produce un error, proporcione el nombre de la base de datos.If CURRENT fails, provide the database name.

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

Controla las opciones automáticas.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
El optimizador de consultas crea estadísticas en columnas únicas de los predicados de consulta, según sea necesario, para mejorar los planes de consulta y el rendimiento de las consultas.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estadísticas de columna única se crean cuando el optimizador de consultas las compila.These single-column statistics are created when Query Optimizer compiles queries. Las estadísticas de columna única solamente se crean en las columnas que ya no son la primera columna de un objeto de estadísticas existente.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

El valor predeterminado es ON.The default is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

OFFOFF
El optimizador de consultas no crea las estadísticas en columnas únicas de los predicados de consulta cuando compila las consultas.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_create_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoCreateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Opciones de estadísticas" en Estadísticas.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Establezca AUTO_CREATE_STATISTICS en ON y establezca INCREMENTAL en ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Esta configuración crea automáticamente estadísticas como incrementales siempre que se admitan estadísticas incrementales.This setting creates automatically created stats as incremental whenever incremental stats are supported. El valor predeterminado es OFF.The default value is OFF. Para más información, consulte CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Los archivos de la base de datos se pueden reducir periódicamente.The database files are candidates for periodic shrinking.

Pueden reducirse automáticamente los archivos de datos y los archivos de registro.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduce el tamaño del registro de transacciones solo si establece la base de datos en el modelo de recuperación SIMPLE o si realiza una copia de seguridad del registro.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. Cuando se establece en OFF, los archivos de la base de datos no se reducen de forma automática durante las comprobaciones periódicas del espacio no utilizado.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

La opción AUTO_SHRINK reduce los archivos cuando no se utiliza más de un 25% del espacio del archivo.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. La opción hace que el archivo se reduzca a uno de dos tamaños.The option causes the file to shrink to one of two sizes. Se reduce al que sea más grande de los siguientes:It shrinks to whichever is larger:

  • El tamaño donde el 25 por ciento del archivo es espacio no utilizadoThe size where 25 percent of the file is unused space
  • El tamaño del archivo cuando se creóThe size of the file when it was created

No puede reducir una base de datos de solo lectura.You can't shrink a read-only database.

OFFOFF
Los archivos de la base de datos no se reducen automáticamente durante las comprobaciones periódicas del espacio no utilizado.The database files are not automatically shrunk during periodic checks for unused space.

Para determinar el estado de esta opción, examine la columna is_auto_shrink_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoShrink de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Nota

La opción AUTO_SHRINK no está disponible en una base de datos independiente.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Especifica que el optimizador de consultas actualiza las estadísticas cuando las usa una consulta y puedan estar obsoletas.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Las estadísticas se vuelven obsoletas después de que operaciones de inserción, actualización, eliminación o combinación cambien la distribución de los datos en la tabla o la vista indizada.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. Para determinar cuándo las estadísticas pueden quedar obsoletas, el optimizador de consultas cuenta el número de modificaciones de datos desde la actualización más reciente de las estadísticas y compara el número de modificaciones con un umbral.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. El umbral se basa en el número de filas de la tabla o la vista indizada.The threshold is based on the number of rows in the table or indexed view.

El optimizador de consultas comprueba si hay estadísticas obsoletas antes de compilar una consulta y ejecuta un plan de consulta almacenado en caché.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. El optimizador de consultas usa las columnas, tablas y vistas indexadas del predicado de consulta para determinar qué estadísticas podrían estar obsoletas.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. El optimizador de consultas determina esta información antes de compilar una consulta.Query Optimizer determines this information before it compiles a query. Antes de ejecutar un plan de consulta almacenado en caché, Motor de base de datosDatabase Engine comprueba que el plan de consulta haga referencia a las estadísticas actualizadas.Before running a cached query plan, the Motor de base de datosDatabase Engine verifies that the query plan references up-to-date statistics.

La opción AUTO_UPDATE_STATISTICS se aplica a las estadísticas creadas para índices y columnas únicas de los predicados de consulta, así como a las estadísticas creadas con la instrucción 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. Esta opción también se aplica a las estadísticas filtradas.This option also applies to filtered statistics.

El valor predeterminado es ON.The default is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

Utilice la opción AUTO_UPDATE_STATISTICS_ASYNC para especificar si las estadísticas se actualizan sincrónica o asincrónicamente.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Especifica que el optimizador de consultas no actualiza las estadísticas cuando una consulta las usa.Specifies that Query Optimizer doesn't update statistics when they're used by a query. El optimizador de consultas tampoco actualiza las estadísticas cuando podrían estar obsoletas.Query Optimizer also doesn't update statistics when they might be out-of-date. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_update_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoUpdateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Uso de las opciones de estadísticas de toda la base de datos" de Estadísticas.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
Especifica que las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son asincrónicas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. El optimizador de consultas no espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

La configuración de esta opción en ON no surte efecto a menos que AUTO_UPDATE_STATISTICS se establezca en ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

De forma predeterminada, la opción AUTO_UPDATE_STATISTICS_ASYNC se establece en OFF y el optimizador de consultas actualiza las estadísticas de manera sincrónica.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Especifica que las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son sincrónicas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. El optimizador de consultas espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas.Query Optimizer waits for statistics updates to complete before it compiles queries.

La configuración de esta opción en OFF no surte efecto a menos que AUTO_UPDATE_STATISTICS esté configurado en ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Para determinar el estado de esta opción, examine la columna is_auto_update_stats_async_on en la vista de catálogo 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.

Para obtener más información sobre cuándo usar las actualizaciones de estadísticas sincrónicas o asincrónicas, vea la sección "Uso de las opciones de estadísticas de toda la base de datos" de Estadísticas.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> ::=
Se aplica a: SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Habilita o deshabilita la opción Ajuste automático de 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
Motor de base de datosDatabase Engine fuerza automáticamente el último buen plan conocido en las consultas de Transact-SQLTransact-SQL, donde el nuevo plan de consulta provoca regresiones de rendimiento.The Motor de base de datosDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. El parámetro Motor de base de datosDatabase Engine supervisa continuamente el rendimiento de la consulta Transact-SQLTransact-SQL con el plan forzado.The Motor de base de datosDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. Si hay mejoras de rendimiento, el Motor de base de datosDatabase Engine seguirá usando el último buen plan conocido.If there are performance gains, the Motor de base de datosDatabase Engine will keep using last known good plan. Si no se detectan mejoras de rendimiento, Motor de base de datosDatabase Engine generará un nuevo plan de consulta.If performance gains are not detected, the Motor de base de datosDatabase Engine will produce a new query plan. Se producirá un error en la instrucción si el almacén de consultas no está habilitado o si no está en modo de lectura y escritura.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Motor de base de datosDatabase Engine informa de posibles regresiones de rendimiento de consultas provocadas por cambios del plan de consulta en la vista sys.dm_db_tuning_recommendations,The Motor de base de datosDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. aunque estas recomendaciones no se aplican automáticamente.However, these recommendations are not automatically applied. Para supervisar las recomendaciones activas y corregir los problemas identificados, los usuarios pueden aplicar los scripts de Transact-SQLTransact-SQL que se muestran en la vista.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Este es el valor predeterminado.This is the default value.

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

Controla las opciones de seguimiento de cambios.Controls change tracking options. Puede habilitar el seguimiento de cambios, establecer y cambiar opciones, y deshabilitar el seguimiento de cambios.You can enable change tracking, set options, change options, and disable change tracking. Para obtener ejemplos, vea la sección "Ejemplos" más adelante en este artículo.For examples, see the "Examples" section later in this article.

ONON
Habilita el seguimiento de cambios para la base de datos.Enables change tracking for the database. Si habilita el seguimiento de cambios, también puede establecer las opciones AUTO CLEANUP y 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
La información sobre el seguimiento de cambios se quita de forma automática después del período de retención especificado.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Los datos del seguimiento de cambios no se quitan de la base de datos.Change tracking data isn't removed from the database.

CHANGE_RETENTION = período_de_retención { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Especifica el período mínimo para mantener la información del seguimiento de cambios en la base de datos.Specifies the minimum period for keeping change tracking information in the database. Los datos solamente se quitan cuando el valor AUTO_CLEANUP es ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period es un entero que especifica el componente numérico del período de retención.retention_period is an integer that specifies the numerical component of the retention period.

El período de retención predeterminado es de 2 días.The default retention period is 2 days. El período de retención mínimo es de 1 minuto.The minimum retention period is 1 minute. El tipo de retención predeterminado es DAYS.The default retention type is DAYS.

OFFOFF
Deshabilita el seguimiento de cambios para la base de datos.Disables change tracking for the database. Deshabilite el seguimiento de cambios en todas las tablas para poder deshabilitarlo en la base de datos.Disable change tracking on all tables before you disable change tracking off the database.

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

Controla las opciones del cursor.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Todos los cursores abiertos cuando confirma o deshace una transacción se cierran.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Los cursores permanecen abiertos cuando se confirma una transacción. Cuando se revierte se cierran todos los cursores, excepto los que están definidos como INSENSITIVE o STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

La configuración del nivel de conexión, establecida mediante la instrucción SET, invalida la configuración predeterminada de la base de datos para 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. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión que establece CURSOR_CLOSE_ON_COMMIT en OFF para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Para determinar el estado de esta opción, examine la columna is_cursor_close_on_commit_on de la vista de catálogo sys.databases o la propiedad IsCloseCursorsOnCommitEnabled de la función 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. El cursor se desasigna implícitamente solamente cuando se realiza la desconexión.The cursor is implicitly deallocated only at disconnect. Para más información, consulte DECLARE CURSOR.For more information, see DECLARE CURSOR.

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

Controla el estado del cifrado de la base de datos.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Establece que se cifre (ON) o no se cifre (OFF) la base de datos.Sets the database to be encrypted (ON) or not encrypted (OFF). Para más información sobre el cifrado de base de datos, consulte Cifrado de datos transparente y Cifrado de datos transparente con Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Cuando el cifrado está habilitado en el nivel de la base de datos, se cifrarán todos los grupos de archivos.When encryption is enabled at the database level, all file groups will be encrypted. Todos los grupos de archivos nuevos heredarán la propiedad de cifrado.Any new file groups will inherit the encrypted property. Si en la base de datos hay grupos de archivos establecidos en READ ONLY, se producirá un error en la operación de cifrado de la base de datos.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Puede ver el estado del cifrado de la base de datos mediante la vista de administración dinámica 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> ::=

Controla si se permiten las actualizaciones en la base de datos.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Los usuarios pueden leer datos de la base de datos, pero no pueden modificarlos.Users can read data from the database but not modify it.

Nota

Para mejorar el rendimiento de las consultas, actualice las estadísticas antes de establecer una base de datos en READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Si se necesitan estadísticas adicionales después de establecer una base de datos en READ_ONLY, el Motor de base de datosDatabase Engine creará las estadísticas en tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Motor de base de datosDatabase Engine will create statistics in tempdb. Para más información sobre las estadísticas para una base de datos de solo lectura, vea Utilizar las estadísticas para mejorar el rendimiento de las consultas.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
La base de datos está disponible para operaciones de lectura y escritura.The database is available for read and write operations.

Para cambiar este estado, debe tener acceso exclusivo a la base de datos.To change this state, you must have exclusive access to the database.

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

Controla el acceso del usuario a la base de datos.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Solo permite a los miembros del rol fijo de base de datos db_owner y de los roles fijos de servidor dbcreator y sysadmin conectarse a la base de datos, pero no limita la cantidad de miembros.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. Todas las conexiones a la base de datos se desconectan en el margen de tiempo especificado por la cláusula de terminación de la instrucción ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Una vez que la base de datos ha cambiado al estado RESTRICTED_USER, se rechazan los intentos de conexión por parte de usuarios no cualificados.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER no se puede modificar con Instancia administrada de SQL Database.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Todos los usuarios que tengan los permisos correspondientes pueden conectarse a la base de datos.All users that have the appropriate permissions to connect to the database are allowed.

Para determinar el estado de esta opción, examine la columna user_access de la vista de catálogo sys.databases o la propiedad UserAccess de la función 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> ::=

Controla si las transacciones se confirman con perdurabilidad total o diferida.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Todas las transacciones tras SET DISABLED son totalmente perdurables.All transactions following SET DISABLED are fully durable. Se omiten las opciones de perdurabilidad que se establecen en un bloque ATOMIC o en una instrucción de confirmación.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Todas las transacciones tras SET ALLOWED son totalmente perdurables o de perdurabilidad diferida, dependiendo de la opción de perdurabilidad establecida en el bloque ATOMIC o instrucción de confirmación.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 Todas las transacciones tras SET FORCED son totalmente perdurables.FORCED All transactions following SET FORCED are delayed durable. Se omiten las opciones de perdurabilidad que se establecen en un bloque ATOMIC o en una instrucción de confirmación.Any durability options set in an atomic block or commit statement are ignored.

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

Controla la opción de parametrización.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Las consultas incluyen parámetros en función del comportamiento predeterminado de la base de datos.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server incluye parámetros para todas las consultas de la base de datos.parameterizes all queries in the database.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_parameterization_forced en la vista de catálogo 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 ]
Controla si el almacén de consultas está habilitado en esta base de datos y también controla la eliminación del contenido del almacén de consultas.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

ONON
Habilita el Almacén de consultas.Enables the Query Store.

OFFOFF
Deshabilita el Almacén de consultas.Disables the Query Store. Este es el valor predeterminado.This is the default value.

CLEARCLEAR
Quita el contenido del Almacén de consultas.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Describe el modo de operación del Almacén de consultas.Describes the operation mode of the Query Store. Los valores válidos son READ_ONLY y READ_WRITE.Valid values are READ_ONLY and READ_WRITE. En el modo READ_WRITE, el Almacén de consultas recopila y continúa el plan de consultas y la información de estadística del tiempo de ejecución.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. En el modo READ_ONLY, la información se puede leer del almacén de consultas, pero no se agrega información nueva.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Si se ha agotado el espacio máximo del Almacén de consultas, el Almacén de consultas cambiará el modo de operación a 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
Describe la directiva de retención de datos del Almacén de consultas.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS determina el número de días durante los que se conserva la información de una consulta en el Almacén de consultas.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 es de tipo bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Determina la frecuencia con la que los datos escritos en el Almacén de consultas se conservan en el disco.Determines the frequency at which data written to the Query Store is persisted to disk. Para optimizar el rendimiento, los datos recopilados por el Almacén de consultas se escriben de manera asincrónica en el disco.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. La frecuencia con la que se produce esta transferencia asincrónica se configura mediante el argumento 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 es de tipo bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Determina el espacio asignado al Almacén de consultas.Determines the space allocated to the Query Store. MAX_STORAGE_SIZE_MB es de tipo bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Determina el intervalo de tiempo en el que se agregan los datos de estadísticas de ejecución en tiempo de ejecución al Almacén de consultas.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Para optimizar el uso del espacio, se agregan las estadísticas de ejecución en tiempo de ejecución en el almacén de estadísticas de tiempo de ejecución en una ventana de tiempo fijo.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Esta ventana de tiempo fijo se configura con el argumento INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES es de tipo bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Controla si la limpieza se activará de forma automática cuando la cantidad total de datos se acerque al tamaño máximo.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
La limpieza según el tamaño no se activará automáticamente.Size-based cleanup won't be automatically activated.

AUTOAUTO
La limpieza según el tamaño se activará automáticamente cuando el tamaño en disco alcance el 90 % de max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. La limpieza según el tamaño quita primero las consultas menos caras y más antiguas.Size-based cleanup removes the least expensive and oldest queries first. Se detiene aproximadamente en el 80 % de max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Es el valor de configuración predeterminado.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE es de tipo nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Designa el modo de captura de consulta que está activo.Designates the currently active query capture mode.

ALLALL
Se capturan todas las consultas.All queries are captured.

AUTOAUTO
Captura consultas pertinentes en función del consumo de recursos y el recuento de ejecuciones.Capture relevant queries based on execution count and resource consumption. Es el valor de configuración predeterminado para Base de datos SQL de AzureAzure SQL Database.This is the default configuration value for Base de datos SQL de AzureAzure SQL Database.

NingunoNONE
Detiene la captura de nuevas consultas.Stop capturing new queries. El almacén de consultas seguirá recopilando estadísticas de compilación y tiempo de ejecución para las consultas que ya se han capturado.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use esta configuración con precaución ya que podría omitir la captura de consultas importantes.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE es de tipo nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Entero que representa el número máximo de planes que se tienen para cada consulta.An integer representing the maximum number of plans maintained for each query. El valor predeterminado es 200.Default is 200.

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

Determina el nivel de aislamiento de transacción.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Habilita la opción de instantánea en el nivel de base de datos.Enables the Snapshot option at the database level. Cuando se habilita, las instrucciones DML inician la generación de versiones de fila aunque ninguna transacción utilice el aislamiento de instantánea.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Una vez habilitada esta opción, las transacciones pueden especificar el nivel de aislamiento de transacción SNAPSHOT.After this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Si se ejecuta una transacción en el nivel de aislamiento SNAPSHOT, todas las instrucciones verán una instantánea de los datos tal como estaban al inicio de la transacción.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. Si una transacción ejecutada en el nivel de aislamiento SNAPSHOT tiene acceso a los datos de varias bases de datos, ALLOW_SNAPSHOT_ISOLATION debe establecerse en ON en todas las bases de datos o cada instrucción de la transacción debe utilizar sugerencias de bloqueo en cualquier referencia de una cláusula FROM a una tabla de una base de datos donde ALLOW_SNAPSHOT_ISOLATION sea 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
Desactiva la opción de instantánea en el nivel de base de datos.Turns off the Snapshot option at the database level. Las transacciones no pueden especificar el nivel de aislamiento de la transacción SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Si se establece ALLOW_SNAPSHOT_ISOLATION en un estado nuevo (de ON a OFF o de OFF a ON), ALTER DATABASE no devuelve el control al autor de la llamada hasta confirmar todas las transacciones existentes de la base de datos.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. Si la base de datos ya se encuentra en el estado especificado en la instrucción ALTER DATABASE, se devuelve de inmediato el control al autor de la llamada.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Use sys.dm_tran_active_snapshot_database_transactions para determinar si hay transacciones de ejecución prolongada si la instrucción ALTER DATABASE no devuelve resultados rápidamente.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. Si se cancela la instrucción ALTER DATABASE, la base de datos permanece en el estado en que estaba al iniciar ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. La vista de catálogo sys.databases indica el estado de las transacciones de aislamiento de instantáneas en la base de datos.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Si snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF se pausará durante seis segundos y reintentará la operación.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

No puede cambiar el estado de ALLOW_SNAPSHOT_ISOLATION si la base de datos está establecida en OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Si establece ALLOW_SNAPSHOT_ISOLATION en una base de datos READ_ONLY, la configuración se mantendrá si la base de datos se establece posteriormente en 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.

Puede cambiar la configuración de ALLOW_SNAPSHOT_ISOLATION para las bases de datos maestra, model, msdb y tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. La configuración se mantiene cada vez que la instancia de Motor de base de datosDatabase Engine se detiene y se reinicia si cambia la configuración para tempdb.The setting is kept every time the instance of the Motor de base de datosDatabase Engine is stopped and restarted if you change the setting for tempdb. Si cambia la configuración para la base de datos model, dicha configuración se convierte en la configuración predeterminada para todas las bases de datos nuevas que se crean, excepto para tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

La opción es ON de forma predeterminada para las bases de datos maestra y msdb.The option is ON, by default, for the master and msdb databases.

El valor actual de esta opción se puede determinar mediante el examen de la columna snapshot_isolation_state en la vista de catálogo 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
Habilita la opción Instantánea de lectura confirmada en el nivel de base de datos.Enables the Read-Committed Snapshot option at the database level. Cuando se habilita, las instrucciones DML inician la generación de versiones de fila aunque ninguna transacción utilice el aislamiento de instantánea.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Una vez habilitada esta opción, las transacciones que especifican el nivel de aislamiento READ COMMITTED usan versiones de fila en lugar de bloqueos.After this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Todas las instrucciones ven una instantánea de los datos tal y como existen al inicio de la instrucción si una transacción se ejecuta en el nivel de aislamiento 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
Desactiva la opción de instantánea de lectura confirmada en el nivel de base de datos.Turns off the Read-Committed Snapshot option at the database level. Las transacciones que especifican el nivel de aislamiento READ COMMITTED utilizan el bloqueo.Transactions specifying the READ COMMITTED isolation level use locking.

Para establecer READ_COMMITTED_SNAPSHOT en ON u OFF, no puede haber ninguna conexión activa a la base de datos, excepto la que ejecuta el comando 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. Sin embargo, no es necesario que la base de datos esté en modo de usuario único.However, the database doesn't have to be in single-user mode. No puede cambiar el estado de esta opción si la base de datos está establecida en OFFLINE.You can't change the state of this option when the database is OFFLINE.

Si establece READ_COMMITTED_SNAPSHOT en una base de datos READ_ONLY, la configuración se mantendrá si la base de datos se establece después en 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 no se puede cambiar a ON para las bases de datos maestra, tempdb o msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Si cambia la configuración para model, dicha configuración se convierte en predeterminada para todas las bases de datos creadas, excepto para tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_read_committed_snapshot_on en la vista de catálogo 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.

Advertencia

Cuando se crea una tabla con DURABILITY = SCHEMA_ONLY y posteriormente se cambia READ_COMMITTED_SNAPSHOT mediante ALTER DATABASE, se pierden los datos de la tabla.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
Cuando el nivel de aislamiento de transacción se establece en uno inferior a SNAPSHOT, todas las operaciones interpretadas de Transact-SQLTransact-SQL en las tablas optimizadas para memoria se ejecutan con aislamiento 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. Los ejemplos de los niveles de aislamiento inferiores a la instantánea son READ COMMITTED o READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Estas operaciones se ejecutan si el nivel de aislamiento de transacción se establece explícitamente en el nivel de sesión o el valor predeterminado se utiliza de forma implícita.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
No eleva el nivel de aislamiento de transacción para las operaciones interpretadas de Transact-SQLTransact-SQL en las tablas optimizadas para memoria.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

No puede cambiar el estado de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT si la base de datos está establecida en OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

El valor predeterminado es OFF.The default value is OFF.

El valor actual de esta opción se puede determinar mediante el examen de la columna is_memory_optimized_elevate_to_snapshot_on en la vista de catálogo 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> ::=

Controla las opciones de cumplimiento con ANSI en el nivel de base de datos.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Determina el valor predeterminado, NULL o NOT NULL, de una columna o del tipo definido por el usuario CLR para los que no se ha definido la nulabilidad explícitamente en las instrucciones CREATE TABLE o ALTER TABLE.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. Las columnas para las que se hayan definido restricciones siguen las reglas de las restricciones, independientemente de esta configuración.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
El valor predeterminado es NULL.The default value is NULL.

OFFOFF
El valor predeterminado es NOT NULL.The default value is NOT NULL.

La configuración del nivel de conexión, establecida mediante la instrucción SET, invalida la configuración predeterminada del nivel de base de datos para ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_NULL_DEFAULT en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Para la compatibilidad con ANSI, si se establece la opción de base de datos ANSI_NULL_DEFAULT en ON, el valor predeterminado cambia a NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Para determinar el estado de esta opción, examine la columna is_ansi_null_default_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiNullDefault de la función 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
Todas las comparaciones con un valor NULL se evalúan como UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Las comparaciones de valores no UNICODE con un valor NULL se evalúan como TRUE si ambos valores son NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Importante

En una versión futura de SQL ServerSQL Server, ANSI_NULLS siempre estará ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_NULLS en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Importante

El valor de SET ANSI_NULLS también debe estar en ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_ansi_nulls_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiNullsEnabled de la función 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
Las cadenas se rellenan a la misma longitud antes de la conversión.Strings are padded to the same length before conversion. También se rellenan hasta la misma longitud antes de la inserción en un tipo de datos varchar o nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Inserta espacios en blanco finales en los valores de caracteres en las columnas varchar o nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. También deja los ceros a la derecha en los valores binarios insertados en columnas varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Los valores no se rellenan hasta completar la longitud de la columna.Values aren't padded to the length of the column.

Si se especifica OFF, esta opción solamente afecta a la definición de las columnas nuevas.When OFF is specified, this setting affects only the definition of new columns.

Importante

En una versión futura de SQL ServerSQL Server, ANSI_PADDING siempre estará en ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Se recomienda establecer siempre ANSI_PADDING en ON.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING también debe estar en ON al crear o tratar índices en columnas calculadas o vistas indizadas.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

char(n) y binary(n) las columnas que admiten valores NULL se rellenan hasta la longitud de la columna cuando ANSI_PADDING se establece en ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Los ceros y los espacios en blanco finales se recortan si ANSI_PADDING es OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Las columnas char(n) y binary(n) que no permiten valores NULL siempre se rellenan hasta completar la longitud de la columna.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada del nivel de base de datos para ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_PADDING en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Para determinar el estado de esta opción, examine la columna is_ansi_padding_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiPaddingEnabled de la función 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
Se emiten errores o advertencias si se dan condiciones tales como la división por cero.Errors or warnings are issued when conditions such as divide-by-zero occur. También se emiten errores y advertencias cuando aparecen valores null en funciones de agregado.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
No se genera ninguna advertencia ni se devuelven valores NULL si se producen condiciones como la división por cero.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Importante

El valor de SET ANSI_WARNINGS debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión mediante el establecimiento de ANSI_WARNINGS en ON para la sesión.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Para determinar el estado de esta opción, examine la columna is_ansi_warnings_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAnsiWarningsEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Se finaliza una consulta cuando se produce un error de desbordamiento o de división por cero durante su ejecución.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Aparece un mensaje de advertencia cuando se produce uno de estos errores.A warning message is displayed when one of these errors occurs. La consulta, el proceso por lotes o la transacción continúa procesándose como si no se hubiera producido ningún error aunque se muestre una advertencia.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Importante

El valor de SET ARITHABORT debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_arithabort_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsArithmeticAbortEnabled de la función 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 }
Para más información, consulte Nivel de compatibilidad de ALTER DATABASE.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
El resultado de una operación de concatenación es NULL si alguno de los operandos es NULL.The result of a concatenation operation is NULL when either operand is NULL. Por ejemplo, la concatenación de la cadena de caracteres "Esto es" y NULL da como resultado el valor NULL, y no el valor "Esto es".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
El valor NULL se trata como una cadena de caracteres vacía.The null value is treated as an empty character string.

Importante

El valor de CONCAT_NULL_YIELDS_NULL también debe ser ON al crear o realizar cambios en los índices en columnas calculadas o vistas indizadas.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Importante

En una versión futura de SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL siempre estará en ON y cualquier aplicación que establezca explícitamente la opción en OFF producirá un error.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. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

La configuración del nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para 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. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión y establecen CONCAT_NULL_YIELDS_NULL en ON para la sesión al realizar la conexión con una instancia de SQL ServerSQL Server.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. Para más información, consulte SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Para determinar el estado de esta opción, examine la columna is_concat_null_yields_null_on en la vista de catálogo 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. También puede determinar el estado si examina la propiedad IsNullConcat de la función 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
Las comillas dobles se pueden usar para identificadores delimitados.Double quotation marks can be used to enclose delimited identifiers.

Todas las cadenas delimitadas por comillas dobles se interpretan como identificadores de objetos.All strings delimited by double quotation marks are interpreted as object identifiers. Los identificadores entre comillas no tienen que adaptarse a las reglas de Transact-SQLTransact-SQL para identificadores.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Pueden ser palabras clave e incluir caracteres que no se permiten en los identificadores de Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Si una comilla simple (') forma parte de la cadena literal, puede representarse mediante comillas dobles (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Los identificadores no se pueden incluir entre comillas y deben seguir todas las reglas de Transact-SQLTransact-SQL para los identificadores.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Los literales se pueden delimitar con comillas simples o dobles.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server también permite delimitar los identificadores con corchetes ([ ]).also allows for identifiers to be delimited by square brackets ([ ]). Los identificadores entre corchetes pueden usarse siempre, independientemente del valor de QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Para obtener más información, vea Database Identifiers.For more information, see Database Identifiers.

Al crear una tabla, la opción QUOTED IDENTIFIER siempre se almacena como ON en los metadatos de la tabla.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. La opción se almacena incluso si está establecida en OFF al crear la tabla.The option is stored even if the option is set to OFF when the table is created.

La configuración en el nivel de conexión establecida mediante la instrucción SET invalida la configuración predeterminada de la base de datos para QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. De forma predeterminada, los clientes ODBC y OLE DB generan una instrucción SET en el nivel de conexión estableciendo QUOTED_IDENTIFIER en ON.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Los clientes ejecutan la instrucción cuando se conecta a una instancia de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para más información, consulte SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Para determinar el estado de esta opción, examine la columna is_quoted_identifier_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsQuotedIdentifiersEnabled de la función 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
Se genera un error cuando se produce una pérdida de precisión en una expresión.An error is generated when loss of precision occurs in an expression.

OFFOFF
Las pérdidas de precisión no generan un mensaje de error y el resultado se redondea con la precisión de la columna o variable que lo almacena.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.

Importante

El valor de NUMERIC_ROUNDABORT debe ser OFF al crear o realizar cambios en índices de columnas calculadas o vistas indizadas.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Para determinar el estado de esta opción, examine la columna is_numeric_roundabort_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsNumericRoundAbortEnabled de la función 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
Se permite la activación recursiva de desencadenadores AFTER.Recursive firing of AFTER triggers is allowed.

OFFOFF
Para determinar el estado de esta opción, examine la columna is_recursive_triggers_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsRecursiveTriggersEnabled de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Nota

La recursividad directa solo se evita cuando RECURSIVE_TRIGGERS se establece en OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Para deshabilitar la recursividad indirecta, también debe establecer la opción de servidor desencadenadores anidados en 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Para determinar el estado de esta opción, examine la columna is_recursive_triggers_onde la vista de catálogo sys.databases o la propiedad IsRecursiveTriggersEnabled de la función 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> ::=

Especifica la frecuencia de puntos de comprobación indirectos por base de datos.Specifies the frequency of indirect checkpoints on a per-database basis. A partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x), el valor predeterminado para nuevas bases de datos es de un minuto, lo cual indica que la base de datos usará puntos de comprobación indirectos.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. Para versiones anteriores, el valor predeterminado es 0, lo cual indica que la base de datos usará puntos de comprobación automáticos, cuya frecuencia depende del valor de intervalo de recuperación de la instancia de servidor.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 recomienda un minuto para la mayoría de los sistemas.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
Especifica el límite máximo de tiempo para recuperar la base de datos especificada en caso de bloqueo.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Indica que target_recovery_time se expresa como el número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indica que target_recovery_time se expresa como el número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

Para más información sobre los puntos de control indirectos, consulte Puntos de control de base de datos.For more information about indirect checkpoints, see Database Checkpoints.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Especifica si la operación de reversión se ejecuta transcurrido un número de segundos determinado o de forma inmediata.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Especifica que la solicitud producirá un error si el cambio de opción o estado de la base de datos solicitado no puede completarse inmediatamente.Specifies that the request will fail if the requested database state or option change can't complete immediately. Completarse inmediatamente significa que no se espera a que las transacciones se confirmen o reviertan por su cuenta.Completing immediately means not waiting for transactions to commit or roll back on their own.

Configuración de opcionesSetting options

Para recuperar la configuración actual de las opciones de base de datos, use la vista de catálogo sys.databases o DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Una vez configurada una opción de la base de datos, la nueva configuración surte efecto de inmediato.After you set a database option, the new setting takes effect immediately.

Puede cambiar los valores predeterminados de cualquiera de las opciones de las bases de datos recién creadas.You can change the default values for any one of the database options for all newly created databases. Para ello, cambie la opción adecuada de base de datos en la base de datos de modelo.To do so, change the appropriate database option in the model database.

EjemplosExamples

A.A. Establecer la base de datos en READ_ONLYSetting the database to READ_ONLY

El cambio del estado de una base de datos o un grupo de archivos a READ_ONLY o READ_WRITE requiere el acceso exclusivo a la base de datos.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. En el ejemplo siguiente, la base de datos se establece en el modo RESTRICTED_USER para restringir el acceso.The following example sets the database to RESTRICTED_USER mode to restricted access. A continuación, el ejemplo establece el estado de la base de datos AdventureWorks2012AdventureWorks2012 en READ_ONLY y devuelve el acceso a la base de datos a todos los usuarios.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.B. Habilitar el aislamiento de instantánea en una base de datosEnabling snapshot isolation on a database

En el siguiente ejemplo se habilita la opción del marco de aislamiento de instantánea para la base de datos 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

El conjunto de resultados muestra que el marco de aislamiento de instantánea está habilitado.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.C. Habilitar, modificar y deshabilitar el seguimiento de cambiosEnabling, modifying, and disabling change tracking

En el ejemplo siguiente se habilita el seguimiento de cambios para la base de datos AdventureWorks2012AdventureWorks2012 y se establece el período de retención en 2 días.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);

En el ejemplo siguiente se muestra cómo cambiar el período de retención a 3 días.The following example shows how to change the retention period to 3 days.

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

En el ejemplo siguiente se muestra cómo deshabilitar el seguimiento de cambios para la base de datos AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D.D. Habilitar el Almacén de consultasEnabling the Query Store

En el ejemplo siguiente se habilita el Almacén de consultas y configura los parámetros del Almacén de consultas.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
    );

Consulte tambiénSee Also

SQL ServerSQL Server Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
Instancia administrada de
SQL Database
SQL Database
managed instance
* SQL Data
Warehouse *
 
* SQL Data
Warehouse *
 

 

Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse

SintaxisSyntax

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 }
}

ArgumentosArguments

database_name database_name
Es el nombre de la base de datos que se va a modificar.Is the name of the database to be modified.

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

Controla las opciones automáticas.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }

ONON
El optimizador de consultas crea estadísticas en columnas únicas de los predicados de consulta, según sea necesario, para mejorar los planes de consulta y el rendimiento de las consultas.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estadísticas de columna única se crean cuando el optimizador de consultas las compila.These single-column statistics are created when Query Optimizer compiles queries. Las estadísticas de columna única solamente se crean en las columnas que ya no son la primera columna de un objeto de estadísticas existente.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

El valor predeterminado es ON.The default is ON. Recomendamos utilizar la configuración predeterminada para la mayoría de las bases de datos.We recommend that you use the default setting for most databases.

OFFOFF
El optimizador de consultas no crea las estadísticas en columnas únicas de los predicados de consulta cuando compila las consultas.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Establecer esta opción en OFF puede producir planes de consulta poco óptimos y un rendimiento degradado de las consultas.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Para determinar el estado de esta opción, examine la columna is_auto_create_stats_on en la vista de catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. También puede determinar el estado si examina la propiedad IsAutoCreateStatistics de la función DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para más información, vea la sección "Uso de las opciones de estadísticas de toda la base de datos" de Estadísticas.For more information, see the section "Using the database-wide statistics options" in Statistics.

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

Controla el estado del cifrado de la base de datos.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }

ONON
Establece la base de datos que se va a cifrar.Sets the database to be encrypted.

OFFOFF
Establece la base de datos que no se va a cifrar.Sets the database to not be encrypted.

Para más información sobre el cifrado de base de datos, vea Cifrado de datos transparente y Cifrado de datos transparente con Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Cuando el cifrado está habilitado en el nivel de la base de datos, se cifrarán todos los grupos de archivos.When encryption is enabled at the database level, all file groups will be encrypted. Todos los grupos de archivos nuevos heredarán la propiedad de cifrado.Any new file groups will inherit the encrypted property. Si en la base de datos hay grupos de archivos establecidos en READ ONLY, se producirá un error en la operación de cifrado de la base de datos.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Puede ver el estado del cifrado de la base de datos, así como el estado del análisis de cifrado, mediante la vista de administración dinámica 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> ::=

Controla si el almacén de consultas está habilitado en este almacenamiento de datos.Controls whether the Query Store is enabled in this data warehouse.

QUERY_STORE { ON | OFF }QUERY_STORE { ON | OFF }

ONON
Habilita el Almacén de consultas.Enables the Query Store.

OFFOFF

Deshabilita el Almacén de consultas.Disables the Query Store. OFF Es el valor predeterminado.OFF is the default value.

Nota

En Almacenamiento de datos SQLSQL Data Warehouse, debe ejecutar ALTER DATABASE SET QUERY_STORE desde la base de datos de usuario.For Almacenamiento de datos SQLSQL Data Warehouse, you must execute ALTER DATABASE SET QUERY_STORE from the user database. No se admite la ejecución de la instrucción desde otra instancia de almacén de datos.Executing the statement from another data warehouse instance isn't supported.

<result_set_caching_option> ::= <result_set_caching_option> ::=
Se aplica a: Azure SQL Data Warehouse (versión preliminar)Applies to: Azure SQL Data Warehouse (preview)

Controla si el resultado de la consulta se almacena en caché en la base de datos.Controls whether query result is cached in the database.

RESULT_SET_CACHING {ON | OFF}RESULT_SET_CACHING {ON | OFF}

ONON
especifica que los conjuntos de resultados de consultas devueltos de esta base de datos se almacenarán en caché en el almacenamiento de Azure SQL Data Warehouse.Specifies that query result sets returned from this database will be cached in Azure SQL Data Warehouse storage.

OFFOFF
especifica que los conjuntos de resultados de consultas devueltos de esta base de datos no se almacenarán en caché en el almacenamiento de Azure SQL Data Warehouse.Specifies that query result sets returned from this database will not be cached in Azure SQL Data warehouse storage.

NotasRemarks

Este comando debe ejecutarse mientras se está conectado a la base de datos master.This command must be run while connected to the master database. Los cambios realizados a esta configuración de base de datos se aplicarán inmediatamente.Change to this database setting takes effect immediately. Los costos de almacenamiento se aplican mediante el almacenamiento en caché de conjuntos de resultados de consultas.Storage costs are incurred by caching query result sets. Después de deshabilitar el almacenamiento en caché de resultados para una base de datos, la caché de resultados que persistía anteriormente se eliminará inmediatamente del almacenamiento de Azure SQL Data Warehouse.After disabling result caching for a database, previously persisted result cache will immediately be deleted from Azure SQL Data Warehouse storage.

Ejecute este comando para comprobar la configuración del almacenamiento en caché del conjunto de resultados de una base de datos.Run this command to check a database's result set caching configuration. Si el almacenamiento en caché del conjunto de resultados está activado, is_result_set_caching_on devolverá 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'>

Ejecute este comando para comprobar si se ejecutó una consulta con un acierto o un error de caché de resultados.Run this command to check if a query was executed with a result cache hit or miss. Si se produce un acierto de caché, result_cache_hit devolverá 1.If there is a cache hit, the result_cache_hit will return 1.


SELECT request_id, command, result_cache_hit FROM sys.pdw_exec_requests 
WHERE request_id = <'Your_Query_Request_ID'>

Una vez que el almacenamiento en caché del conjunto de resultados esté activado para una base de datos, los resultados se almacenan en caché para todas las consultas hasta que se llene la memoria caché, excepto en el caso de estas consultas:Once result set caching is turned ON for a database, results are cached for all queries until the cache is full, except for these queries:

  • Las consultas que usan funciones no deterministas, como DateTime.Now().Queries using non-deterministic functions such as DateTime.Now()
  • Las consultas que usan funciones definidas por el usuario.Queries using user defined functions
  • Las consultas que devuelven datos con tamaños de fila mayores que 64 KB.Queries returning data with row size larger than 64KB

Las consultas con grandes conjuntos de resultados (por ejemplo, > 1 millón de filas) pueden experimentar un rendimiento más lento durante la primera ejecución mientras se crea la caché de resultados.Queries with large result sets (for example, > 1 million rows) may experience slower performance during the first run when the result cache is being created.

Si se cumplen todos los requisitos siguientes, el conjunto de resultados almacenado en caché se vuelve a usar para una consulta:Cached result set is reused for a query if all of the following requirements are all met:

  1. El usuario que ejecuta la consulta tiene acceso a todas las tablas a las que se hace referencia en la consulta.The user who's running the query has access to all the tables referenced in the query.
  2. Hay una coincidencia exacta entre la nueva consulta y la anterior que ha generado el almacenamiento en caché del conjunto de resultados.There is an exact match between the new query and the previous query that generated the result set cache.
  3. No hay cambios de datos ni esquema en las tablas a partir de las que se ha generado el conjunto de resultados almacenado.There is no data or schema changes in the tables where the cached result set was generated from.

<snapshot_option> ::= <snapshot_option> ::=
Se aplica a: Azure SQL Data Warehouse (versión preliminar)Applies to: Azure SQL Data Warehouse (preview)

Controla el nivel de aislamiento de transacción de una base de datos.Controls the transaction isolation level of a database.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }

ONON
Habilita la opción READ_COMMITTED_SNAPSHOT en el nivel de base de datos.Enables the READ_COMMITTED_SNAPSHOT option at the database level.

OFFOFF
Desactiva la opción READ_COMMITTED_SNAPSHOT en el nivel de base de datos.Turn off the READ_COMMITTED_SNAPSHOT option at the database level.

NotasRemarks

Este comando debe ejecutarse mientras se está conectado a la base de datos master.This command must be run while connected to the master database. La activación o desactivación de READ_COMMITTED_SNAPSHOT para una base de datos de usuario finalizará todas las conexiones abiertas en esta base de datos.Turning READ_COMMITTED_SNAPSHOT ON or OFF for a user database will kill all open connections to this database. Puede que quiera realizar este cambio durante el período de mantenimiento de la base de datos o esperar hasta que no haya ninguna conexión activa a la base de datos, excepto la que ejecuta el comando ALTER DATABSE.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. La base de datos no tiene que estar en modo de usuario único.The database does not have to be in single-user mode. No se admite el cambio del valor READ_COMMITTED_SNAPSHOT en el nivel de sesión.Changing READ_COMMITTED_SNAPSHOT setting at session level isn't supported. Para comprobar este valor en una base de datos, consulte la columna is_read_committed_snapshot_on en sys.databases.To verify this setting for a database, check is_read_committed_snapshot_on column in sys.databases.

En una base de datos con la opción READ_COMMITTED_SNAPSHOT habilitada, las consultas pueden experimentar un rendimiento más lento debido al examen de versiones si hay varias versiones de los datos.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. Las transacciones de larga duración también pueden provocar un aumento del tamaño de la base de datos.Long-open transactions can also cause an increase in the size of the database. Esta incidencia se produce si estas transacciones cambian los datos que bloquean la limpieza de la versión.This issue occurs if there are data changes by these transactions that block version cleanup.

PermisosPermissions

Para establecer la opción RESULT_SET_CACHING, un usuario necesita un inicio de sesión principal de nivel de servidor (el que crea el proceso de aprovisionamiento), o bien ser miembro del rol de la base de datos de 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.

Para establecer la opción READ_COMMITTED_SNAPSHOT, un usuario necesita el permiso ALTER en la base de datos.To set the READ_COMMITTED_SNAPSHOT option, a user needs ALTER permission on the database.

EjemplosExamples

Comprobación de la configuración de estadísticas para una base de datosCheck statistics setting for a database

SELECT name, is_auto_create_stats_on FROM sys.databases

Habilitación del almacén de consultas para una base de datosEnable query store for a database

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Habilitación del almacenamiento en caché de conjuntos de resultados para una base de datosEnable result set caching for a database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Comprobación de la configuración de almacenamiento en caché de conjuntos de resultados para una base de datosCheck result set caching setting for a database

SELECT name, is_result_set_caching_on
FROM sys.databases;

Comprobación del acierto de caché y fallo de caché de conjunto de resultados para una consultaCheck for result set cache hit or cache miss for a query

If
(SELECT step_index  
FROM sys.dm_pdw_request_steps  
WHERE request_id = 'QID58286' and operation_type = 'ReturnOperation' and command like '%DWResultCacheDb%') = 0
SELECT 1 as is_cache_hit  
ELSE
SELECT 0 as is_cache_hit;

Comprobación de todas las consultas con aciertos de caché de conjunto de resultadosCheck for all queries with result set cache hits

SELECT *  
FROM sys.dm_pdw_request_steps  
WHERE command like '%DWResultCacheDb%' and step_index = 0;

Habilitación de la opción Read_Committed_Snapshot para una base de datosEnable the Read_Committed_Snapshot option for a database

ALTER DATABASE MyDatabase  
SET READ_COMMITTED_SNAPSHOT ON

Vea tambiénSee also