Options SET d’ALTER DATABASE (Transact-SQL)ALTER DATABASE SET options (Transact-SQL)

Définit les options de base de données dans Microsoft SQL ServerSQL Server, Azure SQL DatabaseAzure SQL Database et SQL Data WarehouseSQL Data Warehouse.Sets database options in Microsoft SQL ServerSQL Server, Azure SQL DatabaseAzure SQL Database, and SQL Data WarehouseSQL Data Warehouse. Pour connaître les autres options d’ALTER DATABASE, voir ALTER DATABASE.For other ALTER DATABASE options, see ALTER DATABASE.

Sélectionnez un des onglets suivants pour connaître la syntaxe, les arguments, les remarques, les autorisations et des exemples propres à la version de SQL que vous utilisez.Select one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version that you're working with.

Pour plus d’informations sur les conventions de la syntaxe, consultez Conventions de la syntaxe Transact-SQL.For more information about the syntax conventions, see Transact-SQL syntax conventions.

Sélectionner un produitSelect a product

Dans la ligne suivante, sélectionnez le nom du produit qui vous intéresse.In the following row, select whichever product name you're interested in. Ceci affiche un contenu différent ici dans cette page web, approprié pour le produit que vous sélectionnez.Doing that displays different content here on this webpage, appropriate for whichever product you select.

* SQL Server *  * SQL Server *   Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
Instance managée
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse

 

SQL ServerSQL Server

La mise en miroir de bases de données, Groupes de disponibilité Always OnAlways On availability groups et les niveaux de compatibilité sont des options SET mais sont décrits dans des rubriques distinctes en raison de leur longueur.Database mirroring, Groupes de disponibilité Always OnAlways On availability groups, and compatibility levels are SET options but are described in separate articles because of their length. Pour plus d’informations, consultez Mise en miroir de bases de données ALTER DATABASE, ALTER DATABASE SET HADR et Niveau de compatibilité ALTER DATABASE.For more information, see ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADR, and ALTER DATABASE compatibility level.

Les configurations de niveau base de données sont utilisées pour définir plusieurs configurations de base de données au niveau de la base de données individuelle.Database scoped configurations are used to set several database configurations at the individual database level. Pour plus d’informations, consultez ALTER DATABASE SCOPED CONFIGURATION.For more information, see ALTER DATABASE SCOPED CONFIGURATION.

Notes

De nombreuses options SET de base de données sont configurables pour la session en cours avec des Instructions SET, et sont souvent configurées par les applications quand elles se connectent.Many database set options can be configured for the current session by using SET statements and are often configured by applications when they connect. Les options SET de niveau session remplacent les valeurs ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Les options de base de données décrites dans les sections suivantes sont des valeurs que vous pouvez définir pour les sessions qui ne fournissent pas explicitement d’autres valeurs pour les options 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.

SyntaxeSyntax

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

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

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

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

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

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

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

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

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

<database_mirroring_option>
  ALTER DATABASE Database Mirroring

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

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

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

<db_update_option> ::=
    { READ_ONLY | READ_WRITE }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ArgumentsArguments

database_name database_name
Nom de la base de données à modifier.The name of the database to be modified.

CURRENTCURRENT
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Exécute l’action dans la base de données actuelle.Runs the action in the current database. CURRENT n’est pas pris en charge pour toutes les options dans tous les contextes.CURRENT isn't supported for all options in all contexts. Si CURRENT échoue, fournissez le nom de la base de données.If CURRENT fails, provide the database name.

<accelerated_database_recovery> ::= <accelerated_database_recovery> ::=
S’applique à : SQL ServerSQL Server (à compter 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))

Active la récupération de base de données accélérée pour chaque base de données.Enables accelerated database recovery (ADR) per-database. ADR est défini par défaut sur OFF dans 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). À l’aide de cette syntaxe, vous pouvez choisir de désigner un groupe de fichiers spécifique pour les données du magasin de versions persistantes.By using this syntax, you have the option to designate a specific file group for the Persistent Version Store (PVS) data. Si aucun groupe de fichiers n’est spécifié, le magasin de versions persistantes est stocké dans le groupe de fichiers PRIMARY.If no file group is specified, the PVS will be stored in the PRIMARY file group. Pour obtenir des exemples et des informations supplémentaires, consultez Récupération de base de données accélérée.For examples and more information, see Accelerated database recovery.

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

Contrôle les options automatiques.Controls automatic options.

AUTO_CLOSE { ON | OFF }AUTO_CLOSE { ON | OFF }
ONON
La base de données est arrêtée correctement et ses ressources sont libérées dès que le dernier utilisateur l’a quittée.The database is shut down cleanly and its resources are freed after the last user exits.

La base de données est rouverte automatiquement lorsqu'un utilisateur tente de la réutiliser.The database automatically reopens when a user tries to use the database again. Par exemple, ce comportement de réouverture se produit quand un utilisateur émet une instruction USE database_name.For example, this reopen behavior occurs when a user issues a USE database_name statement. La base de données peut être arrêtée proprement avec AUTO_CLOSE défini sur la valeur ON.The database may shut down cleanly with AUTO_CLOSE set to ON. Dans ce cas, la base de données n’est pas rouverte jusqu’à ce qu’un utilisateur tente d’utiliser la base de données au redémarrage suivant du Moteur de base de donnéesDatabase Engine.If so, the database doesn't reopen until a user tries to use the database the next time the Moteur de base de donnéesDatabase Engine restarts.

OFFOFF
La base de données reste ouverte après que le dernier utilisateur l’a quittée.The database remains open after the last user exits.

L'option AUTO_CLOSE est utile pour les bases de données bureautiques, puisqu'elle permet aux fichiers de base de données d'être gérés comme des fichiers normaux.The AUTO_CLOSE option is useful for desktop databases because it allows for database files to be managed as regular files. Ils peuvent être déplacés, copiés pour faire une sauvegarde ou même envoyés par e-mail à d’autres utilisateurs.They can be moved, copied to make backups, or even emailed to other users. Le processus AUTO_CLOSE est asynchrone ; l’ouverture et la fermeture répétées de la base de données n’ont aucune incidence sur les performances.The AUTO_CLOSE process is asynchronous; repeatedly opening and closing the database doesn't reduce performance.

Notes

L’option AUTO_CLOSE n’est pas disponible dans une base de données autonome, ni sur SQL DatabaseSQL Database.The AUTO_CLOSE option isn't available in a contained database or on SQL DatabaseSQL Database. Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_close_on de la vue de catalogue sys.databases ou la propriété IsAutoClose de la fonction 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.

Quand AUTO_CLOSE est défini sur ON, certaines colonnes de la vue de catalogue sys.databases et la fonction DATABASEPROPERTYEX retournent une valeur NULL, car la base de données est indisponible pour l’extraction des données.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. Pour résoudre ce problème, exécutez une instruction USE pour ouvrir la base de données.To resolve this issue, run a USE statement to open the database.

La mise en miroir de bases de données exige AUTO_CLOSE OFF.Database mirroring requires AUTO_CLOSE OFF.

Si la base de données a la valeur AUTOCLOSE = ON, une opération qui initialise un arrêt de la base de données automatique efface le cache du plan pour l'instance 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. Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Dans SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 et ultérieur, pour chaque magasin de caches effacé dans le cache de plan, le journal des erreurs SQL ServerSQL Server contient le message d’information suivant : « SQL ServerSQL Server a rencontré %d occurrence(s) de vidages de mémoire cache pour la mémoire cache ’%s’ (partie du cache du plan) en raison d’opérations de maintenance ou de reconfiguration de base de données ».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." Ce message est enregistré toutes les cinq minutes si le cache est vidé au cours de cet intervalle de temps.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
L’optimiseur de requête crée si nécessaire des statistiques sur les colonnes uniques des prédicats de requête, afin d’améliorer les plans de requête et les performances des requêtes.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Ces statistiques de colonnes uniques sont créées quand l’optimiseur de requête compile les requêtes.These single-column statistics are created when Query Optimizer compiles queries. Les statistiques de colonnes uniques sont créées uniquement sur les colonnes qui ne constituent pas déjà la première colonne d’un objet de statistiques existant.The single-column statistics are created only on columns that aren't already the first column of an existing statistics object.

Le paramètre par défaut est ON.The default setting is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

OFFOFF
L’optimiseur de requête ne crée pas de statistiques sur les colonnes uniques des prédicats de requête quand il compile les requêtes.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_create_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoCreateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Utilisation des options de statistiques à l’échelle de la base de données » dans Statistiques.For more information, see the section "Using the Database-wide statistics options" in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
S’applique à : SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) jusqu’à SQL ServerSQL Server) et Azure SQL DatabaseAzure SQL DatabaseApplies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL ServerSQL Server) and Azure SQL DatabaseAzure SQL Database

Définissez AUTO_CREATE_STATISTICS sur la valeur ON, et INCREMENTAL sur la valeur ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Ceci définit les statistiques créées automatiquement comme étant incrémentielles, dès lors que celles-ci sont prises en charge.This sets automatically created stats as incremental whenever incremental stats are supported. La valeur par défaut est OFF.The default value is OFF. Pour plus d’informations, voir CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF } ONAUTO_SHRINK { ON | OFF } ON
Les fichiers de base de données peuvent faire l'objet d'une réduction périodique.The database files are candidates for periodic shrinking.

Les fichiers de données et les fichiers journaux peuvent être réduits automatiquement.Both data files and log files can be automatically shrunk. AUTO_SHRINK ne réduit la taille du journal des transactions que si vous définissez la base de données sur le mode de récupération SIMPLE ou si vous sauvegardez le journal.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. Quand vous définissez AUTO_SHRINK sur OFF, les fichiers de base de données ne sont pas réduits automatiquement lors des vérifications périodiques de l’espace inutilisé.When you set AUTO_SHRINK to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

L’option AUTO_SHRINK réduit les fichiers quand ceux-ci contiennent plus de 25 % d’espace inutilisé.The AUTO_SHRINK option shrinks files when more than 25 percent of the file contains unused space. Elle réduit le fichier à une des deux tailles suivantes (selon la valeur la plus grande) :It shrinks the file to one of two sizes (whichever is larger):

  • La taille à laquelle 25 pour cent du fichier est de l’espace inutiliséThe size at which 25 percent of the file is unused space
  • La taille du fichier quand il a été crééThe size of the file when it was created

Vous ne pouvez pas réduire une base de données en lecture seule.You can't shrink a read-only database.

OFFOFF
Les fichiers de base de données ne sont pas réduits automatiquement lors des vérifications périodiques de l'espace inutilisé.The database files are not automatically shrunk during periodic checks for unused space.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_shrink_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoShrink de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Notes

L’option AUTO_SHRINK n’est pas disponible dans une base de données autonome.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Spécifie que l’optimiseur de requête met à jour les statistiques quand elles sont utilisées par une requête et quand elles sont susceptibles d’être obsolètes.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Les statistiques deviennent obsolètes après que des opérations d'insertion, de mise à jour, de suppression ou de fusion ont modifié la distribution des données dans la table ou la vue indexée.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. L’optimiseur de requête détermine si les statistiques sont obsolètes en comptant le nombre de modifications de données depuis la dernière mise à jour des statistiques et en comparant le nombre de modifications à un seuil.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. Ce seuil est basé sur le nombre de lignes contenues dans la table ou la vue indexée.The threshold is based on the number of rows in the table or indexed view.

L’optimiseur de requête vérifie s’il existe des statistiques obsolètes avant de compiler une requête et d’exécuter un plan de requête mis en cache.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. L’optimiseur de requête utilise les colonnes, les tables et les vues indexées du prédicat de requête pour identifier les statistiques susceptibles d’être obsolètes.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. L’optimiseur de requête détermine ces informations avant de compiler une requête.Query Optimizer determines this information before it compiles a query. Avant d’exécuter un plan de requête mis en cache, le Moteur de base de donnéesDatabase Engine vérifie que le plan de requête référence des statistiques à jour.Before running a cached query plan, the Moteur de base de donnéesDatabase Engine verifies that the query plan references up-to-date statistics.

L'option AUTO_UPDATE_STATISTICS s'applique aux statistiques créées pour les index, aux colonnes uniques contenues dans les prédicats de requête et aux statistiques créées à l'aide de l'instruction 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. Cette option s'applique également aux statistiques filtrées.This option also applies to filtered statistics.

La valeur par défaut est ON.The default is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

Utilisez l'option AUTO_UPDATE_STATISTICS_ASYNC pour spécifier si les statistiques doivent être mises à jour en mode synchrone ou asynchrone.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Spécifie que l’optimiseur de requête ne met pas à jour les statistiques quand elles sont utilisées par une requête.Specifies that Query Optimizer doesn't update statistics when they're used by a query. L’optimiseur de requête ne met pas non plus à jour les statistiques quand elles sont susceptibles d’être obsolètes.Query Optimizer also doesn't update statistics when they might be out-of-date. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_update_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoUpdateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Utilisation des options de statistiques à l’échelle de la base de données » dans Statistiques.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
Spécifie que les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont asynchrones.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. L’optimiseur de requête n’attend pas la fin des mises à jour des statistiques pour compiler les requêtes.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Affecter la valeur ON à cette option n'a aucun effet à moins que AUTO_UPDATE_STATISTICS n'ait également la valeur ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Par défaut, l’option AUTO_UPDATE_STATISTICS_ASYNC est OFF ; l’optimiseur de requête met à jour les statistiques de façon synchrone.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Spécifie que les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont synchrones.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. L’optimiseur de requête attend la fin des mises à jour des statistiques pour compiler les requêtes.Query Optimizer waits for statistics updates to complete before it compiles queries.

Notes

Affecter la valeur OFF à cette option n'a aucun effet à moins que AUTO_UPDATE_STATISTICS n'ait également la valeur ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_update_stats_async_on de la vue de catalogue 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.

Pour plus d’informations décrivant quand utiliser des mises à jour de statistiques synchrones ou asynchrones, consultez la section « Options des statistiques » dans Statistiques.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> ::=
S’applique à : SQL ServerSQL Server (à compter 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))

Active ou désactive l’option FORCE_LAST_GOOD_PLAN Optimisation automatique.Enables or disables FORCE_LAST_GOOD_PLAN Automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
ONON
Le Moteur de base de donnéesDatabase Engine force automatiquement le dernier plan correct connu sur les requêtes Transact-SQLTransact-SQL là où le nouveau plan de requête provoque des régressions des performances.The Moteur de base de donnéesDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Le Moteur de base de donnéesDatabase Engine supervise en permanence les performances de la requête Transact-SQLTransact-SQL avec le plan forcé.The Moteur de base de donnéesDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan.

S’il existe des gains de performances, le Moteur de base de donnéesDatabase Engine continue à utiliser le dernier plan correct connu.If there are performance gains, the Moteur de base de donnéesDatabase Engine will keep using last known good plan. Si aucun gain de performances n’est détecté, le Moteur de base de donnéesDatabase Engine génère un nouveau plan de requête.If performance gains are not detected, the Moteur de base de donnéesDatabase Engine will produce a new query plan. L’instruction échoue si le Magasin des requêtes n’est pas activé ou s’il n’est pas en mode Lecture-écriture.The statement will fail if the Query Store isn't enabled or if the Query Store isn't in Read-Write mode.

OFFOFF
Le Moteur de base de donnéesDatabase Engine indique les régressions des performances de requêtes potentielles dues à des changements de plan de requête dans la vue sys.dm_db_tuning_recommendations.The Moteur de base de donnéesDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Toutefois, ces recommandations ne sont pas appliquées automatiquement.However, these recommendations are not automatically applied. Les utilisateurs peuvent superviser les recommandations actives et résoudre les problèmes identifiés en appliquant les scripts Transact-SQLTransact-SQL qui sont montrés dans la vue.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. La valeur par défaut est OFF.The default value is OFF.

<change_tracking_option> ::= <change_tracking_option> ::=
S’applique à : SQL ServerSQL Server et SQL DatabaseSQL DatabaseApplies to: SQL ServerSQL Server and SQL DatabaseSQL Database

Contrôle les options de suivi des modifications.Controls change tracking options. Vous pouvez activer le suivi des modifications, définir des options, modifier des options et désactiver le suivi des modifications.You can enable change tracking, set options, change options, and disable change tracking. Pour des exemples, consultez la section « Exemples » plus loin dans cet article.For examples, see the "Examples" section later in this article.

ONON
Active le suivi des modifications pour la base de données.Enables change tracking for the database. Lorsque vous activez le suivi des modifications, vous pouvez également définir les options AUTO CLEANUP et 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
Les informations de suivi des modifications sont supprimées automatiquement à l’issue de la période de rétention spécifiée.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Les données de suivi des modifications ne sont pas supprimées automatiquement de la base de données.Change tracking data isn't automatically removed from the database.

CHANGE_RETENTION = période_conservation { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Spécifie la période minimale de conservation des informations de suivi des modifications dans la base de données.Specifies the minimum period for keeping change tracking information in the database. Les données sont supprimées uniquement lorsque AUTO_CLEANUP a la valeur ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period est un entier qui spécifie la composante numérique de la période de rétention.retention_period is an integer that specifies the numerical component of the retention period.

La période de conservation par défaut est 2 jours.The default retention period is 2 days. La période de rétention minimale est 1 minute.The minimum retention period is 1 minute. Le type de conservation par défaut est DAYS.The default retention type is DAYS.

OFFOFF
Désactive le suivi des modifications pour la base de données.Disables change tracking for the database. Désactivez le suivi des modifications sur toutes les tables avant de le désactiver sur la base de données.Disable change tracking on all tables before you disable change tracking off the database.

<containment_option> ::= <containment_option> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Contrôle des options de la relation contenant-contenu de la base de données.Controls database containment options.

CONTAINMENT = { NONE | PARTIAL}CONTAINMENT = { NONE | PARTIAL}
AucuneNONE
La base de données n’est pas une base de données autonome.The database isn't a contained database.

PARTIALPARTIAL
La base de données est une base de données autonome.The database is a contained database. La définition de la relation contenant-contenu de base de données sur la valeur partielle échouera si l'option de réplication, de capture des données modifiées ou de suivi des modifications est activée.Setting database containment to partial will fail if the database has replication, change data capture, or change tracking enabled. La vérification des erreurs prend fin après un échec.Error checking stops after one failure. Pour plus d'informations sur les bases de données autonomes, consultez Bases de données autonomes.For more information about contained databases, see Contained Databases.

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

Contrôle les options de curseur.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Les curseurs ouverts quand vous validez ou restaurez une transaction sont fermés.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Les curseurs restent ouverts quand une transaction est validée. La restauration d’une transaction ferme tous les curseurs à l’exception de ceux définis avec la valeur INSENSITIVE ou STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Les paramètres de niveau connexion définis à l'aide de l'instruction SET se substituent au paramètre de base de données par défaut de 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. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui désactive l’option CURSOR_CLOSE_ON_COMMIT pour la session (valeur OFF) par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_cursor_close_on_commit_on de la vue de catalogue sys.databases ou la propriété IsCloseCursorsOnCommitEnabled de la fonction 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 }
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Détermine si l'étendue du curseur utilise LOCAL ou GLOBAL.Controls whether cursor scope uses LOCAL or GLOBAL.

LOCALLOCAL
Quand vous spécifiez LOCAL et que vous ne définissez pas de curseur comme GLOBAL lors de la création du curseur, le curseur est d’étendue locale.When you specify LOCAL and don't define a cursor as GLOBAL when you create the cursor, the cursor's scope is local. Plus précisément, l’étendue du curseur est locale pour le lot, la procédure stockée ou le déclencheur dans lequel vous avez créé le curseur.Specifically, the scope is local to the batch, stored procedure, or trigger in which you created the cursor. Le nom du curseur n'est valide que dans cette étendue.The cursor name is valid only within this scope.

Le curseur peut être référencé par des variables de curseur locales dans le traitement, la procédure stockée ou le déclencheur, ou bien par un paramètre OUTPUT d'une procédure stockée.The cursor can be referenced by local cursor variables in the batch, stored procedure, or trigger, or a stored procedure OUTPUT parameter. Le curseur est libéré implicitement à la fin du lot, de la procédure stockée ou du déclencheur.The cursor is implicitly deallocated when the batch, stored procedure, or trigger ends. Le curseur est libéré à moins d’avoir été retourné dans un paramètre OUTPUT.The cursor is deallocated unless it was passed back in an OUTPUT parameter. Le curseur peut avoir été retourné dans un paramètre OUTPUT.The cursor might be passed back in an OUTPUT parameter. Si le curseur est retourné de cette manière, il est libéré lorsque la dernière variable qui fait référence au curseur est libérée ou est hors de portée.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 GLOBAL est spécifié et qu’aucun curseur n’est défini comme LOCAL lors de sa création, le curseur est d’étendue globale pour la connexion.When GLOBAL is specified, and a cursor isn't defined as LOCAL when created, the scope of the cursor is global to the connection. Toute procédure stockée ou tout lot exécuté par la connexion peut faire référence au nom du curseur.The cursor name can be referenced in any stored procedure or batch executed by the connection.

Le curseur n'est libéré implicitement qu'au moment de la déconnexion.The cursor is implicitly deallocated only at disconnect. Pour plus d’informations, voir DECLARE CURSOR.For more information, see DECLARE CURSOR.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_local_cursor_default de la vue de catalogue sys.databases.You can determine this option's status by examining the is_local_cursor_default column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsLocalCursorsDefault de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsLocalCursorsDefault property of the DATABASEPROPERTYEX function.

<database_mirroring> <database_mirroring>
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Pour une description des arguments, voir Mise en miroir de bases de données ALTER DATABASE.For the argument descriptions, see ALTER DATABASE Database Mirroring.

<date_correlation_optimization_option> ::= <date_correlation_optimization_option> ::=
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Contrôle l'option date_correlation_optimization.Controls the date_correlation_optimization option.

DATE_CORRELATION_OPTIMIZATION { ON | OFF }DATE_CORRELATION_OPTIMIZATION { ON | OFF }
ONON
SQL ServerSQL Server conserve les statistiques de corrélation dans laquelle une contrainte FOREIGN KEY lie deux tables quelconques de la base de données et où les tables ont des colonnes datetime.maintains correlation statistics where a FOREIGN KEY constraint links any two tables in the database and the tables have datetime columns.

OFFOFF
Les statistiques de corrélation ne sont pas conservées.Correlation statistics are not maintained.

Pour pouvoir définir DATE_CORRELATION_OPTIMIZATION sur ON, il ne doit exister aucune connexion active à la base de données, à l’exception de celle qui exécute l’instruction 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. Ensuite, différentes connexions peuvent être prises en charge.Afterwards, multiple connections are supported.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_date_correlation_on dans la vue de catalogue 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> ::=

Contrôle l'état de chiffrement de la base de données.Controls the database encryption state.

ENCRYPTION { ON | OFF | SUSPEND | RESUME }ENCRYPTION { ON | OFF | SUSPEND | RESUME }
ONON
Indique que la base de données doit être chiffrée.Sets the database to be encrypted.

OFFOFF
Indique que la base de données ne doit pas être chiffrée.Sets the database to not be encrypted.

SUSPENDSUSPEND
S’applique à : SQL ServerSQL Server (à compter 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))
Peut être utilisée pour suspendre l’analyse du chiffrement après l’activation ou la désactivation du chiffrement TDE, ou après un changement de la clé de chiffrement.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
S’applique à : SQL ServerSQL Server (à compter 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))
Peut être utilisée pour reprendre une analyse du chiffrement.Can be used to resume a previously paused encryption scan.

Pour plus d’informations sur le chiffrement de base de données, voir Transparent Data Encryption et Transparent Data Encryption avec Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quand le chiffrement est activé au niveau de la base de données, tous les groupes de fichiers sont chiffrés.When encryption is enabled at the database level, all file groups will be encrypted. Tous les nouveaux groupes de fichiers héritent de la propriété chiffrée.Any new file groups will inherit the encrypted property. Si des groupes de fichiers dans la base de données sont définis sur READ ONLY, l’opération de chiffrement de la base de données échoue.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Vous pouvez voir l’état du chiffrement de la base de données et l’état de l’analyse du chiffrement en utilisant la vue de gestion dynamique 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> ::=
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Contrôle l'état de la base de données.Controls the state of the database.

OFFLINEOFFLINE
La base de données est fermée et arrêtée correctement, puis marquée comme étant déconnectée.The database is closed, shut down cleanly, and marked offline. Tant que la base de données est hors connexion, elle ne peut pas être modifiée.The database can't be modified while it's offline.

ONLINEONLINE
La base de données est ouverte et peut être utilisée.The database is open and available for use.

EMERGENCYEMERGENCY
La base de données est marquée READ_ONLY, la journalisation est désactivée et l’accès est restreint aux membres du rôle serveur fixe sysadmin.The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. EMERGENCY est principalement utilisé à des fins de dépannage.EMERGENCY is primarily used for troubleshooting purposes. Par exemple, une base de données marquée comme suspecte en raison d’un fichier journal corrompu peut se voir affecter l’état EMERGENCY.For example, a database marked as suspect because of a corrupted log file can be set to the EMERGENCY state. Ce paramètre peut permettre à l’administrateur système d’accéder en lecture seule à la base de données.This setting could enable the system administrator read-only access to the database. Seuls les membres du rôle serveur fixe sysadmin peuvent définir l'état EMERGENCY pour une base de données.Only members of the sysadmin fixed server role can set a database to the EMERGENCY state.

Nécessite l’autorisation ALTER DATABASE pour la base de données concernée afin de changer l’état d’une base de données en hors connexion ou en urgence, et l’autorisation ALTER ANY DATABASE au niveau du serveur pour faire passer une base de données de hors connexion à en ligne.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.

Vous pouvez déterminer l’état de cette option en consultant les colonnes state et state_desc de la vue de catalogue sys.databases.You can determine this option's status by examining the state and state_desc columns in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété Status de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the Status property of the DATABASEPROPERTYEX function. Pour plus d'informations, consultez Database States.For more information, see Database States.

Une base de données marquée RESTORING ne peut pas se voir affecter la valeur OFFLINE, ONLINE ou EMERGENCY.A database marked as RESTORING can't be set to OFFLINE, ONLINE, or EMERGENCY. Une base de données peut être à l'état RESTORING durant une opération de restauration active, ou lorsqu'une opération de restauration d'un fichier de base de données ou d'un fichier journal échoue car un fichier de sauvegarde est corrompu.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> ::=

Contrôle si des mises à jour sont autorisées dans la base de données.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Les utilisateurs peuvent lire des données dans la base de données mais ils n’ont pas le droit de les modifier.Users can read data from the database but not modify it.

Notes

Pour améliorer les performances des requêtes, mettez à jour les statistiques avant de définir une base de données à READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Si des statistiques supplémentaires sont nécessaires après qu'une base de données est définie à READ_ONLY, le Moteur de base de donnéesDatabase Engine crée des statistiques dans tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Moteur de base de donnéesDatabase Engine will create statistics in tempdb. Pour plus d’informations sur les statistiques pour une base de données en lecture seule, consultez Statistiques.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
La base de données est accessible aux opérations de lecture et d’écriture.The database is available for read and write operations.

Pour modifier cet état, vous devez bénéficier d'un accès exclusif à la base de données.To change this state, you must have exclusive access to the database. Pour plus d'informations, consultez la clause SINGLE_USER.For more information, see the SINGLE_USER clause.

Notes

Dans les bases de données fédérées SQL DatabaseSQL Database, SET {READ_ONLY | READ_WRITE} est désactivé.On SQL DatabaseSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

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

Contrôle l'accès utilisateur à la base de données.Controls user access to the database.

SINGLE_USER s’applique à : SQL ServerSQL Server.SINGLE_USER Applies to: SQL ServerSQL Server

Indique que l'accès à la base de données n'est autorisé qu'à un seul utilisateur à la fois.Specifies that only one user at a time can access the database. Si vous spécifiez SINGLE_USER et que d’autres utilisateurs se connectent à la base de données, l’instruction ALTER DATABASE est bloquée jusqu’à ce que tous les autres utilisateurs se déconnectent de la base de données spécifiée.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. Pour remplacer ce comportement, examinez la clause WITH <termination>.To override this behavior, see the WITH <termination> clause.

La base de données demeure en mode SINGLE_USER même si l'utilisateur qui a défini l'option se déconnecte. À ce stade, un autre utilisateur (et un seul) peut se connecter à la base de données.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.

Avant d'affecter la valeur SINGLE_USER à la base de données, vérifiez que l'option AUTO_UPDATE_STATISTICS_ASYNC a la valeur OFF.Before you set the database to SINGLE_USER, verify the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. Si la valeur spécifiée est ON, le thread d’arrière-plan utilisé pour mettre à jour les statistiques se connecte à la base de données et vous ne pourrez pas accéder à celle-ci en mode mono-utilisateur.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. Pour consulter l’état de cette option, interrogez la colonne is_auto_update_stats_async_on de la vue de catalogue 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 l'option a la valeur ON, effectuez les tâches suivantes :If the option is set to ON, perform the following tasks:

  1. Affectez la valeur OFF à AUTO_UPDATE_STATISTICS_ASYNC.Set AUTO_UPDATE_STATISTICS_ASYNC to OFF.

  2. Recherchez les travaux des statistiques asynchrones actifs en interrogeant la vue de gestion dynamique 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 des travaux sont actifs, laissez ces travaux se terminer ou arrêtez-les manuellement à l’aide de 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
Autorise uniquement les membres du rôle de base de données fixe db_owner et des rôles serveur fixes dbcreator et sysadmin à se connecter à la base de données.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 n’en limite pas le nombre.RESTRICTED_USER doesn't limit their number. Fermez toutes les connexions à la base de données dans la plage de temps spécifiée par la clause d’arrêt de l’instruction ALTER DATABASE.Disconnect all connections to the database using the timeframe specified by the ALTER DATABASE statement's termination clause. Après que la base est passée à l'état RESTRICTED_USER, toute tentative de connexion par des utilisateurs non qualifiés est refusée.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused.

MULTI_USERMULTI_USER
Tous les utilisateurs qui bénéficient des autorisations appropriées peuvent se connecter à la base de données.All users that have the appropriate permissions to connect to the database are allowed.

Vous pouvez déterminer l’état de cette option en consultant la colonne user_access de la vue de catalogue sys.databases.You can determine this option's status by examining the user_access column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété UserAccess de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2014 (12.x)SQL Server 2014 (12.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL ServerSQL Server)

Contrôle si les transactions sont validées de manière entièrement durable ou durable différée.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Toutes les transactions suivant SET DISABLED sont entièrement durables.All transactions following SET DISABLED are fully durable. Toutes les options de durabilité définies dans une instruction de validation ou de bloc atomique sont ignorées.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Toutes les transactions suivant SET ALLOWED sont soit entièrement durables, soit durables différées, en fonction de l’option de durabilité définie dans l’instruction de validation ou de bloc atomique.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
Toutes les transactions suivant SET FORCED sont durables différées.All transactions following SET FORCED are delayed durable. Toutes les options de durabilité définies dans une instruction de validation ou de bloc atomique sont ignorées.Any durability options set in an atomic block or commit statement are ignored.

<external_access_option> ::= <external_access_option> ::=
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Contrôle si des ressources externes, par exemple des objets d'une autre base de données, peuvent accéder à la base de données.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 données peut être la source ou la cible d’une chaîne de propriétés des bases de données croisées.Database can be the source or target of a cross-database ownership chain.

OFFOFF
La base de données ne peut pas prendre part à un chaînage des propriétés des bases de données croisées.Database can't participate in cross-database ownership chaining.

Important

L'instance de SQL ServerSQL Server reconnaît ce paramètre lorsque l'option de serveur cross db ownership chaining a la valeur 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Lorsque cross db ownership chaining a la valeur 1 (ON), toutes les bases de données utilisateur peuvent participer aux chaînages des propriétés des bases de données croisées, quelle que soit la valeur de cette option.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. Cette option est configurée à l’aide de sp_configure.This option is set by using sp_configure.

Pour définir cette option, l'autorisation CONTROL SERVER est nécessaire sur la base de données.To set this option, requires CONTROL SERVER permission on the database.

L’option DB_CHAINING ne peut pas être définie sur les bases de données système master, model et tempdb.The DB_CHAINING option can't be set on the master, model, and tempdb system databases.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_db_chaining_on de la vue de catalogue 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
Les modules de base de données (par exemple, les procédures stockées ou les fonctions définies par l’utilisateur) qui utilisent un contexte d’emprunt d’identité peuvent accéder à des ressources en dehors de la base de données.Database modules (for example, user-defined functions or stored procedures) that use an impersonation context can access resources outside the database.

OFFOFF
Les modules de base de données qui utilisent l’emprunt d’identité ne peuvent pas accéder à des ressources externes à la base de données.Database modules in an impersonation context can't access resources outside the database.

TRUSTWORTHY prend la valeur OFF chaque fois que la base de données est attachée.TRUSTWORTHY is set to OFF whenever the database is attached.

Par défaut, pour toutes les bases de données système, sauf pour la base msdb, l'option TRUSTWORTHY est définie à OFF (désactivé).By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. La valeur ne peut pas être modifiée pour les bases de données model et tempdb.The value can't be changed for the model and tempdb databases. Nous vous recommandons de ne jamais définir l'option TRUSTWORTHY à ON (activé) pour la base de données master.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

Pour définir cette option, l'autorisation CONTROL SERVER est nécessaire sur la base de données.To set this option, requires CONTROL SERVER permission on the database.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_trustworthy_on de la vue de catalogue 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
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Spécifie la valeur de langue par défaut pour les colonnes indexées de texte intégral.Specifies the default language value for full-text indexed columns.

Important

Cette option est autorisée uniquement lorsque CONTAINMENT a été défini sur PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT est défini sur NONE, des erreurs se produiront.If CONTAINMENT is set to NONE, errors will occur.

DEFAULT_LANGUAGEDEFAULT_LANGUAGE
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Spécifie la langue par défaut de toutes les nouvelles connexions.Specifies the default language for all newly created logins. La langue peut être spécifiée en indiquant l’ID local (lcid), son nom ou son alias.Language can be specified by providing the local ID (lcid), the language name, or the language alias. Pour connaître la liste des noms et des alias de langue acceptables, voir sys.syslanguages.For a list of acceptable language names and aliases, see sys.syslanguages. Cette option est autorisée uniquement lorsque CONTAINMENT a été défini sur PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT est défini sur NONE, des erreurs se produiront.If CONTAINMENT is set to NONE, errors will occur.

NESTED_TRIGGERSNESTED_TRIGGERS
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Spécifie si un déclencheur AFTER peut s'exécuter en cascade et, par conséquent, réaliser une action qui initialise un autre déclencheur, lequel initialise un autre déclencheur, etc.Specifies whether an AFTER trigger can cascade; that is, perform an action that initiates another trigger, which initiates another trigger, and so on. Cette option est autorisée uniquement lorsque CONTAINMENT a été défini sur PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT est défini sur NONE, des erreurs se produiront.If CONTAINMENT is set to NONE, errors will occur.

TRANSFORM_NOISE_WORDSTRANSFORM_NOISE_WORDS
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Utilisé pour supprimer un message d'erreur si des mots parasites ou des mots vides provoquent l'échec d'une opération booléenne sur une requête de texte intégral.Used to suppress an error message if noise words, or stopwords, cause a Boolean operation on a full-text query to fail. Cette option est autorisée uniquement lorsque CONTAINMENT a été défini sur PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT est défini sur NONE, des erreurs se produiront.If CONTAINMENT is set to NONE, errors will occur.

TWO_DIGIT_YEAR_CUTOFFTWO_DIGIT_YEAR_CUTOFF
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Spécifie un entier compris entre 1 753 et 9 999 qui représente l'année de coupure permettant d'interpréter les années à deux chiffres comme des années à quatre chiffres.Specifies an integer from 1753 to 9999 that represents the cutoff year for interpreting two-digit years as four-digit years. Cette option est autorisée uniquement lorsque CONTAINMENT a été défini sur PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT est défini sur NONE, des erreurs se produiront.If CONTAINMENT is set to NONE, errors will occur.

<FILESTREAM_option> ::= <FILESTREAM_option> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server ( SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Contrôle les paramètres des FileTables.Controls the settings for FileTables.

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
OFFOFF
L’accès non transactionnel aux données FileTable est désactivé.Non-transactional access to FileTable data is disabled.

READ_ONLYREAD_ONLY
Les données FILESTREAM dans les FileTables de cette base de données peuvent être lues par des processus non transactionnels.FILESTREAM data in FileTables in this database can be read by non-transactional processes.

FULLFULL
Active l’accès non transactionnel complet aux données FILESTREAM dans les FileTables.Enables full, non-transactional access to FILESTREAM data in FileTables is enabled.

DIRECTORY_NAME = <directory_name> DIRECTORY_NAME = <directory_name>
Nom de répertoire compatible avec Windows.A windows-compatible directory name. Ce nom doit être unique parmi tous les noms de répertoire au niveau de la base de données dans cette instance de SQL ServerSQL Server.This name should be unique among all the database-level directory names in the SQL ServerSQL Server instance. La comparaison d'unicité n'est pas sensible à la casse, indépendamment des paramètres de classement.Uniqueness comparison is case-insensitive, regardless of collation settings. Cette option doit être définie avant de créer un FileTable dans cette base de données.This option must be set before creating a FileTable in this database.

<HADR_options> ::= <HADR_options> ::=
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Voir ALTER DATABASE SET HADR.See ALTER DATABASE SET HADR.

<mixed_page_allocation_option> ::= <mixed_page_allocation_option> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL ServerSQL Server)

Contrôle si la base de données peut créer des pages initiales à l’aide d’une extension mixte pour les huit premières pages d’une table ou d’un index.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 données crée toujours les pages initiales à l’aide d’extensions uniformes.The database always creates initial pages using uniform extents. OFF est la valeur par défaut.OFF is the default value.

ONON
La base de données peut créer des pages initiales à l’aide d’extensions mixtes.The database can create initial pages using mixed extents.

Ce paramètre est ON pour toutes les bases de données système.This setting is ON for all system databases. tempdb est la seule base de données système qui prend en charge la valeur OFF.tempdb is the only system database that supports OFF.

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

Contrôle l'option de paramétrage.Controls the parameterization option. Pour plus d’informations sur le paramétrage, consultez Guide d’architecture de traitement des requêtes.For more information on parameterization, see the Query Processing Architecture Guide.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Les requêtes sont paramétrables en fonction du comportement par défaut de la base de données.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server paramètre toutes les requêtes de la base de données.parameterizes all queries in the database.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_parameterization_forced column dans la vue de catalogue 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> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL ServerSQL Server)

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Contrôle si le Magasin des requêtes est activé dans cette base de données et contrôle la suppression du contenu du Magasin des requêtes.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store. Pour plus d’informations, consultez Scénarios d’utilisation du magasin des requêtes.For more information, see Query Store Usage Scenarios.

ONON
Active le magasin des requêtes.Enables the Query Store.

OFFOFF
Désactive le magasin des requêtes.Disables the Query Store. OFF est la valeur par défaut.OFF is the default value.

CLEARCLEAR
Supprime le contenu du magasin des requêtes.Remove the contents of the Query Store.

OPERATION_MODE { READ_ONLY | READ_WRITE }OPERATION_MODE { READ_ONLY | READ_WRITE }
Décrit le mode de fonctionnement du magasin des requêtes.Describes the operation mode of the Query Store.

READ_WRITEREAD_WRITE
Le magasin des requêtes collecte et conserve les informations sur les plans de requête et les statistiques d’exécution.The Query Store collects and persists query plan and runtime execution statistics information.

READ_ONLYREAD_ONLY
Les informations peuvent être lues à partir du Magasin des requêtes, mais les nouvelles informations ne sont pas ajoutées.Information can be read from the Query Store, but new information isn't added. Si l’espace maximal alloué au magasin des requêtes est atteinte, le mode d’opération du magasin des requêtes passe en 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
Décrit la stratégie de conservation des données du magasin des requêtes.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS détermine le nombre de jours pendant lesquels les informations d’une requête sont conservées dans le magasin des requêtes.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 est de type bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Détermine la fréquence à laquelle les données écrites dans le magasin des requêtes sont stockées sur le disque.Determines the frequency at which data written to the Query Store is persisted to disk. Pour optimiser les performances, les données collectées par le magasin des requêtes sont écrites de façon asynchrone sur le disque.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. La fréquence à laquelle ce transfert asynchrone se produit est configurée à l'aide de l'argument 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 est de type bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Détermine l’espace alloué au magasin des requêtes.Determines the space issued to the Query Store. MAX_STORAGE_SIZE_MB est de type bigint.MAX_STORAGE_SIZE_MB is type bigint.

Notes

La limite MAX_STORAGE_SIZE_MB n’est pas appliquée strictement.MAX_STORAGE_SIZE_MB limit isn't strictly enforced. La taille de stockage est vérifiée seulement quand le Magasin des requêtes écrit des données sur le disque.Storage size is checked only when Query Store writes data to disk. Cet intervalle est défini par l’option DATA_FLUSH_INTERVAL_SECONDS ou l’option de la boîte de dialogue Magasin des requêtes Management StudioManagement Studio Intervalle de vidage des données.This interval is set by the DATA_FLUSH_INTERVAL_SECONDS option or the Management StudioManagement Studio Query Store dialog box option Data Flush Interval. La valeur par défaut de l’intervalle est 900 secondes (ou 15 minutes).The interval default value is 900 seconds (or 15 minutes).
Si le Magasin des requêtes a enfreint la limite MAX_STORAGE_SIZE_MB entre des vérifications de la taille de stockage, il passe en mode lecture seule.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 activé, le mécanisme de nettoyage permettant d’appliquer MAX_STORAGE_SIZE_MB est également déclenché.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
Détermine l’intervalle de temps auquel les données des statistiques d’exécution du runtime sont agrégées dans le magasin des requêtes.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Pour optimiser l'espace, les statistiques d'exécution du runtime du magasin de statistiques du runtime sont agrégées sur une période fixe.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Cette fenêtre de temps fixe est configurée à l'aide de l'argument INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES est de type bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODE { AUTO | OFF }SIZE_BASED_CLEANUP_MODE { AUTO | OFF }
Contrôle si le nettoyage s’active automatiquement quand la quantité totale de données approche de la taille maximale.Controls whether cleanup automatically activates when the total amount of data gets close to maximum size.

AUTOAUTO
Le nettoyage basé sur la taille est activé automatiquement quand la taille sur le disque atteint 90 % de MAX_STORAGE_SIZE_MB.Size-based cleanup will be automatically activated when size on disk reaches 90% of MAX_STORAGE_SIZE_MB. Le nettoyage basé sur la taille supprime les requêtes les moins coûteuses et les plus anciennes en premier.Size-based cleanup removes the least expensive and oldest queries first. Il s’arrête à environ 80 % de MAX_STORAGE_SIZE_MB. Cette valeur est la valeur de configuration par défaut.It stops at approximately 80% of MAX_STORAGE_SIZE_MB.This value is the default configuration value.

OFFOFF
Le nettoyage basé sur la taille n’est pas activé automatiquement.Size-based cleanup won't be automatically activated.

SIZE_BASED_CLEANUP_MODE est de type nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }
Désigne le mode de capture de requête actif actuellement.Designates the currently active query capture mode. Chaque mode définit des stratégies de capture de requête spécifiques.Each mode defines specific query capture policies.

Notes

Les curseurs, les requêtes dans les procédures stockées et les requêtes compilées en mode natif sont toujours capturés lorsque le mode de capture de requête est défini sur All (Tous), Auto ou Custom (Personnalisé).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
Capture toutes les requêtes.Captures all queries. ALL est la valeur de configuration par défaut pour SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) à SQL Server 2017 (14.x)SQL Server 2017 (14.x)).ALL is the default configuration value for SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017 (14.x)SQL Server 2017 (14.x)).

AUTOAUTO
Capturer les requêtes pertinentes en fonction du nombre d’exécutions et de la consommation de ressources.Capture relevant queries based on execution count and resource consumption. Il s’agit de la valeur de configuration par défaut pour SQL ServerSQL Server (à compter de SQL Server 2019 (15.x)SQL Server 2019 (15.x)) et Azure SQL DatabaseAzure 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 Azure SQL DatabaseAzure SQL Database.

AucuneNONE
Cesser la capture des nouvelles requêtes.Stop capturing new queries. Le Magasin des requêtes continue de collecter des statistiques de compilation et d’exécution pour les requêtes qui ont déjà été capturées.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Utilisez cette configuration avec précaution, car vous risquez de manquer la capture de requêtes importantes.Use this configuration with caution since you may miss capturing important queries.

CUSTOMCUSTOM
S’applique à : SQL ServerSQL Server (à compter 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)

Permet de contrôler les options QUERY_CAPTURE_POLICY.Allows control over the QUERY_CAPTURE_POLICY options.

QUERY_CAPTURE_MODE est de type nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Définit le nombre maximal de plans gérés pour chaque requête.Defines the maximum number of plans maintained for each query. La valeur par défaut est 200.The default is 200. MAX_PLANS_PER_QUERY est de type int.MAX_PLANS_PER_QUERY is type int.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
S’applique à : SQL ServerSQL Server (à compter 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)

Contrôle les options de stratégie de capture du magasin des requêtes.Controls the Query Store capture policy options. Sauf pour STALE_CAPTURE_POLICY_THRESHOLD, ces options définissent dans la valeur de la durée de validité de la stratégie de capture les conditions OR qui doivent intervenir pour que les requêtes soient capturées.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 }
Définit la période d’évaluation pour déterminer si une requête doit être capturée.Defines the evaluation interval period to determine if a query should be captured. La valeur par défaut est de 1 jour, les valeurs possibles oscillant entre 1 heure et sept jours.The default is 1 day, and it can be set from 1 hour to seven days. number est de type int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Définit le nombre d’exécutions d’une requête pendant la période d’évaluation.Defines the number of times a query is executed over the evaluation period. La valeur par défaut est 30, ce qui signifie que pour la durée de validité par défaut de la stratégie de capture, une requête doit s’exécuter au moins 30 fois dans la même journée pour devenir persistante dans le Magasin des requêtes.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 est de type int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Définit le temps UC de compilation écoulé total utilisé par une requête pendant la période d’évaluation.Defines total elapsed compile CPU time used by a query over the evaluation period. La valeur par défaut est 1000 ; ainsi, pour la durée de validité par défaut de la stratégie de capture, une requête doit avoir un total d’au moins une seconde de temps processeur écoulé pendant la compilation de la requête dans une même journée pour devenir persistante dans le Magasin des requêtes.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 est de type int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Définit le temps UC d’exécution écoulé total utilisé par une requête pendant la période d’évaluation.Defines total elapsed execution CPU time used by a query over the evaluation period. La valeur par défaut est 100 ; ainsi, pour la durée de validité par défaut de la stratégie de capture, une requête doit avoir un total d’au moins 100 ms de temps processeur écoulé pendant l’exécution dans une même journée pour devenir persistante dans le Magasin des requêtes.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 est de type int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<recovery_option> ::= <recovery_option> ::=
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Contrôle les options de récupération de base de données et la vérification des erreurs d'E/S disque.Controls database recovery options and disk I/O error checking.

FULLFULL
Assure une récupération complète après la défaillance d’un support à l’aide des sauvegardes de journaux des transactions.Provides full recovery after media failure by using transaction log backups. Si un fichier de données est endommagé, la récupération des supports peut restaurer toutes les transactions validées.If a data file is damaged, media recovery can restore all committed transactions. Pour plus d’informations, voir Modes de récupération.For more information, see Recovery Models.

BULK_LOGGEDBULK_LOGGED
Assure une récupération après la défaillance d’un support.Provides recovery after media failure. Cette option associe des performances optimales et une utilisation minimale de l’espace réservé aux fichiers journaux pour certaines opérations en bloc ou de grande échelle.Combines the best performance and least amount of log-space use for certain large-scale or bulk operations. Pour plus d’informations sur les opérations pouvant faire l’objet d’une journalisation minimale, voir Journal des transactions.For information about what operations can be minimally logged, see The Transaction Log. Avec le mode de récupération BULK_LOGGED, ces opérations font l'objet d'une journalisation minimale.Under the BULK_LOGGED recovery model, logging for these operations is minimal. Pour plus d’informations, voir Modes de récupération.For more information, see Recovery Models.

SIMPLESIMPLE
Une stratégie de sauvegarde simple utilisant un espace de journalisation minimal est fournie.A simple backup strategy that uses minimal log space is provided. L’espace réservé aux fichiers journaux peut être automatiquement réutilisé lorsqu’il n’est plus utilisé pour la récupération des défaillances serveur.Log space can be automatically reused when it's no longer required for server failure recovery. Pour plus d’informations, voir Modes de récupération.For more information, see Recovery Models.

Important

Le mode de récupération simple est plus facile à gérer que les deux autres modes, mais le risque de perte de données est plus élevé lorsqu'un fichier de données est endommagé.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. Toutes les modifications apportées depuis la dernière sauvegarde de la base de données ou de la sauvegarde différentielle de la base de données sont perdues et doivent être réintroduites manuellement.All changes since the most recent database or differential database backup are lost and must be manually reentered.

Le mode de récupération par défaut dépend du mode de récupération de la base de données model .The default recovery model is determined by the recovery model of the model database. Pour plus d’informations sur le choix du modèle de récupération, voir Modèles de récupération.For more information about selecting the appropriate recovery model, see Recovery Models.

Vous pouvez déterminer l’état de cette option en consultant les colonnes recovery_model et recovery_model_desc dans la vue de catalogue 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. Vous pouvez également déterminer l’état en consultant la propriété Recovery de la fonction 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
Les pages incomplètes peuvent être détectées par le Moteur de base de donnéesDatabase Engine.Incomplete pages can be detected by the Moteur de base de donnéesDatabase Engine.

OFFOFF
Les pages incomplètes ne peuvent pas être détectées par le Moteur de base de donnéesDatabase Engine.Incomplete pages can't be detected by the Moteur de base de donnéesDatabase Engine.

Important

La structure syntaxique TORN_PAGE_DETECTION ON | OFF sera supprimée dans une version ultérieure de SQL ServerSQL Server.The syntax structure TORN_PAGE_DETECTION ON | OFF will be removed in a future version of SQL ServerSQL Server. Évitez d'utiliser cette structure syntaxique dans le développement de nouvelles applications et envisagez de modifier celles qui l'utilisent actuellement.Avoid using this syntax structure in new development work, and plan to modify applications that currently use the syntax structure. Utilisez l'option PAGE_VERIFY à la place.Use the PAGE_VERIFY option instead.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
Détecte les pages de base de données endommagées résultant d'erreurs de chemin d'E/S disque.Discovers damaged database pages caused by disk I/O path errors. Les erreurs de chemin d’E/S disque peuvent être la cause de problèmes de corruption de base de données.Disk I/O path errors can be the cause of database corruption problems. Ces erreurs sont le plus souvent provoquées par des pannes d’alimentation ou des défaillances matérielles du disque qui se produisent au moment où la page est écrite sur le disque.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
Calcule une somme de contrôle du contenu d’une page entière et stocke la valeur dans l’en-tête de page quand celle-ci est écrite sur le disque.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. Lorsque la page est ensuite lue à partir du disque, la somme de contrôle est recalculée et le résultat est comparé à la valeur préalablement stockée dans l'en-tête de la page.When the page is read from disk, the checksum is recomputed and compared to the checksum value stored in the page header. Si les valeurs diffèrent, le message d’erreur 824 (indiquant l’échec d’une somme de contrôle) est signalé dans le journal des erreurs SQL ServerSQL Server et le journal des événements 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 échec de somme de contrôle indique un problème de chemin d'E/S.A checksum failure indicates an I/O path problem. Pour en déterminer la cause, vous devez examiner le matériel, les pilotes de microprogrammes, le BIOS, les pilotes de filtre (par exemple un logiciel antivirus) et d'autres composants de chemin d'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
Enregistre un modèle spécifique de 2 bits pour chaque secteur de 512 octets dans la page de base de données de 8 kilo-octets (Ko) et le stocke dans l’en-tête de page de base de données au moment où la page est écrite sur le disque.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. Lorsque la page est ensuite lue à partir du disque, les bits endommagés stockés dans l'en-tête de la page sont comparés aux informations réelles du secteur concerné.When the page is read from disk, the torn bits stored in the page header are compared to the actual page sector information.

Lorsque les valeurs ne concordent pas, cela signifie que seule une partie de la page a été écrite sur le disque.Unmatched values indicate that only part of the page was written to disk. Dans un tel cas, le message d'erreur 824 (indiquant une erreur de page endommagée) est signalé dans le journal des erreurs SQL ServerSQL Server et le journal des événements 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. Les pages endommagées sont généralement détectées par la récupération de base de données s’il s’agit réellement d’une écriture de page incomplète.Torn pages are typically detected by database recovery if it's truly an incomplete write of a page. Toutefois, les échecs de chemin d'E/S peuvent donner lieu à tout moment à une page endommagée.However, other I/O path failures can cause a torn page at any time.

AucuneNONE
Les écritures de page de base de données ne génèrent pas de valeur CHECKSUM ni TORN_PAGE_DETECTION.Database page writes won't generate a CHECKSUM or TORN_PAGE_DETECTION value. SQL ServerSQL Server ne vérifie pas une somme de contrôle ou une page endommagée au cours d'une lecture, même si l'en-tête de page comporte une valeur CHECKSUM ou TORN_PAGE_DETECTION.will not verify a checksum or torn page during a read even if a CHECKSUM or TORN_PAGE_DETECTION value is present in the page header.

Prenez en considération les points suivants lorsque vous utilisez l'option PAGE_VERIFY :Consider the following important points when you use the PAGE_VERIFY option:

  • La valeur par défaut est CHECKSUM.The default is CHECKSUM.

  • Quand une base de données utilisateur ou système est mise à niveau vers SQL Server 2005 (9.x)SQL Server 2005 (9.x) ou une version ultérieure, la valeur de PAGE_VERIFY (NONE ou TORN_PAGE_DETECTION) n’est pas changée.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. Nous vous recommandons de changer pour CHECKSUM.We recommend that you change to CHECKSUM.

    Notes

    Dans les versions antérieures de SQL ServerSQL Server, l’option de base de données PAGE_VERIFY est définie par la valeur NONE pour la base de données TempDB et ne peut pas être modifiée.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. Dans SQL Server 2008SQL Server 2008 et versions ultérieures, la valeur par défaut pour la base de données TempDB est CHECKSUM pour les nouvelles installations 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. Quand vous mettez à niveau une installation SQL ServerSQL Server, la valeur par défaut reste NONE.When upgrading an installation SQL ServerSQL Server, the default value remains NONE. L'option peut être modifiée.The option can be modified. Nous vous recommandons d'utiliser CHECKSUM pour la base de données tempdb.We recommend that you use CHECKSUM for the tempdb database.

  • Même si la valeur TORN_PAGE_DETECTION utilise moins de ressources, elle ne fournit qu'un sous-ensemble limité de la protection offerte par CHECKSUM.TORN_PAGE_DETECTION may use fewer resources but provides a minimal subset of the CHECKSUM protection.

  • Il est possible de définir PAGE_VERIFY sans mettre la base de données hors connexion, la verrouiller ni empêcher d'une quelconque façon la concurrence pour cette base de données.PAGE_VERIFY can be set without taking the database offline, locking the database, or otherwise impeding concurrency on that database.

  • CHECKSUM et TORN_PAGE_DETECTION s'excluent mutuellement.CHECKSUM is mutually exclusive to TORN_PAGE_DETECTION. Les deux options ne peuvent pas être activées en même temps.Both options can't be enabled at the same time.

Lors de la détection d'une page endommagée ou d'un échec de somme de contrôle, vous pouvez procéder à une récupération en restaurant les données ou en reconstruisant éventuellement l'index si la défaillance se limite à des pages d'index.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. En présence d'une erreur de somme de contrôle, pour déterminer le type de la ou des pages de données affectées, exécutez DBCC CHECKDB.If you encounter a checksum failure, to determine the type of database page or pages affected, run DBCC CHECKDB. Pour plus d’informations sur les options de restauration, voir Arguments RESTORE.For more information about restore options, see RESTORE Arguments. Bien que la restauration des données permette de résoudre le problème d'endommagement des données, la cause première, par exemple une défaillance matérielle du disque, doit être identifiée et corrigée le plus rapidement possible pour éviter que ces erreurs persistent.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 procède à quatre nouvelles tentatives pour une lecture qui échoue avec une erreur de somme de contrôle, de page endommagée ou d'E/S disque.will retry any read that fails with a checksum, torn page, or other I/O error four times. Si la lecture réussit lors de l’une de ces tentatives, un message est écrit dans le journal des erreurs.If the read is successful in any one of the retry attempts, a message is written to the error log. La commande qui a déclenché la lecture continue.The command that triggered the read will continue. La commande échoue avec le message d’erreur 824 si les tentatives de lecture échouent.The command will fail with error message 824 if the retry attempts fail.

Pour plus d’informations sur les messages d’erreur 823, 824 et 825, consultez :For more information about error messages 823, 824 and 825, see:

Vous pouvez déterminer la valeur actuelle de cette option en consultant la colonne page_verify_option de la vue de catalogue sys.databases ou la propriété IsTornPageDetectionEnabled de la fonction 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> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL ServerSQL Server)

Active ou désactive Stretch Database pour la base de données.Enables or disables Stretch Database for the database. Pour plus d'informations, consultez Stretch Database.For more info, see Stretch Database.

REMOTE_DATA_ARCHIVE = { ON ( SERVER = <nom_serveur> , { CREDENTIAL = <nom_informations_identification_délimitées_à_base_de_données> | 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
Active Stretch Database pour la base de données.Enables Stretch Database for the database. Pour plus d’informations, notamment sur les prérequis supplémentaires, consultez Activer Stretch Database pour une base de données.For more info, including additional prerequisites, see Enable Stretch Database for a database.

Nécessite l’autorisation db_owner pour activer Stretch Database pour une table.Requires db_owner permission to enable Stretch Database for a table. Nécessite les autorisations db_owner et CONTROL DATABASE pour activer Stretch Database pour une base de données.Requires db_owner and CONTROL DATABASE permissions to enable Stretch Database for a database.

SERVER = <server_name>SERVER = <server_name>
Spécifie l’adresse du serveur Azure.Specifies the address of the Azure server. Incluez la partie .database.windows.net du nom.Include the .database.windows.net portion of the name. Par exemple, MyStretchDatabaseServer.database.windows.net.For example, MyStretchDatabaseServer.database.windows.net.

CREDENTIAL = <db_scoped_credential_name>CREDENTIAL = <db_scoped_credential_name>
Spécifie les informations d’identification délimitées à la base de données utilisées par l’instance de SQL ServerSQL Server pour se connecter au serveur Azure.Specifies the database scoped credential that the instance of SQL ServerSQL Server uses to connect to the Azure server. Vérifiez que les informations d’identification existent avant d’exécuter cette commande.Make sure the credential exists before you run this command. Pour plus d’informations, voir CREATE DATABASE SCOPED CREDENTIAL.For more info, see CREATE DATABASE SCOPED CREDENTIAL.

FEDERATED_SERVICE_ACCOUNT = { ON | OFF }FEDERATED_SERVICE_ACCOUNT = { ON | OFF }
Vous pouvez utiliser un compte de service fédéré pour que le serveur SQL Server local communique avec le serveur Azure distant quand les conditions suivantes sont toutes remplies.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.

  • Le compte de service sous lequel l’instance de SQL Server s’exécute est un compte de domaine.The service account under which the instance of SQL Server is running is a domain account.
  • Le compte de domaine appartient à un domaine dont Active Directory est fédéré avec Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.
  • Le serveur Azure distant est configuré pour prendre en charge l’authentification Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.
  • Le compte de service sous lequel s’exécute l’instance de SQL Server doit être configuré comme un compte dbmanager ou sysadmin sur le serveur Azure distant.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.

En outre, si vous spécifiez que le compte de service fédéré est ON, vous ne pouvez pas spécifier l’argument CREDENTIAL.If you specify that the federated service account is ON, you can't also specify the CREDENTIAL argument. Vous devez fournir l’argument CREDENTIAL si vous spécifiez OFF.Provide the CREDENTIAL argument if you specify OFF.

OFFOFF
Désactive Stretch Database pour la base de données.Disables Stretch Database for the database. Pour plus d’informations, consultez Désactiver Stretch Database et récupérer les données distantes.For more info, see Disable Stretch Database and bring back remote data.

Vous pouvez uniquement désactiver Stretch Database pour une base de données une fois que celle-ci ne contient plus de tables qui sont activées pour 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. Lorsque vous désactivez Stretch Database, la migration des données s’arrête.After you disable Stretch Database, data migration stops. En outre, les résultats de la requête n’incluent plus les résultats de tables distantes.Also, query results no longer include results from remote tables.

La désactivation de Stretch ne supprime pas la base de données distante.Disabling Stretch doesn't remove the remote database. Pour supprimer la base de données distante, supprimez-la en utilisant le portail Azure.To delete the remote database, drop it by using the Azure portal.

<service_broker_option> ::= <service_broker_option> ::=
S’applique à : SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Contrôle les options Service BrokerService Broker suivantes : active ou désactive la remise de messages, définit un nouvel identificateur Service BrokerService Broker ou définit les priorités de conversation sur ON ou 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
Spécifie que Service BrokerService Broker est activé pour la base de données spécifiée.Specifies that Service BrokerService Broker is enabled for the specified database. La remise des messages est démarrée et l’indicateur is_broker_enabled est défini sur true dans la vue de catalogue 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 données conserve l’identificateur Service BrokerService Broker existant.The database keeps the existing Service BrokerService Broker identifier. Service Broker ne peut pas être activé lorsque la base de données est la base de données principale dans une configuration de mise en miroir de bases de données.Service broker can't be enabled while the database is the principal in a database mirroring configuration.

Notes

ENABLE_BROKER requiert un verrou de base de données exclusif.ENABLE_BROKER requires an exclusive database lock. Si d'autres sessions ont verrouillé des ressources dans la base de données, ENABLE_BROKER attend jusqu'à ce que les autres sessions libèrent leurs verrous.If other sessions have locked resources in the database, ENABLE_BROKER will wait until the other sessions release their locks. Pour activer Service BrokerService Broker dans une base de données utilisateur, vérifiez qu'aucune autre session n'utilise la base de données avant d'exécuter l'instruction ALTER DATABASE SET ENABLE_BROKER, comme le fait de mettre la base de données en mode mono-utilisateur.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. Pour activer Service BrokerService Broker dans la base de données msdb, arrêtez d'abord l'Agent SQL ServerSQL Server, afin que Service BrokerService Broker puisse obtenir le verrou nécessaire.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
Spécifie que Service BrokerService Broker est désactivé pour la base de données spécifiée.Specifies that Service BrokerService Broker is disabled for the specified database. La remise des messages est arrêtée et l’indicateur is_broker_enabled est défini sur false dans la vue de catalogue 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 données conserve l’identificateur Service BrokerService Broker existant.The database keeps the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Spécifie que la base de données doit recevoir un nouvel identificateur Service Broker.Specifies that the database should receive a new broker identifier. La base de données agit comme un nouveau Service Broker.The database acts as a new service broker. Toutes les conversations existantes dans la base de données sont ainsi immédiatement supprimées sans générer de message de fin de dialogue.As such, all existing conversations in the database are immediately removed without producing end dialog messages. Tout itinéraire qui fait référence à l'ancien identificateur Service BrokerService Broker doit être recréé avec le nouvel identificateur.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Spécifie que la remise de messages Service BrokerService Broker est activée.Specifies that Service BrokerService Broker message delivery is enabled. Ce paramètre préserve l’identificateur Service BrokerService Broker existant de la base de données.This setting preserves the existing Service BrokerService Broker identifier for the database. Service BrokerService Broker met fin à toutes les conversations de la base de données avec une erreur.ends all conversations in the database with an error. Ce paramètre permet aux applications d’exécuter un nettoyage régulier des conversations existantes.This setting enables applications to run regular cleanup for existing conversations.

HONOR_BROKER_PRIORITY {ON | OFF}HONOR_BROKER_PRIORITY {ON | OFF}
ONON
Les opérations d’envoi prennent en considération les niveaux de priorité assignés aux conversations.Send operations take into consideration the priority levels that are assigned to conversations. Les messages issus de conversations dont les niveaux de priorité sont élevés sont envoyés avant ceux issus de conversations dont les niveaux de priorité sont faibles.Messages from conversations that have high priority levels are sent before messages from conversations that are assigned low-priority levels.

OFFOFF
Les opérations d’envoi s’exécutent comme si toutes les conversations étaient dotées du niveau de priorité par défaut.Send operations run as if all conversations have the default priority level.

Les modifications apportées à l'option HONOR_BROKER_PRIORITY prennent effet immédiatement pour les nouveaux dialogues ou les dialogues qui n'ont pas de messages en attente d'envoi.Changes to the HONOR_BROKER_PRIORITY option take effect immediately for new dialogs or dialogs that have no messages waiting to be sent. Les dialogues avec des messages à envoyer lorsque l’instruction ALTER DATABASE est exécutée ne récupéreront pas le nouveau paramètre tant que certains messages pour le dialogue ne sont pas envoyés.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 durée nécessaire pour que tous les dialogues commencent à utiliser le nouveau paramètre peut varier considérablement.The amount of time before all dialogs start using the new setting can vary considerably.

La valeur actuelle de cette propriété est indiqué dans la colonne is_broker_priority_honored de la vue de catalogue 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> ::=

Calcule le niveau d’isolation de la transaction.Calculates the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Active l'option Instantané au niveau de la base de données.Enables Snapshot option at the database level. Lorsque cette option est activée, les instructions DML commencent à générer des versions de ligne même quand aucune transaction n’utilise l’isolement d’instantané.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Une fois que cette option est activée, les transactions peuvent spécifier le niveau d'isolement des transactions SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Quand une transaction s'exécute au niveau d'isolement SNAPSHOT, toutes les instructions voient un instantané des données tel qu'il existe au début de la transaction.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 une transaction exécutée au niveau d'isolement SNAPSHOT accède à des données dans plusieurs bases de données, l'option ALLOW_SNAPSHOT_ISOLATION doit avoir la valeur ON dans toutes les bases de données ou chaque instruction de la transaction doit utiliser des indicateurs de verrouillage sur toute référence d'une clause FROM à une table de la base de données dont l'option ALLOW_SNAPSHOT_ISOLATION a la valeur 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
Désactive l’option Instantané au niveau de la base de données.Turns off the Snapshot option at the database level. Les transactions peuvent spécifier le niveau d’isolation de la transaction SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Lorsque vous modifiez l'état de ALLOW_SNAPSHOT_ISOLATION (de ON à OFF ou inversement), ALTER DATABASE ne retourne pas le contrôle à l'appelant tant que toutes les transactions existantes dans la base de données n'ont pas été validées.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 données présente déjà l'état spécifié dans l'instruction ALTER DATABASE, le contrôle est immédiatement retourné à l'appelant.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Si l’instruction ALTER DATABASE n’est pas retournée rapidement, utilisez sys.dm_tran_active_snapshot_database_transactions pour déterminer si certaines transactions sont de longue durée.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 l'instruction ALTER DATABASE est annulée, la base de données conserve l'état qu'elle présentait au démarrage de ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. la vue de catalogue sys.databases indique l’état des transactions d’isolement d’instantané dans la base de données.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 marque une pause de six secondes puis réessaie d’exécuter l’opération.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Vous ne pouvez pas modifier l’état de ALLOW_SNAPSHOT_ISOLATION si la base de données est hors connexion (OFFLINE).You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Si vous configurez ALLOW_SNAPSHOT_ISOLATION dans une base de données en lecture seule (READ_ONLY), le paramètre est conservé si la base de données devient par la suite accessible en lecture et en écriture (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.

Vous pouvez modifier les paramètres de ALLOW_SNAPSHOT_ISOLATION pour les bases de données master, model, msdb et tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Le paramètre est conservé à chaque arrêt et redémarrage de l’instance du Moteur de base de donnéesDatabase Engine si vous changez le paramètre pour la base de données tempdb.The setting is kept every time the instance of the Moteur de base de donnéesDatabase Engine is stopped and restarted if you change the setting for tempdb. Si vous modifiez le paramètre pour la base de données model, il devient le paramètre par défaut pour toutes les nouvelles bases de données créées à l'exception de tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Cette option est ON par défaut pour les bases de données master et msdb.The option is ON by default for the master and msdb databases.

La valeur actuelle de cette option peut être déterminée en examinant la colonne snapshot_isolation_state dans la vue de catalogue 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
Active l’option d’instantané de lecture validée au niveau de la base de données.Enables Read-Committed Snapshot option at the database level. Lorsque cette option est activée, les instructions DML commencent à générer des versions de ligne même quand aucune transaction n’utilise l’isolement d’instantané.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Une fois que cette option est activée, les transactions qui définissent le niveau d'isolement de lecture validée utilisent le contrôle de version de ligne au lieu du verrouillage.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Toutes les instructions voient un instantané des données telles qu’elles existent au début de l’instruction quand une transaction est exécutée au niveau d’isolation 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
Désactive l’option d’instantané de lecture validée au niveau de la base de données.Turns off Read-Committed Snapshot option at the database level. Les transactions spécifiant le niveau d'isolation READ COMMITTED utilisent le verrouillage.Transactions specifying the READ COMMITTED isolation level use locking.

Pour définir READ_COMMITTED_SNAPSHOT sur ON ou sur OFF, il ne doit exister aucune connexion active à la base de données, à l’exception de la connexion exécutant la commande 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. Toutefois, il n’est pas nécessaire que la base de données soit en mode mono-utilisateur.However, the database doesn't have to be in single-user mode. Vous ne pouvez pas modifier l’état de cette option si la base de données est hors connexion (OFFLINE).You can't change the state of this option when the database is OFFLINE.

Si vous configurez READ_COMMITTED_SNAPSHOT dans une base de données en lecture seule (READ_ONLY), le paramètre est conservé lorsque la base de données devient par la suite accessible en lecture et en écriture (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.

Il n’est pas possible d’affecter la valeur ON à READ_COMMITTED_SNAPSHOT pour les bases de données système master, tempdb ou msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Si vous changez le paramètre pour la base de données model, il devient le paramètre par défaut pour toutes les nouvelles bases de données créées, à l’exception de tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_read_committed_snapshot_on dans la vue de catalogue 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.

Avertissement

Quand une table est créée avec DURABILITY = SCHEMA_ONLY et que READ_COMMITTED_SNAPSHOT est changé par la suite à l’aide d’ALTER DATABASE, les données de la table sont perdues.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 }
S’applique à : SQL ServerSQL Server (de SQL Server 2014 (12.x)SQL Server 2014 (12.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL ServerSQL Server)

ONON
Quand le niveau d’isolation de la transaction est défini sur un niveau inférieur à SNAPSHOT, toutes les opérations en Transact-SQLTransact-SQL interprété sur les tables à mémoire optimisée sont exécutées avec l’isolation 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. Des niveaux d’isolation inférieurs à snapshot sont, par exemple, READ COMMITTED ou READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Ces opérations sont exécutées si le niveau d’isolation de la transaction est défini explicitement sur le niveau de la session, ou si la valeur par défaut est utilisée implicitement.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
N’élève pas le niveau d’isolation pour les opérations en Transact-SQLTransact-SQL interprété sur les tables à mémoire optimisée.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Vous ne pouvez pas modifier l’état de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT si la base de données est hors connexion (OFFLINE).You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

L’option par défaut est OFF.The default option is OFF.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_memory_optimized_elevate_to_snapshot_on dans la vue de catalogue 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> ::=

Contrôle les options de conformité ANSI au niveau de la base de données.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF } : Détermine la valeur par défaut, NULL ou NOT NULL, d’une colonne ou d’un type CLR défini par l’utilisateur dont le paramètre d’acceptation des valeurs NULL n’est pas défini de façon explicite dans les instructions CREATE TABLE ou 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. Les colonnes définies avec des contraintes respectent les règles de contrainte, quel que soit ce paramètre.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
La valeur par défaut d’une colonne non définie est NULL.The default value for an undefined column is NULL.

OFFOFF
La valeur par défaut d’une colonne non définie est NOT NULL.The default value for an undefined column is NOT NULL.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre défini pour ANSI_NULL_DEFAULT au niveau de la base de données par défaut.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_NULL_DEFAULT pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Pour garantir la compatibilité ANSI, l'activation (ON) de l'option de base de données ANSI_NULL_DEFAULT entraîne la définition de NULL comme valeur par défaut de la base de données.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_null_default_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiNullDefault de la fonction 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
Toutes les comparaisons avec une valeur Null produisent le résultat UNKNOWN (inconnu).All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Les comparaisons de valeurs non-UNICODE avec une valeur Null génèrent la valeur TRUE si les deux valeurs sont Null.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Important

Dans une future version de SQL ServerSQL Server, ANSI_NULLS aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut défini pour ANSI_NULLS au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_NULLS pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Important

SET ANSI_NULLS doit également avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_nulls_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiNullsEnabled de la fonction 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
Les chaînes sont complétées pour avoir la même longueur avant leur conversion.Strings are padded to the same length before conversion. Elles sont également complétées pour avoir la même longueur avant leur insertion dans un type de données varchar ou nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Cette option insère des espaces à droite dans les valeurs de type character dans des colonnes varchar ou nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Cette option laisse également les zéros à droite dans les valeurs de type binary insérées dans des colonnes varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Les valeurs ne sont pas complétées à concurrence de la longueur de la colonne.Values aren't padded to the length of the column.

Lorsque cette option a la valeur OFF, elle affecte uniquement la définition des nouvelles colonnes.When OFF is specified, this setting affects only the definition of new columns.

Important

Dans une future version de SQL ServerSQL Server, ANSI_PADDING aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Il est recommandé de toujours affecter la valeur ON à l'option ANSI_PADDING.We recommend that you always set ANSI_PADDING to ON. Par ailleurs, ANSI_PADDING doit avoir la valeur ON lorsque vous créez ou manipulez des index dans des colonnes calculées ou des vues indexées.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Les colonnes char(n) et binary(n) qui acceptent des valeurs NULL sont complétées à concurrence de la longueur de la colonne lorsque ANSI_PADDING a la valeur ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Les espaces à droite et les zéros sont tronqués lorsque ANSI_PADDING a la valeur OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Les colonnes char(n) et binary(n) qui n’acceptent pas les valeurs NULL sont toujours complétées à concurrence de la longueur de la colonne.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre de ANSI_PADDING au niveau de la base de données par défaut.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_PADDING pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_padding_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiPaddingEnabled de la fonction 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
Des erreurs ou avertissements sont émis si des conditions telles que « division par zéro » sont vérifiées.Errors or warnings are issued when conditions such as divide-by-zero occur. Des erreurs et avertissements sont également générés lorsque des valeurs Null apparaissent dans des fonctions d’agrégation.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Aucun avertissement n’est généré et des valeurs Null sont retournées quand des conditions telles qu’une division par zéro se manifestent.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Important

SET ANSI_WARNINGS doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut de ANSI_NULLS défini au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_WARNINGS pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_warnings_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiWarningsEnabled de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Arrête une requête quand un dépassement de capacité ou une division par zéro se produit durant son exécution.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Un message d’avertissement s’affiche quand l’une de ces erreurs se produit.A warning message is displayed when one of these errors occurs. Le traitement de la requête, du lot ou de la transaction se poursuit comme s’il n’y avait pas d’erreur, même si un message d’avertissement s’affiche.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Important

SET ARITHABORT doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_arithabort_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsArithmeticAbortEnabled de la fonction 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 }

Pour plus d’informations, voir Niveau de compatibilité ALTER DATABASE.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
Le résultat d'une concaténation est NULL lorsque l'un des deux opérandes est NULL.The result of a concatenation operation is NULL when either operand is NULL. Par exemple, la concaténation de la chaîne de caractères « Ceci est » et de NULL retourne la valeur NULL au lieu de la valeur « Ceci est ».For example, concatenating the character string "This is" and NULL returns the NULL value instead of the "This is" value.

OFFOFF
La valeur Null est considérée comme une chaîne de caractères vide.The null value is treated as an empty character string.

[IMPORTANT] CONCAT_NULL_YIELDS_NULL doit être défini sur ON quand vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.[IMPORTANT] CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Important

Dans une future version de SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL sera toujours ON et toute application qui définira explicitement l’option à OFF déclenchera une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut de CONCAT_NULL_YIELDS_NULL défini au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. Par défaut, les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à CONCAT_NULL_YIELDS_NULL pour la session lors de la connexion à une instance 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. Pour plus d’informations, voir SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_concat_null_yields_null_on de la vue de catalogue 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. Vous pouvez également déterminer l’état en consultant la propriété IsNullConcat de la fonction 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
Des guillemets doubles peuvent être utilisés pour entourer des identificateurs délimités.Double quotation marks can be used to enclose delimited identifiers.

Toutes les chaînes délimitées par des guillemets doubles sont considérées comme des identificateurs d'objet.All strings delimited by double quotation marks are interpreted as object identifiers. Les identificateurs entre guillemets n’ont pas à respecter les règles Transact-SQLTransact-SQL propres aux identificateurs.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Ils peuvent être des mots clés et contenir des caractères non autorisés dans les identificateurs Transact-SQLTransact-SQL.They can be keywords and can include characters that aren't allowed in Transact-SQLTransact-SQL identifiers. Si un guillemet simple (') fait partie de la chaîne littérale, il pourra être représenté par un guillemet double ('').If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Les identificateurs ne peuvent pas être mis entre guillemets et doivent respecter toutes les règles Transact-SQLTransact-SQL applicables aux identificateurs.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Les chaînes littérales peuvent être délimitées par des guillemets simples ou doubles.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server permet également de délimiter les identificateurs par des crochets ([ ]).also allows for identifiers to be delimited by square brackets ([ ]). Les identificateurs entre crochets peuvent toujours être utilisés, quel que soit le paramètre QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Pour plus d'informations, consultez Database Identifiers.For more information, see Database Identifiers.

Lors de la création d’une table, l’option QUOTED IDENTIFIER est toujours stockée avec la valeur ON dans les métadonnées de la table.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. L’option est stockée même si elle a la valeur OFF au moment de la création de la table.The option is stored even if the option is set to OFF when the table is created.

Les paramètres définis au niveau de la connexion à l'aide de l'instruction SET se substituent au paramètre de base de données par défaut de QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à QUOTED_IDENTIFIER par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_quoted_identifier_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsQuotedIdentifiersEnabled de la fonction 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
Une erreur est générée lors d’une perte de précision dans une expression.An error is generated when loss of precision occurs in an expression.

OFFOFF
La perte de précision ne génère pas de message d’erreur et le résultat est arrondi en fonction de la précision de la colonne ou de la variable stockant le résultat.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.

Important

NUMERIC_ROUNDABORT doit avoir la valeur OFF lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_numeric_roundabort_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsNumericRoundAbortEnabled de la fonction 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
L’activation récursive des déclencheurs AFTER est autorisée.Recursive firing of AFTER triggers is allowed.

OFFOFF
Vous pouvez déterminer l’état de cette option en consultant la colonne is_recursive_triggers_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsRecursiveTriggersEnabled de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Notes

Seule la récursivité directe est désactivée lorsque RECURSIVE_TRIGGERS a la valeur OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Pour désactiver la récursivité indirecte, vous devez aussi affecter la valeur 0 à l'option serveur nested triggers.To disable indirect recursion, you must also set the nested triggers server option to 0.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_recursive_triggers_on de la vue de catalogue sys.databases ou la propriété IsRecursiveTriggersEnabled de la fonction 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> ::=
S’applique à : SQL ServerSQL Server (de SQL Server 2012 (11.x)SQL Server 2012 (11.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server)

Spécifie la fréquence des points de contrôle indirects en fonction de chaque base de données.Specifies the frequency of indirect checkpoints on a per-database basis. À compter de SQL Server 2016 (13.x)SQL Server 2016 (13.x), la valeur par défaut pour les nouvelles bases de données est 1 minute, ce qui signifie que la base de données utilise des points de contrôle indirects.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. Pour les versions antérieures, la valeur par défaut est 0, ce qui indique que la base de données utilise les points de contrôle automatiques, dont la fréquence dépend du paramètre d’intervalle de récupération de l’instance de serveur.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 recommande une valeur d’une minute pour la plupart des systèmes.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
Spécifie la limite maximale de durée de récupération de la base de données spécifiée en cas de plantage.Specifies the maximum bound on the time to recover the specified database in the event of a crash. target_recovery_time est de type int.target_recovery_time is type int.

SECONDSSECONDS
Indique que target_recovery_time correspond au nombre de secondes.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indique que target_recovery_time correspond au nombre de minutes.Indicates that target_recovery_time is expressed as the number of minutes.

Pour plus d’informations sur les points de contrôle indirects, voir Points de contrôle de base de données.For more information about indirect checkpoints, see Database Checkpoints.

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

Spécifie le(s) cas où une transaction incomplète doit être restaurée lors d'un changement d'état de la base de données.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Lorsque la clause de fin est omise, l’instruction ALTER DATABASE attend indéfiniment s’il existe un verrou quelconque sur la base de données.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Une seule clause de fin peut être spécifiée, à la suite des clauses SET.Only one termination clause can be specified, and it follows the SET clauses.

Notes

Toutes les options de base de données n’utilisent pas la clause WITH <termination>.Not all database options use the WITH <termination> clause. Pour plus d’informations, consultez le tableau sous « Options de configuration » dans la section « Remarques » de cet article.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

Indique si la restauration intervient après le nombre de secondes spécifié ou immédiatement.Specifies whether to roll back after the specified number of seconds or immediately. number est de type int.number is type int.

NO_WAITNO_WAIT
Spécifie que la requête échoue si le changement d’état ou d’option de base de données demandé ne peut pas être effectué immédiatement.Specifies that the request will fail if the requested database state or option change can't complete immediately. Une exécution immédiate signifie ne pas attendre la validation ou la restauration des transactions.Completing immediately means not waiting for transactions to commit or roll back on their own.

Configuration des optionsSetting options

Pour récupérer les paramètres actuels des options de base de données, utilisez la vue de catalogue sys.databases ou DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Quand vous définissez une option de base de données, la nouvelle valeur prend effet immédiatement.After you set a database option, the new setting takes effect immediately.

Vous pouvez modifier les valeurs par défaut de l’une des options de base de données afin qu’elles s’appliquent à toutes les nouvelles bases de données créées.You can change the default values for any one of the database options for all newly created databases. Pour ce faire, modifiez l’option de base de données appropriée dans la base de données model.To do so, change the appropriate database option in the model database.

Toutes les options de base de données n’utilisent pas la clause WITH <termination> et ne peuvent pas être combinées avec d’autres options.Not all database options use the WITH <termination> clause or can be specified in combination with other options. Le tableau suivant répertorie ces options ainsi que l'état de l'option et d'arrêt.The following table lists these options and their option and termination status.

Catégorie d'optionsOptions category Peut être spécifiée avec d'autres optionsCan be specified with other options Peut utiliser la clause WITH <termination>Can use the WITH <termination> clause
<db_state_option><db_state_option> OuiYes OuiYes
<db_user_access_option><db_user_access_option> OuiYes OuiYes
<db_update_option><db_update_option> OuiYes OuiYes
<delayed_durability_option><delayed_durability_option> OuiYes OuiYes
<external_access_option><external_access_option> OuiYes NonNo
<cursor_option><cursor_option> OuiYes NonNo
<auto_option><auto_option> OuiYes NonNo
<sql_option><sql_option> OuiYes NonNo
<recovery_option><recovery_option> OuiYes NonNo
<target_recovery_time_option><target_recovery_time_option> NonNo OuiYes
<database_mirroring_option><database_mirroring_option> NonNo NonNo
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NonNo NonNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NonNo OuiYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT OuiYes OuiYes
<service_broker_option><service_broker_option> OuiYes NonNo
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION OuiYes OuiYes
<parameterization_option><parameterization_option> OuiYes OuiYes
<change_tracking_option><change_tracking_option> OuiYes OuiYes
<db_encryption_option><db_encryption_option> OuiYes NonNo

Le cache de plan pour l'instance de SQL ServerSQL Server est effacé par la configuration d'une des options suivantes :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

Le cache du plan est également vidé dans les scénarios suivants.The plan cache is also flushed in the following scenarios.

  • L'option de base de données AUTO_CLOSE est activée (ON).A database has the AUTO_CLOSE database option set to ON. Lorsqu'aucune connexion utilisateur ne fait référence ou n'utilise la base de données, la tâche en arrière-plan essaie de fermer et d'arrêter la base de données automatiquement.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Vous exécutez plusieurs requêtes sur une base de données dont les options par défaut sont activées.You run several queries against a database that has default options. Puis, la base de données est supprimée.Then, the database is dropped.
  • Un instantané de base de données pour une base de données source est supprimé.A database snapshot for a source database is dropped.
  • Vous reconstruisez avec succès le journal des transactions d'une base de données.You successfully rebuild the transaction log for a database.
  • Vous restaurez une sauvegarde de base de données.You restore a database backup.
  • Vous détachez une base de données.You detach a database.

Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Pour chaque magasin de caches effacé dans le cache de plan, le journal des erreurs SQL ServerSQL Server contient le message d’information suivant : « SQL ServerSQL Server a rencontré %d occurrence(s) de vidages de mémoire cache pour la mémoire cache '%s' (partie du cache du plan) en raison d’opérations de maintenance ou de reconfiguration de base de données ».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". Ce message est enregistré toutes les cinq minutes si le cache est vidé au cours de cet intervalle de temps.This message is logged every five minutes as long as the cache is flushed within that time interval.

ExemplesExamples

A.A. Configuration des options d'une base de donnéesSetting options on a database

L'exemple suivant définit les options de mode de récupération et de vérification de pages de données pour l'exemple de base de données 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. Paramétrage de la base de données avec READ_ONLYSetting the database to READ_ONLY

Pour modifier l’état d’une base de données ou d’un groupe de fichiers en READ_ONLY ou en READ_WRITE, vous avez besoin d’un accès exclusif à la base de données.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. L'exemple ci-dessous illustre le basculement de la base de données en mode SINGLE_USER pour obtenir l'accès exclusif.The following example sets the database to SINGLE_USER mode to obtain exclusive access. L'exemple affecte ensuite à la base de données AdventureWorks2012AdventureWorks2012 l'état READ_ONLY et rend à tous les utilisateurs l'accès à la base de données.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

Notes

Cet exemple utilise l'option de fin WITH ROLLBACK IMMEDIATE dans la première instruction ALTER DATABASE .This example uses the termination option WITH ROLLBACK IMMEDIATE in the first ALTER DATABASE statement. Toutes les transactions incomplètes seront restaurées et les autres connexions à la base de données AdventureWorks2012AdventureWorks2012 immédiatement déconnectées.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. Activation de l'isolement d'instantané sur une base de donnéesEnabling snapshot isolation on a database

L'exemple ci-dessous illustre l'activation de l'option d'infrastructure d'isolement d'instantané pour la base de données 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

Le jeu de résultats montre que l'infrastructure d'isolement d'instantané est activée.The result set shows that the snapshot isolation framework is enabled.

NAMEname snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[nom_base_de_données][database_name] 11 ONON

D.D. Activation, modification et désactivation du suivi des modificationsEnabling, modifying, and disabling change tracking

L'exemple ci-dessous illustre l'activation du suivi des modifications pour la base de données AdventureWorks2012AdventureWorks2012 et la définition d'une période de rétention de 2 jours.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);

L'exemple suivant illustre comment modifier la période de rétention en spécifiant 3 jours.The following example shows how to change the retention period to 3 days.

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

L'exemple ci-dessous illustre comment désactiver le suivi des modifications pour la base de données AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

E.E. Activation du magasin de requêtesEnabling the Query Store

S’applique à : SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) à SQL ServerSQL Server)Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL ServerSQL Server)

L’exemple suivant active le magasin des requêtes et configure ses paramètres.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. Activation du magasin des requêtes avec les statistiques d’attenteEnabling the Query Store with wait statistics

S’applique à : SQL ServerSQL Server (à compter 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))

L’exemple suivant active le magasin des requêtes et configure ses paramètres.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. Activation du magasin des requêtes avec les options de stratégie de capture personnaliséeEnabling the Query Store with custom capture policy options

S’applique à : SQL ServerSQL Server (à compter 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))

L’exemple suivant active le magasin des requêtes et configure ses paramètres.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
      )
    );

Voir aussiSee Also

SQL ServerSQL Server * Pool élastique/base de données unique
SQL Database *
 
* SQL Database
single database/elastic pool *
 
Instance managée
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse

 

Pool élastique/base de données unique Azure SQL DatabaseAzure SQL Database single database/elastic pool

Bien que les niveaux de compatibilité soient des options SET, ils sont décrits dans Niveau de compatibilité ALTER DATABASE.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Notes

La plupart des options SET de base de données sont configurables pour la session en cours avec les Instructions SET, souvent par des applications au moment de la connexion.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Les options SET de niveau session remplacent les valeurs ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Les options de base de données décrites dans les sections suivantes sont des valeurs que vous pouvez définir pour les sessions qui ne fournissent pas explicitement d’autres valeurs pour les options 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.

SyntaxeSyntax

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

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

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

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

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

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

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

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

<db_update_option> ::=
  { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
  { RESTRICTED_USER | MULTI_USER }

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

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

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

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

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

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

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

ArgumentsArguments

database_name database_name
Nom de la base de données à modifier.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT exécute l’action dans la base de données active.CURRENT runs the action in the current database. CURRENT n’est pas pris en charge pour toutes les options dans tous les contextes.CURRENT isn't supported for all options in all contexts. Si CURRENT échoue, fournissez le nom de la base de données.If CURRENT fails, provide the database name.

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

Contrôle les options automatiques.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
L’optimiseur de requête crée si nécessaire des statistiques sur les colonnes uniques des prédicats de requête, afin d’améliorer les plans de requête et les performances des requêtes.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Ces statistiques de colonnes uniques sont créées quand l’optimiseur de requête compile les requêtes.These single-column statistics are created when Query Optimizer compiles queries. Les statistiques de colonnes uniques sont créées uniquement sur les colonnes qui ne constituent pas déjà la première colonne d'un objet de statistiques existant.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

La valeur par défaut est ON.The default is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

OFFOFF
L’optimiseur de requête ne crée pas de statistiques sur les colonnes uniques des prédicats de requête quand il compile les requêtes.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_create_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoCreateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Options des statistiques » dans Statistiques.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Définissez AUTO_CREATE_STATISTICS sur la valeur ON, et INCREMENTAL sur la valeur ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Ce paramètre crée automatiquement des statistiques incrémentielles sur les statistiques incrémentielles sont prises en charge.This setting creates automatically created stats as incremental whenever incremental stats are supported. La valeur par défaut est OFF.The default value is OFF. Pour plus d’informations, voir CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Les fichiers de base de données peuvent faire l’objet d’une réduction périodique.The database files are candidates for periodic shrinking.

Les fichiers de données et les fichiers journaux peuvent être automatiquement réduits.Both data file and log files can be automatically shrunk. AUTO_SHRINK ne réduit la taille du journal des transactions que si vous définissez la base de données sur le mode de récupération SIMPLE ou si vous sauvegardez le journal.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. Si la valeur spécifiée est OFF, les fichiers de base de données ne sont pas réduits automatiquement lors des vérifications périodiques de l’espace inutilisé.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

L'option AUTO_SHRINK provoque un compactage dès qu'un fichier comprend plus de 25 % d'espace inutilisé.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. L’option provoque une réduction du fichier à l’une de deux tailles.The option causes the file to shrink to one of two sizes. Il est réduit à la taille plus grande retenue :It shrinks to whichever is larger:

  • La taille où 25 pour cent du fichier correspond à l’espace inutiliséThe size where 25 percent of the file is unused space
  • La taille du fichier quand il a été crééThe size of the file when it was created

Vous ne pouvez pas réduire une base de données en lecture seule.You can't shrink a read-only database.

OFFOFF
Les fichiers de base de données ne sont pas réduits automatiquement lors des vérifications périodiques de l'espace inutilisé.The database files are not automatically shrunk during periodic checks for unused space.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_shrink_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoShrink de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Notes

L’option AUTO_SHRINK n’est pas disponible dans une base de données autonome.The AUTO_SHRINK option isn't available in a contained database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Spécifie que l’optimiseur de requête met à jour les statistiques quand elles sont utilisées par une requête et quand elles sont susceptibles d’être obsolètes.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Les statistiques deviennent obsolètes après que des opérations d'insertion, de mise à jour, de suppression ou de fusion ont modifié la distribution des données dans la table ou la vue indexée.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. L’optimiseur de requête détermine si les statistiques sont obsolètes en comptant le nombre de modifications de données depuis la dernière mise à jour des statistiques et en comparant le nombre de modifications à un seuil.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. Ce seuil est basé sur le nombre de lignes contenues dans la table ou la vue indexée.The threshold is based on the number of rows in the table or indexed view.

L’optimiseur de requête vérifie s’il existe des statistiques obsolètes avant de compiler une requête et d’exécuter un plan de requête mis en cache.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. L’optimiseur de requête utilise les colonnes, les tables et les vues indexées du prédicat de requête pour identifier les statistiques susceptibles d’être obsolètes.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. L’optimiseur de requête détermine ces informations avant de compiler une requête.Query Optimizer determines this information before it compiles a query. Avant d’exécuter un plan de requête mis en cache, le Moteur de base de donnéesDatabase Engine vérifie que le plan de requête référence des statistiques à jour.Before running a cached query plan, the Moteur de base de donnéesDatabase Engine verifies that the query plan references up-to-date statistics.

L'option AUTO_UPDATE_STATISTICS s'applique aux statistiques créées pour les index, aux colonnes uniques contenues dans les prédicats de requête et aux statistiques créées à l'aide de l'instruction 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. Cette option s'applique également aux statistiques filtrées.This option also applies to filtered statistics.

La valeur par défaut est ON.The default is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

Utilisez l'option AUTO_UPDATE_STATISTICS_ASYNC pour spécifier si les statistiques doivent être mises à jour en mode synchrone ou asynchrone.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Spécifie que l’optimiseur de requête ne met pas à jour les statistiques quand elles sont utilisées par une requête.Specifies that Query Optimizer doesn't update statistics when they're used by a query. L’optimiseur de requête ne met pas non plus à jour les statistiques quand elles sont susceptibles d’être obsolètes.Query Optimizer also doesn't update statistics when they might be out-of-date. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_update_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoUpdateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Options des statistiques » dans Statistiques.For more information, see the "Statistics options" section in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Spécifie que les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont asynchrones.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. L’optimiseur de requête n’attend pas la fin des mises à jour des statistiques pour compiler les requêtes.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Affecter la valeur ON à cette option n'a aucun effet à moins que AUTO_UPDATE_STATISTICS n'ait également la valeur ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Par défaut, l’option AUTO_UPDATE_STATISTICS_ASYNC est définie sur OFF ; l’optimiseur de requête met à jour les statistiques en mode synchrone.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Spécifie que les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont synchrones.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. L’optimiseur de requête attend la fin des mises à jour des statistiques pour compiler les requêtes.Query Optimizer waits for statistics updates to complete before it compiles queries.

Affecter la valeur OFF à cette option n'a aucun effet à moins que AUTO_UPDATE_STATISTICS n'ait également la valeur ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_update_stats_async_on de la vue de catalogue 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.

Pour plus d’informations décrivant quand utiliser des mises à jour de statistiques synchrones ou asynchrones, consultez la section « Options des statistiques » dans Statistiques.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> ::=
S’applique à : SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Contrôle les options automatiques pour Optimisation automatique.Controls automatic options for Automatic tuning.

AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
AUTOAUTO
La définition de l’optimisation automatique sur AUTO applique les paramètres de configuration Azure par défaut à l’optimisation automatique.Setting the Automatic tuning value to AUTO will apply Azure configuration defaults for Automatic tuning.

INHERITINHERIT
L’utilisation de la valeur INHERIT permet d’hériter de la configuration par défaut du serveur parent.Using the INHERIT value inherits the default configuration from the parent server. Ceci est particulièrement pratique si vous voulez personnaliser la configuration de l’optimisation automatique sur un serveur parent et que toutes les bases de données sur ce serveur HÉRITENT de ces paramètres personnalisés.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. Veuillez noter que pour que l’héritage fonctionne, les trois options de réglage FORCE_LAST_GOOD_PLAN, CREATE_INDEX et DROP_INDEX doivent avoir la valeur DEFAULT dans les bases de données.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
Avec la valeur CUSTOM, vous devrez personnaliser la configuration de chaque option de l’optimisation automatique disponible sur les bases de données.Using the CUSTOM value, you'll need to custom-configure each of the Automatic Tuning options available on databases.

Active ou désactive l’option CREATE_INDEX de gestion des index automatique de l’optimisation automatique.Enables or disables automatic index management CREATE_INDEX option of Automatic tuning.

CREATE_INDEX = { DEFAULT | ON | OFF }CREATE_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Hérite des paramètres par défaut du serveur.Inherits default settings from the server. Dans ce cas, les options d’activation ou de désactivation automatique des fonctionnalités du réglage automatique sont définies au niveau du serveur.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Si activé, les index manquants sont automatiquement générés sur une base de données.When enabled, missing indexes are automatically generated on a database. Après la création des index, des gains de performances de la charge de travail se vérifient.Following the index creation, gains to the performance of the workload are verified. Lorsque ces index créés ne fournissent plus d’avantages pour les performances de la charge de travail, ils sont automatiquement annulés.When such created index no longer provides benefits to the workload performance, it's automatically reverted. Les index créés automatiquement sont marqués comme index générés par le système.Indexes automatically created are flagged as a system generated indexed.

OFFOFF
ne génère pas automatiquement les index manquants sur la base de données.Doesn't automatically generate missing indexes on the database.

Active ou désactive l’option DROP_INDEX de gestion des index automatique de l’optimisation automatique.Enables or disables automatic index management DROP_INDEX option of Automatic Tuning.

DROP_INDEX = { DEFAULT | ON | OFF }DROP_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Hérite des paramètres par défaut du serveur.Inherits default settings from the server. Dans ce cas, les options d’activation ou de désactivation automatique des fonctionnalités du réglage automatique sont définies au niveau du serveur.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Supprime automatiquement les index en double ou qui ne sont plus utiles de la charge de travail des performances.Automatically drops duplicate or no longer useful indexes to the performance workload.

OFFOFF
ne supprime pas automatiquement les index manquants sur la base de données.Doesn't automatically drop missing indexes on the database.

Active ou désactive l’option FORCE_LAST_GOOD_PLAN de correction automatique de plan de l’optimisation automatique.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
Hérite des paramètres par défaut du serveur.Inherits default settings from the server. Dans ce cas, les options d’activation ou de désactivation automatique des fonctionnalités du réglage automatique sont définies au niveau du serveur.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Le Moteur de base de donnéesDatabase Engine force automatiquement le dernier plan correct connu sur les requêtes Transact-SQLTransact-SQL là où le nouveau plan de requête provoque des régressions des performances.The Moteur de base de donnéesDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Le Moteur de base de donnéesDatabase Engine supervise en permanence les performances de la requête Transact-SQLTransact-SQL avec le plan forcé.The Moteur de base de donnéesDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. S’il existe des gains de performances, le Moteur de base de donnéesDatabase Engine continue à utiliser le dernier plan correct connu.If there are performance gains, the Moteur de base de donnéesDatabase Engine will keep using last known good plan. Si aucun gain de performances n’est détecté, le Moteur de base de donnéesDatabase Engine génère un nouveau plan de requête.If performance gains are not detected, the Moteur de base de donnéesDatabase Engine will produce a new query plan. L’instruction échoue si le Magasin des requêtes n’est pas activé ou s’il n’est pas en mode Lecture-écriture.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Le Moteur de base de donnéesDatabase Engine indique les régressions des performances de requêtes potentielles dues à des changements de plan de requête dans la vue sys.dm_db_tuning_recommendations.The Moteur de base de donnéesDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Toutefois, ces recommandations ne sont pas appliquées automatiquement.However, these recommendations are not automatically applied. Les utilisateurs peuvent superviser les recommandations actives et résoudre les problèmes identifiés en appliquant les scripts Transact-SQLTransact-SQL qui sont montrés dans la vue.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Il s'agit de la valeur par défaut.This is the default value.

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

Contrôle les options de suivi des modifications.Controls change tracking options. Vous pouvez activer le suivi des modifications, définir des options, modifier des options et désactiver le suivi des modifications.You can enable change tracking, set options, change options, and disable change tracking. Pour des exemples, consultez la section « Exemples » plus loin dans cet article.For examples, see the "Examples" section later in this article.

ONON
Active le suivi des modifications pour la base de données.Enables change tracking for the database. Lorsque vous activez le suivi des modifications, vous pouvez également définir les options AUTO CLEANUP et 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
Les informations de suivi des modifications sont supprimées automatiquement à l’issue de la période de rétention spécifiée.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Les données de suivi des modifications ne sont pas supprimées de la base de données.Change tracking data isn't removed from the database.

CHANGE_RETENTION = période_conservation { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Spécifie la période minimale de conservation des informations de suivi des modifications dans la base de données.Specifies the minimum period for keeping change tracking information in the database. Les données sont supprimées uniquement lorsque AUTO_CLEANUP a la valeur ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period est un entier qui spécifie la composante numérique de la période de rétention.retention_period is an integer that specifies the numerical component of the retention period.

La période de conservation par défaut est 2 jours.The default retention period is 2 days. La période de rétention minimale est 1 minute.The minimum retention period is 1 minute. Le type de conservation par défaut est DAYS.The default retention type is DAYS.

OFFOFF
Désactive le suivi des modifications pour la base de données.Disables change tracking for the database. Désactivez le suivi des modifications sur toutes les tables avant de le désactiver sur la base de données.Disable change tracking on all tables before you disable change tracking off the database.

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

Contrôle les options de curseur.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Les curseurs ouverts quand vous validez ou restaurez une transaction sont fermés.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Les curseurs restent ouverts quand une transaction est validée. La restauration d’une transaction ferme tous les curseurs à l’exception de ceux définis avec la valeur INSENSITIVE ou STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Les paramètres de niveau connexion définis à l'aide de l'instruction SET se substituent au paramètre de base de données par défaut de 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. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui désactive l’option CURSOR_CLOSE_ON_COMMIT pour la session (valeur OFF) par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_cursor_close_on_commit_on de la vue de catalogue sys.databases ou la propriété IsCloseCursorsOnCommitEnabled de la fonction 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. Le curseur n'est libéré implicitement qu'au moment de la déconnexion.The cursor is implicitly deallocated only at disconnect. Pour plus d’informations, voir DECLARE CURSOR.For more information, see DECLARE CURSOR.

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

Contrôle l'état de chiffrement de la base de données.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Spécifie si la base de données doit être chiffrée (ON) ou non chiffrée (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Pour plus d’informations sur le chiffrement de base de données, voir Transparent Data Encryption et Transparent Data Encryption avec Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quand le chiffrement est activé au niveau de la base de données, tous les groupes de fichiers sont chiffrés.When encryption is enabled at the database level, all file groups will be encrypted. Tous les nouveaux groupes de fichiers héritent de la propriété chiffrée.Any new file groups will inherit the encrypted property. Si des groupes de fichiers dans la base de données sont définis sur READ ONLY, l’opération de chiffrement de la base de données échoue.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Vous pouvez voir l’état de chiffrement de la base de données en utilisant la vue de gestion dynamique 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> ::=

Contrôle si des mises à jour sont autorisées dans la base de données.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Les utilisateurs peuvent lire des données dans la base de données mais ils n’ont pas le droit de les modifier.Users can read data from the database but not modify it.

Notes

Pour améliorer les performances des requêtes, mettez à jour les statistiques avant de définir une base de données à READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Si des statistiques supplémentaires sont nécessaires après qu'une base de données est définie à READ_ONLY, le Moteur de base de donnéesDatabase Engine crée des statistiques dans tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Moteur de base de donnéesDatabase Engine will create statistics in tempdb. Pour plus d’informations sur les statistiques pour une base de données en lecture seule, consultez Statistiques.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
La base de données est accessible aux opérations de lecture et d’écriture.The database is available for read and write operations.

Pour modifier cet état, vous devez bénéficier d'un accès exclusif à la base de données.To change this state, you must have exclusive access to the database. Pour plus d'informations, consultez la clause SINGLE_USER.For more information, see the SINGLE_USER clause.

Notes

Dans les bases de données fédérées SQL DatabaseSQL Database, SET {READ_ONLY | READ_WRITE} est désactivé.On SQL DatabaseSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

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

Contrôle l'accès utilisateur à la base de données.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Autorise seulement les membres du rôle de base de données fixe db_owner et des rôles serveur fixes dbcreator et sysadmin à se connecter à la base de données, mais ne limite pas leur nombre.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. Toutes les connexions à la base de données sont déconnectées dans la plage de temps spécifiée par la clause d'arrêt de l'instruction ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Après que la base est passée à l'état RESTRICTED_USER, toute tentative de connexion par des utilisateurs non qualifiés est refusée.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER ne peut pas être modifié avec SQL Database Managed Instance.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Tous les utilisateurs qui bénéficient des autorisations appropriées peuvent se connecter à la base de données.All users that have the appropriate permissions to connect to the database are allowed.

Vous pouvez déterminer l’état de cette option en consultant la colonne user_access de la vue de catalogue sys.databases ou la propriété UserAccess de la fonction 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> ::=

Contrôle si les transactions sont validées de manière entièrement durable ou durable différée.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Toutes les transactions suivant SET DISABLED sont entièrement durables.All transactions following SET DISABLED are fully durable. Toutes les options de durabilité définies dans une instruction de validation ou de bloc atomique sont ignorées.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Toutes les transactions suivant SET ALLOWED sont soit entièrement durables, soit durables différées, en fonction de l’option de durabilité définie dans l’instruction de validation ou de bloc atomique.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
Toutes les transactions suivant SET FORCED sont durables différées.All transactions following SET FORCED are delayed durable. Toutes les options de durabilité définies dans une instruction de validation ou de bloc atomique sont ignorées.Any durability options set in an atomic block or commit statement are ignored.

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

Contrôle l'option de paramétrage.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Les requêtes sont paramétrables en fonction du comportement par défaut de la base de données.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server paramètre toutes les requêtes de la base de données.parameterizes all queries in the database.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_parameterization_forced dans la vue de catalogue 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 ]
Contrôle si le Magasin des requêtes est activé dans cette base de données et contrôle la suppression du contenu du Magasin des requêtes.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

ONON
Active le magasin des requêtes.Enables the Query Store.

OFFOFF
Désactive le magasin des requêtes.Disables the Query Store. Il s'agit de la valeur par défaut.This is the default value.

CLEARCLEAR
Supprime le contenu du magasin des requêtes.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Décrit le mode de fonctionnement du magasin des requêtes.Describes the operation mode of the Query Store. Les valeurs valides sont READ_ONLY et READ_WRITE.Valid values are READ_ONLY and READ_WRITE. En mode READ_WRITE, le magasin des requêtes collecte et conserve les informations sur le plan de requête et les statistiques d’exécution.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. En mode READ_ONLY, les informations peuvent être lues à partir du Magasin des requêtes, mais les nouvelles informations ne sont pas ajoutées.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Si l’espace alloué maximal du magasin des requêtes est épuisé, le mode d’opération du magasin des requêtes passe à 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
Décrit la stratégie de conservation des données du magasin des requêtes.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS détermine le nombre de jours pendant lesquels les informations d’une requête sont conservées dans le magasin des requêtes.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 est de type bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Détermine la fréquence à laquelle les données écrites dans le magasin des requêtes sont stockées sur le disque.Determines the frequency at which data written to the Query Store is persisted to disk. Pour optimiser les performances, les données collectées par le magasin des requêtes sont écrites de façon asynchrone sur le disque.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. La fréquence à laquelle ce transfert asynchrone se produit est configurée à l'aide de l'argument 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 est de type bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Détermine l’espace alloué au magasin des requêtes.Determines the space allocated to the Query Store. MAX_STORAGE_SIZE_MB est de type bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Détermine l’intervalle de temps auquel les données des statistiques d’exécution du runtime sont agrégées dans le magasin des requêtes.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Pour optimiser l'espace, les statistiques d'exécution du runtime du magasin de statistiques du runtime sont agrégées sur une période fixe.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Cette fenêtre de temps fixe est configurée à l'aide de l'argument INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES est de type bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Contrôle si le nettoyage est activé automatiquement quand la quantité totale de données approche de la taille maximale.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
Le nettoyage basé sur la taille n’est pas activé automatiquement.Size-based cleanup won't be automatically activated.

AUTOAUTO
Le nettoyage basé sur la taille est activé automatiquement quand la taille sur le disque atteint 90 % de max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Le nettoyage basé sur la taille supprime les requêtes les moins coûteuses et les plus anciennes en premier.Size-based cleanup removes the least expensive and oldest queries first. Il s’arrête à environ 80 % de max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Il s’agit de la valeur de configuration par défaut.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE est de type nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Désigne le mode de capture de requête actif actuellement :Designates the currently active query capture mode:

ALLALL
Toutes les requêtes sont capturées.All queries are captured.

AUTOAUTO
Capturer les requêtes pertinentes en fonction du nombre d’exécutions et de la consommation de ressources.Capture relevant queries based on execution count and resource consumption. Il s’agit de la valeur de configuration par défaut pour Azure SQL DatabaseAzure SQL Database.This is the default configuration value for Azure SQL DatabaseAzure SQL Database.

AucuneNONE
Cesser la capture des nouvelles requêtes.Stop capturing new queries. Le Magasin des requêtes continue de collecter des statistiques de compilation et d’exécution pour les requêtes qui ont déjà été capturées.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Utilisez cette configuration avec précaution, car vous risquez de manquer la capture de requêtes importantes.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE est de type nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Entier représentant le nombre maximal de plans gérés pour chaque requête.An integer representing the maximum number of plans maintained for each query. La valeur par défaut est 200.Default is 200.

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

Détermine le niveau d'isolation de la transaction.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Active l'option Instantané au niveau de la base de données.Enables Snapshot option at the database level. Lorsque cette option est activée, les instructions DML commencent à générer des versions de ligne même quand aucune transaction n’utilise l’isolement d’instantané.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Une fois que cette option est activée, les transactions peuvent spécifier le niveau d'isolement des transactions SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Quand une transaction s'exécute au niveau d'isolement SNAPSHOT, toutes les instructions voient un instantané des données tel qu'il existe au début de la transaction.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 une transaction exécutée au niveau d'isolement SNAPSHOT accède à des données dans plusieurs bases de données, l'option ALLOW_SNAPSHOT_ISOLATION doit avoir la valeur ON dans toutes les bases de données ou chaque instruction de la transaction doit utiliser des indicateurs de verrouillage sur toute référence d'une clause FROM à une table de la base de données dont l'option ALLOW_SNAPSHOT_ISOLATION a la valeur 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
Désactive l’option Instantané au niveau de la base de données.Turns off the Snapshot option at the database level. Les transactions peuvent spécifier le niveau d’isolation de la transaction SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Lorsque vous modifiez l'état de ALLOW_SNAPSHOT_ISOLATION (de ON à OFF ou inversement), ALTER DATABASE ne retourne pas le contrôle à l'appelant tant que toutes les transactions existantes dans la base de données n'ont pas été validées.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 données présente déjà l'état spécifié dans l'instruction ALTER DATABASE, le contrôle est immédiatement retourné à l'appelant.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Si l’instruction ALTER DATABASE n’est pas retournée rapidement, utilisez sys.dm_tran_active_snapshot_database_transactions pour déterminer si certaines transactions sont de longue durée.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 l'instruction ALTER DATABASE est annulée, la base de données conserve l'état qu'elle présentait au démarrage de ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. la vue de catalogue sys.databases indique l’état des transactions d’isolement d’instantané dans la base de données.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 marque une pause de six secondes puis réessaie d’exécuter l’opération.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Vous ne pouvez pas modifier l’état de ALLOW_SNAPSHOT_ISOLATION si la base de données est hors connexion (OFFLINE).You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Si vous configurez ALLOW_SNAPSHOT_ISOLATION dans une base de données en lecture seule (READ_ONLY), le paramètre est conservé si la base de données devient par la suite accessible en lecture et en écriture (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.

Vous pouvez modifier les paramètres de ALLOW_SNAPSHOT_ISOLATION pour les bases de données master, model, msdb et tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Le paramètre est conservé à chaque arrêt et redémarrage de l’instance du Moteur de base de donnéesDatabase Engine si vous changez le paramètre pour la base de données tempdb.The setting is kept every time the instance of the Moteur de base de donnéesDatabase Engine is stopped and restarted if you change the setting for tempdb. Si vous modifiez le paramètre pour la base de données model, il devient le paramètre par défaut pour toutes les nouvelles bases de données créées à l'exception de tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Cette option a la valeur ON par défaut pour les bases de données master et msdb.The option is ON, by default, for the master and msdb databases.

La valeur actuelle de cette option peut être déterminée en examinant la colonne snapshot_isolation_state dans la vue de catalogue 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
Active l’option d’instantané de lecture validée au niveau de la base de données.Enables Read-Committed Snapshot option at the database level. Lorsque cette option est activée, les instructions DML commencent à générer des versions de ligne même quand aucune transaction n’utilise l’isolement d’instantané.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Une fois que cette option est activée, les transactions qui définissent le niveau d’isolation READ COMMITTED utilisent le versioning de ligne au lieu du verrouillage.Once this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Toutes les instructions voient un instantané des données telles qu’elles existent au début de l’instruction quand une transaction est exécutée au niveau d’isolation 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
Désactive l’option d’instantané de lecture validée au niveau de la base de données.Turns off Read-Committed Snapshot option at the database level. Les transactions spécifiant le niveau d'isolation READ COMMITTED utilisent le verrouillage.Transactions specifying the READ COMMITTED isolation level use locking.

Pour définir READ_COMMITTED_SNAPSHOT sur ON ou sur OFF, il ne doit exister aucune connexion active à la base de données, à l’exception de la connexion exécutant la commande 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. Toutefois, il n’est pas nécessaire que la base de données soit en mode mono-utilisateur.However, the database doesn't have to be in single-user mode. Vous ne pouvez pas modifier l’état de cette option si la base de données est hors connexion (OFFLINE).You can't change the state of this option when the database is OFFLINE.

Si vous configurez READ_COMMITTED_SNAPSHOT dans une base de données en lecture seule (READ_ONLY), le paramètre est conservé lorsque la base de données devient par la suite accessible en lecture et en écriture (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.

Il n’est pas possible d’affecter la valeur ON à READ_COMMITTED_SNAPSHOT pour les bases de données système master, tempdb ou msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Si vous changez le paramètre pour la base de données model, il devient le paramètre par défaut pour toutes les nouvelles bases de données créées, à l’exception de tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_read_committed_snapshot_on dans la vue de catalogue 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.

Avertissement

Quand une table est créée avec DURABILITY = SCHEMA_ONLY, et READ_COMMITTED_SNAPSHOT est ensuite modifié à l’aide de ALTER DATABASE, les données de la table seront perdues.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
Quand le niveau d’isolation de la transaction est défini sur un niveau inférieur à SNAPSHOT, toutes les opérations en Transact-SQLTransact-SQL interprété sur les tables à mémoire optimisée sont exécutées avec l’isolation 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. Des niveaux d’isolation inférieurs à snapshot sont, par exemple, READ COMMITTED ou READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Ces opérations sont exécutées si le niveau d’isolation de la transaction est défini explicitement sur le niveau de la session, ou si la valeur par défaut est utilisée implicitement.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
N’élève pas le niveau d’isolation pour les opérations en Transact-SQLTransact-SQL interprété sur les tables à mémoire optimisée.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Vous ne pouvez pas modifier l’état de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT si la base de données est hors connexion (OFFLINE).You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

La valeur par défaut est OFF.The default value is OFF.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_memory_optimized_elevate_to_snapshot_on dans la vue de catalogue 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> ::=

Contrôle les options de conformité ANSI au niveau de la base de données.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Détermine la valeur par défaut, NULL ou NOT NULL, d’une colonne, d’un type CLR défini par l’utilisateur dont le paramètre d’acceptation des valeurs NULL n’est pas défini de façon explicite dans les instructions CREATE TABLE ou 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. Les colonnes définies avec des contraintes respectent les règles de contrainte, quel que soit ce paramètre.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
La valeur par défaut est NULL.The default value is NULL.

OFFOFF
La valeur par défaut est NOT NULL.The default value is NOT NULL.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre défini pour ANSI_NULL_DEFAULT au niveau de la base de données par défaut.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_NULL_DEFAULT pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Pour garantir la compatibilité ANSI, l'activation (ON) de l'option de base de données ANSI_NULL_DEFAULT entraîne la définition de NULL comme valeur par défaut de la base de données.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_null_default_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiNullDefault de la fonction 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
Toutes les comparaisons avec une valeur Null produisent le résultat UNKNOWN (inconnu).All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Les comparaisons de valeurs non-UNICODE avec une valeur Null génèrent la valeur TRUE si les deux valeurs sont Null.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Important

Dans une future version de SQL ServerSQL Server, ANSI_NULLS aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut défini pour ANSI_NULLS au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_NULLS pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Notes

SET ANSI_NULLS doit également avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_nulls_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiNullsEnabled de la fonction 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
Les chaînes sont complétées pour avoir la même longueur avant leur conversion.Strings are padded to the same length before conversion. Elles sont également complétées pour avoir la même longueur avant leur insertion dans un type de données varchar ou nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Cette option insère des espaces à droite dans les valeurs de type character dans des colonnes varchar ou nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Cette option laisse également les zéros à droite dans les valeurs de type binary insérées dans des colonnes varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Les valeurs ne sont pas complétées à concurrence de la longueur de la colonne.Values aren't padded to the length of the column.

Lorsque cette option a la valeur OFF, elle affecte uniquement la définition des nouvelles colonnes.When OFF is specified, this setting affects only the definition of new columns.

Important

Dans une future version de SQL ServerSQL Server, ANSI_PADDING aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Il est recommandé de toujours affecter la valeur ON à l'option ANSI_PADDING.We recommend that you always set ANSI_PADDING to ON. Par ailleurs, ANSI_PADDING doit avoir la valeur ON lorsque vous créez ou manipulez des index dans des colonnes calculées ou des vues indexées.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Les colonnes char(n) et binary(n) qui acceptent des valeurs NULL sont complétées à concurrence de la longueur de la colonne lorsque ANSI_PADDING a la valeur ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Les espaces à droite et les zéros sont tronqués lorsque ANSI_PADDING a la valeur OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Les colonnes char(n) et binary(n) qui n’acceptent pas les valeurs NULL sont toujours complétées à concurrence de la longueur de la colonne.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre de ANSI_PADDING au niveau de la base de données par défaut.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_PADDING pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_padding_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiPaddingEnabled de la fonction 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
Des erreurs ou avertissements sont émis si des conditions telles que « division par zéro » sont vérifiées.Errors or warnings are issued when conditions such as divide-by-zero occur. Des erreurs et avertissements sont également générés lorsque des valeurs Null apparaissent dans des fonctions d’agrégation.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Aucun avertissement n’est généré et des valeurs Null sont retournées quand des conditions telles qu’une division par zéro se manifestent.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Notes

SET ANSI_WARNINGS doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut de ANSI_NULLS défini au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_WARNINGS pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_warnings_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiWarningsEnabled de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Arrête une requête quand un dépassement de capacité ou une division par zéro se produit durant son exécution.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Un message d’avertissement s’affiche quand l’une de ces erreurs se produit.A warning message is displayed when one of these errors occurs. Le traitement de la requête, du lot ou de la transaction se poursuit comme s’il n’y avait pas d’erreur, même si un message d’avertissement s’affiche.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Notes

SET ARITHABORT doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_arithabort_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsArithmeticAbortEnabled de la fonction 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 }
Pour plus d’informations, voir Niveau de compatibilité ALTER DATABASE.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
Le résultat d’une concaténation est NULL quand l’un des deux opérandes est NULL.The result of a concatenation operation is NULL when either operand is NULL. Par exemple, la concaténation de la chaîne de caractères « Ceci est » et NULL donne la valeur NULL et non la valeur « Ceci est ».For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
La valeur Null est considérée comme une chaîne de caractères vide.The null value is treated as an empty character string.

Notes

CONCAT_NULL_YIELDS_NULL doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Important

Dans une future version de SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut de CONCAT_NULL_YIELDS_NULL défini au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. Par défaut, les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à CONCAT_NULL_YIELDS_NULL pour la session lors de la connexion à une instance 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. Pour plus d’informations, voir SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_concat_null_yields_null_on de la vue de catalogue 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. Vous pouvez également déterminer l’état en consultant la propriété IsNullConcat de la fonction 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
Des guillemets doubles peuvent être utilisés pour entourer des identificateurs délimités.Double quotation marks can be used to enclose delimited identifiers.

Toutes les chaînes délimitées par des guillemets doubles sont considérées comme des identificateurs d'objet.All strings delimited by double quotation marks are interpreted as object identifiers. Les identificateurs entre guillemets n’ont pas à respecter les règles Transact-SQLTransact-SQL propres aux identificateurs.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Ils peuvent être des mots clés et contenir des caractères interdits dans les identificateurs Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Si un guillemet simple (') fait partie de la chaîne littérale, il pourra être représenté par un guillemet double ('').If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Les identificateurs ne peuvent pas être mis entre guillemets et doivent respecter toutes les règles Transact-SQLTransact-SQL applicables aux identificateurs.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Les chaînes littérales peuvent être délimitées par des guillemets simples ou doubles.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server permet également de délimiter les identificateurs par des crochets ([ ]).also allows for identifiers to be delimited by square brackets ([ ]). Les identificateurs entre crochets peuvent toujours être utilisés, quel que soit le paramètre QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Pour plus d'informations, consultez Database Identifiers.For more information, see Database Identifiers.

Lors de la création d’une table, l’option QUOTED IDENTIFIER est toujours stockée avec la valeur ON dans les métadonnées de la table.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. L’option est stockée même si elle a la valeur OFF au moment de la création de la table.The option is stored even if the option is set to OFF when the table is created.

Les paramètres définis au niveau de la connexion à l'aide de l'instruction SET se substituent au paramètre de base de données par défaut de QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à QUOTED_IDENTIFIER par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_quoted_identifier_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsQuotedIdentifiersEnabled de la fonction 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
Une erreur est générée lors d’une perte de précision dans une expression.An error is generated when loss of precision occurs in an expression.

OFFOFF
La perte de précision ne génère pas de message d’erreur et le résultat est arrondi en fonction de la précision de la colonne ou de la variable stockant le résultat.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.

Important

NUMERIC_ROUNDABORT doit avoir la valeur OFF lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_numeric_roundabort_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsNumericRoundAbortEnabled de la fonction 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
L’activation récursive des déclencheurs AFTER est autorisée.Recursive firing of AFTER triggers is allowed.

OFFOFF
Vous pouvez déterminer l’état de cette option en consultant la colonne is_recursive_triggers_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsRecursiveTriggersEnabled de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Notes

Seule la récursivité directe est désactivée lorsque RECURSIVE_TRIGGERS a la valeur OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Pour désactiver la récursivité indirecte, vous devez aussi affecter la valeur 0 à l'option serveur nested triggers.To disable indirect recursion, you must also set the nested triggers server option to 0.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_recursive_triggers_on de la vue de catalogue sys.databases ou la propriété IsRecursiveTriggersEnabled de la fonction 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> ::=

Spécifie la fréquence des points de contrôle indirects en fonction de chaque base de données.Specifies the frequency of indirect checkpoints on a per-database basis. À compter de SQL Server 2016 (13.x)SQL Server 2016 (13.x), la valeur par défaut pour les nouvelles bases de données est une minute, ce qui signifie que la base de données utilise les points de contrôle indirects.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. Pour les versions antérieures, la valeur par défaut est 0, ce qui indique que la base de données utilise les points de contrôle automatiques, dont la fréquence dépend du paramètre d’intervalle de récupération de l’instance de serveur.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 recommande une valeur d’une minute pour la plupart des systèmes.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = objectif_temps_récupération { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Spécifie la limite maximale de durée de récupération de la base de données spécifiée en cas de sinistre.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Indique que target_recovery_time correspond au nombre de secondes.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indique que target_recovery_time correspond au nombre de minutes.Indicates that target_recovery_time is expressed as the number of minutes.

Pour plus d’informations sur les points de contrôle indirects, voir Points de contrôle de base de données.For more information about indirect checkpoints, see Database Checkpoints.

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

Spécifie le(s) cas où une transaction incomplète doit être restaurée lors d'un changement d'état de la base de données.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Lorsque la clause de fin est omise, l’instruction ALTER DATABASE attend indéfiniment s’il existe un verrou quelconque sur la base de données.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Une seule clause de fin peut être spécifiée, à la suite des clauses SET.Only one termination clause can be specified, and it follows the SET clauses.

Notes

Toutes les options de base de données n’utilisent pas la clause WITH <termination>.Not all database options use the WITH <termination> clause. Pour plus d’informations, consultez le tableau sous « Options de configuration » dans la section « Remarques » de cet article.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
Indique si la restauration intervient après le nombre de secondes spécifié ou immédiatement.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Spécifie que la requête échoue si le changement d’état ou d’option de base de données demandé ne peut pas être effectué immédiatement.Specifies that the request will fail if the requested database state or option change can't complete immediately. Une exécution immédiate signifie ne pas attendre la validation ou la restauration des transactions.Completing immediately means not waiting for transactions to commit or roll back on their own.

Configuration des optionsSetting options

Pour récupérer les paramètres actuels des options de base de données, utilisez la vue de catalogue sys.databases ou DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Quand vous définissez une option de base de données, la nouvelle valeur prend effet immédiatement.After you set a database option, the new setting takes effect immediately.

Vous pouvez modifier les valeurs par défaut de l’une des options de base de données afin qu’elles s’appliquent à toutes les nouvelles bases de données créées.You can change the default values for any one of the database options for all newly created databases. Pour ce faire, modifiez l’option de base de données appropriée dans la base de données model.To do so, change the appropriate database option in the model database.

Toutes les options de base de données n’utilisent pas la clause WITH <termination> et ne peuvent pas être combinées avec d’autres options.Not all database options use the WITH <termination> clause or can be specified in combination with other options. Le tableau suivant répertorie ces options ainsi que l'état de l'option et d'arrêt.The following table lists these options and their option and termination status.

Catégorie d'optionsOptions category Peut être spécifiée avec d'autres optionsCan be specified with other options Peut utiliser la clause WITH <termination>Can use the WITH <termination> clause
<auto_option><auto_option> OuiYes NonNo
<change_tracking_option><change_tracking_option> OuiYes OuiYes
<cursor_option><cursor_option> OuiYes NonNo
<db_encryption_option><db_encryption_option> OuiYes NonNo
<db_update_option><db_update_option> OuiYes OuiYes
<db_user_access_option><db_user_access_option> OuiYes OuiYes
<delayed_durability_option><delayed_durability_option> OuiYes OuiYes
<parameterization_option><parameterization_option> OuiYes OuiYes
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NonNo NonNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NonNo OuiYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT OuiYes OuiYes
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION OuiYes OuiYes
<sql_option><sql_option> OuiYes NonNo
<target_recovery_time_option><target_recovery_time_option> NonNo OuiYes

ExemplesExamples

A.A. Paramétrage de la base de données avec READ_ONLYSetting the database to READ_ONLY

Pour modifier l’état d’une base de données ou d’un groupe de fichiers en READ_ONLY ou en READ_WRITE, vous avez besoin d’un accès exclusif à la base de données.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. L’exemple suivant illustre le basculement de la base de données en mode RESTRICTED_USER pour limiter l’accès.The following example sets the database to RESTRICTED_USER mode to limit access. L'exemple affecte ensuite à la base de données AdventureWorks2012AdventureWorks2012 l'état READ_ONLY et rend à tous les utilisateurs l'accès à la base de données.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. Activation de l'isolement d'instantané sur une base de donnéesEnabling snapshot isolation on a database

L'exemple ci-dessous illustre l'activation de l'option d'infrastructure d'isolement d'instantané pour la base de données 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

Le jeu de résultats montre que l'infrastructure d'isolement d'instantané est activée.The result set shows that the snapshot isolation framework is enabled.

NAMEname snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[nom_base_de_données][database_name] 11 ONON

C.C. Activation, modification et désactivation du suivi des modificationsEnabling, modifying, and disabling change tracking

L'exemple ci-dessous illustre l'activation du suivi des modifications pour la base de données AdventureWorks2012AdventureWorks2012 et la définition d'une période de rétention de 2 jours.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);

L’exemple suivant montre comment changer la période de conservation en 3 jours.The following example shows how to change the retention period to 3 days.

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

L'exemple ci-dessous illustre comment désactiver le suivi des modifications pour la base de données AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D.D. Activation du magasin de requêtesEnabling the Query Store

L’exemple suivant active le magasin des requêtes et configure ses paramètres.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
    );

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
* Instance managée
SQL Database *
 
* SQL Database
managed instance *
 
SQL Data
Warehouse
SQL Data
Warehouse

 

Instance managée Azure SQL DatabaseAzure SQL Database managed instance

Bien que les niveaux de compatibilité soient des options SET, ils sont décrits dans Niveau de compatibilité ALTER DATABASE.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Notes

La plupart des options SET de base de données sont configurables pour la session en cours avec les Instructions SET, souvent par des applications au moment de la connexion.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. Les options SET de niveau session remplacent les valeurs ALTER DATABASE SET.Session-level set options override the ALTER DATABASE SET values. Les options de base de données décrites dans les sections suivantes sont des valeurs que vous pouvez définir pour les sessions qui ne fournissent pas explicitement d’autres valeurs pour les options 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.

SyntaxeSyntax

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

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

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

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

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

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

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

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

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

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

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

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

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

ArgumentsArguments

database_name database_name
Nom de la base de données à modifier.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT exécute l’action dans la base de données active.CURRENT runs the action in the current database. CURRENT n’est pas pris en charge pour toutes les options dans tous les contextes.CURRENT isn't supported for all options in all contexts. Si CURRENT échoue, fournissez le nom de la base de données.If CURRENT fails, provide the database name.

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

Contrôle les options automatiques.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
L’optimiseur de requête crée si nécessaire des statistiques sur les colonnes uniques des prédicats de requête, afin d’améliorer les plans de requête et les performances des requêtes.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Ces statistiques de colonnes uniques sont créées quand l’optimiseur de requête compile les requêtes.These single-column statistics are created when Query Optimizer compiles queries. Les statistiques de colonnes uniques sont créées uniquement sur les colonnes qui ne constituent pas déjà la première colonne d'un objet de statistiques existant.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

La valeur par défaut est ON.The default is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

OFFOFF
L’optimiseur de requête ne crée pas de statistiques sur les colonnes uniques des prédicats de requête quand il compile les requêtes.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_create_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoCreateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Options des statistiques » dans Statistiques.For more information, see the "Statistics options" section in Statistics.

INCREMENTAL = ON | OFF INCREMENTAL = ON | OFF
Définissez AUTO_CREATE_STATISTICS sur la valeur ON, et INCREMENTAL sur la valeur ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Ce paramètre crée automatiquement des statistiques incrémentielles sur les statistiques incrémentielles sont prises en charge.This setting creates automatically created stats as incremental whenever incremental stats are supported. La valeur par défaut est OFF.The default value is OFF. Pour plus d’informations, voir CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Les fichiers de base de données peuvent faire l’objet d’une réduction périodique.The database files are candidates for periodic shrinking.

Les fichiers de données et les fichiers journaux peuvent être automatiquement réduits.Both data file and log files can be automatically shrunk. AUTO_SHRINK ne réduit la taille du journal des transactions que si vous définissez la base de données sur le mode de récupération SIMPLE ou si vous sauvegardez le journal.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. Si la valeur spécifiée est OFF, les fichiers de base de données ne sont pas réduits automatiquement lors des vérifications périodiques de l’espace inutilisé.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

L'option AUTO_SHRINK provoque un compactage dès qu'un fichier comprend plus de 25 % d'espace inutilisé.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. L’option provoque une réduction du fichier à l’une de deux tailles.The option causes the file to shrink to one of two sizes. Il est réduit à la taille plus grande retenue :It shrinks to whichever is larger:

  • La taille où 25 pour cent du fichier correspond à l’espace inutiliséThe size where 25 percent of the file is unused space
  • La taille du fichier quand il a été crééThe size of the file when it was created

Vous ne pouvez pas réduire une base de données en lecture seule.You can't shrink a read-only database.

OFFOFF
Les fichiers de base de données ne sont pas réduits automatiquement lors des vérifications périodiques de l'espace inutilisé.The database files are not automatically shrunk during periodic checks for unused space.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_shrink_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoShrink de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Notes

L’option AUTO_SHRINK n’est pas disponible dans une base de données autonome.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Spécifie que l’optimiseur de requête met à jour les statistiques quand elles sont utilisées par une requête et quand elles sont susceptibles d’être obsolètes.Specifies that Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. Les statistiques deviennent obsolètes après que des opérations d'insertion, de mise à jour, de suppression ou de fusion ont modifié la distribution des données dans la table ou la vue indexée.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. L’optimiseur de requête détermine si les statistiques sont obsolètes en comptant le nombre de modifications de données depuis la dernière mise à jour des statistiques et en comparant le nombre de modifications à un seuil.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. Ce seuil est basé sur le nombre de lignes contenues dans la table ou la vue indexée.The threshold is based on the number of rows in the table or indexed view.

L’optimiseur de requête vérifie s’il existe des statistiques obsolètes avant de compiler une requête et d’exécuter un plan de requête mis en cache.Query Optimizer checks for out-of-date statistics before it compiles a query and runs a cached query plan. L’optimiseur de requête utilise les colonnes, les tables et les vues indexées du prédicat de requête pour identifier les statistiques susceptibles d’être obsolètes.Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. L’optimiseur de requête détermine ces informations avant de compiler une requête.Query Optimizer determines this information before it compiles a query. Avant d’exécuter un plan de requête mis en cache, le Moteur de base de donnéesDatabase Engine vérifie que le plan de requête référence des statistiques à jour.Before running a cached query plan, the Moteur de base de donnéesDatabase Engine verifies that the query plan references up-to-date statistics.

L'option AUTO_UPDATE_STATISTICS s'applique aux statistiques créées pour les index, aux colonnes uniques contenues dans les prédicats de requête et aux statistiques créées à l'aide de l'instruction 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. Cette option s'applique également aux statistiques filtrées.This option also applies to filtered statistics.

La valeur par défaut est ON.The default is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

Utilisez l'option AUTO_UPDATE_STATISTICS_ASYNC pour spécifier si les statistiques doivent être mises à jour en mode synchrone ou asynchrone.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Spécifie que l’optimiseur de requête ne met pas à jour les statistiques quand elles sont utilisées par une requête.Specifies that Query Optimizer doesn't update statistics when they're used by a query. L’optimiseur de requête ne met pas non plus à jour les statistiques quand elles sont susceptibles d’être obsolètes.Query Optimizer also doesn't update statistics when they might be out-of-date. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_update_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoUpdateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Utilisation des options de statistiques à l’échelle de la base de données » dans Statistiques.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
Spécifie que les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont asynchrones.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. L’optimiseur de requête n’attend pas la fin des mises à jour des statistiques pour compiler les requêtes.Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Affecter la valeur ON à cette option n'a aucun effet à moins que AUTO_UPDATE_STATISTICS n'ait également la valeur ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Par défaut, l’option AUTO_UPDATE_STATISTICS_ASYNC est définie sur OFF ; l’optimiseur de requête met à jour les statistiques en mode synchrone.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and Query Optimizer updates statistics synchronously.

OFFOFF
Spécifie que les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont synchrones.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. L’optimiseur de requête attend la fin des mises à jour des statistiques pour compiler les requêtes.Query Optimizer waits for statistics updates to complete before it compiles queries.

Affecter la valeur OFF à cette option n'a aucun effet à moins que AUTO_UPDATE_STATISTICS n'ait également la valeur ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_auto_update_stats_async_on de la vue de catalogue 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.

Pour plus d’informations sur l’utilisation des mises à jour de statistiques synchrones ou asynchrones, consultez la section « Utilisation des options de statistiques à l’échelle de la base de données » dans Statistiques.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> ::=
S’applique à : SQL Server 2017 (14.x)SQL Server 2017 (14.x)Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x)

Active ou désactive l’option FORCE_LAST_GOOD_PLAN Optimisation automatique.Enables or disables FORCE_LAST_GOOD_PLAN Automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
ONON
Le Moteur de base de donnéesDatabase Engine force automatiquement le dernier plan correct connu sur les requêtes Transact-SQLTransact-SQL là où le nouveau plan de requête provoque des régressions des performances.The Moteur de base de donnéesDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new query plan causes performance regressions. Le Moteur de base de donnéesDatabase Engine supervise en permanence les performances de la requête Transact-SQLTransact-SQL avec le plan forcé.The Moteur de base de donnéesDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. S’il existe des gains de performances, le Moteur de base de donnéesDatabase Engine continue à utiliser le dernier plan correct connu.If there are performance gains, the Moteur de base de donnéesDatabase Engine will keep using last known good plan. Si aucun gain de performances n’est détecté, le Moteur de base de donnéesDatabase Engine génère un nouveau plan de requête.If performance gains are not detected, the Moteur de base de donnéesDatabase Engine will produce a new query plan. L’instruction échoue si le Magasin des requêtes n’est pas activé ou s’il n’est pas en mode Lecture-écriture.The statement will fail if the Query Store isn't enabled or if it's not in Read-Write mode.

OFFOFF
Le Moteur de base de donnéesDatabase Engine indique les régressions des performances de requêtes potentielles dues à des changements de plan de requête dans la vue sys.dm_db_tuning_recommendations.The Moteur de base de donnéesDatabase Engine reports potential query performance regressions caused by query plan changes in sys.dm_db_tuning_recommendations view. Toutefois, ces recommandations ne sont pas appliquées automatiquement.However, these recommendations are not automatically applied. Les utilisateurs peuvent superviser les recommandations actives et résoudre les problèmes identifiés en appliquant les scripts Transact-SQLTransact-SQL qui sont montrés dans la vue.Users can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Il s'agit de la valeur par défaut.This is the default value.

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

Contrôle les options de suivi des modifications.Controls change tracking options. Vous pouvez activer le suivi des modifications, définir des options, modifier des options et désactiver le suivi des modifications.You can enable change tracking, set options, change options, and disable change tracking. Pour des exemples, consultez la section « Exemples » plus loin dans cet article.For examples, see the "Examples" section later in this article.

ONON
Active le suivi des modifications pour la base de données.Enables change tracking for the database. Lorsque vous activez le suivi des modifications, vous pouvez également définir les options AUTO CLEANUP et 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
Les informations de suivi des modifications sont supprimées automatiquement à l’issue de la période de rétention spécifiée.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Les données de suivi des modifications ne sont pas supprimées de la base de données.Change tracking data isn't removed from the database.

CHANGE_RETENTION = période_conservation { DAYS | HOURS | MINUTES }CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
Spécifie la période minimale de conservation des informations de suivi des modifications dans la base de données.Specifies the minimum period for keeping change tracking information in the database. Les données sont supprimées uniquement lorsque AUTO_CLEANUP a la valeur ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period est un entier qui spécifie la composante numérique de la période de rétention.retention_period is an integer that specifies the numerical component of the retention period.

La période de conservation par défaut est 2 jours.The default retention period is 2 days. La période de rétention minimale est 1 minute.The minimum retention period is 1 minute. Le type de conservation par défaut est DAYS.The default retention type is DAYS.

OFFOFF
Désactive le suivi des modifications pour la base de données.Disables change tracking for the database. Désactivez le suivi des modifications sur toutes les tables avant de le désactiver sur la base de données.Disable change tracking on all tables before you disable change tracking off the database.

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

Contrôle les options de curseur.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Les curseurs ouverts quand vous validez ou restaurez une transaction sont fermés.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Les curseurs restent ouverts quand une transaction est validée. La restauration d’une transaction ferme tous les curseurs à l’exception de ceux définis avec la valeur INSENSITIVE ou STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

Les paramètres de niveau connexion définis à l'aide de l'instruction SET se substituent au paramètre de base de données par défaut de 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. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui désactive l’option CURSOR_CLOSE_ON_COMMIT pour la session (valeur OFF) par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_cursor_close_on_commit_on de la vue de catalogue sys.databases ou la propriété IsCloseCursorsOnCommitEnabled de la fonction 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. Le curseur n'est libéré implicitement qu'au moment de la déconnexion.The cursor is implicitly deallocated only at disconnect. Pour plus d’informations, voir DECLARE CURSOR.For more information, see DECLARE CURSOR.

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

Contrôle l'état de chiffrement de la base de données.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Spécifie si la base de données doit être chiffrée (ON) ou non chiffrée (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Pour plus d’informations sur le chiffrement de base de données, voir Transparent Data Encryption et Transparent Data Encryption avec Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quand le chiffrement est activé au niveau de la base de données, tous les groupes de fichiers sont chiffrés.When encryption is enabled at the database level, all file groups will be encrypted. Tous les nouveaux groupes de fichiers héritent de la propriété chiffrée.Any new file groups will inherit the encrypted property. Si des groupes de fichiers dans la base de données sont définis sur READ ONLY, l’opération de chiffrement de la base de données échoue.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Vous pouvez voir l’état de chiffrement de la base de données en utilisant la vue de gestion dynamique 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> ::=

Contrôle si des mises à jour sont autorisées dans la base de données.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Les utilisateurs peuvent lire des données dans la base de données mais ils n’ont pas le droit de les modifier.Users can read data from the database but not modify it.

Notes

Pour améliorer les performances des requêtes, mettez à jour les statistiques avant de définir une base de données à READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Si des statistiques supplémentaires sont nécessaires après qu'une base de données est définie à READ_ONLY, le Moteur de base de donnéesDatabase Engine crée des statistiques dans tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Moteur de base de donnéesDatabase Engine will create statistics in tempdb. Pour plus d’informations sur les statistiques pour une base de données en lecture seule, consultez Statistiques.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
La base de données est accessible aux opérations de lecture et d’écriture.The database is available for read and write operations.

Pour modifier cet état, vous devez bénéficier d'un accès exclusif à la base de données.To change this state, you must have exclusive access to the database.

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

Contrôle l'accès utilisateur à la base de données.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
Autorise seulement les membres du rôle de base de données fixe db_owner et des rôles serveur fixes dbcreator et sysadmin à se connecter à la base de données, mais ne limite pas leur nombre.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. Toutes les connexions à la base de données sont déconnectées dans la plage de temps spécifiée par la clause d'arrêt de l'instruction ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Après que la base est passée à l'état RESTRICTED_USER, toute tentative de connexion par des utilisateurs non qualifiés est refusée.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER ne peut pas être modifié avec SQL Database Managed Instance.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Tous les utilisateurs qui bénéficient des autorisations appropriées peuvent se connecter à la base de données.All users that have the appropriate permissions to connect to the database are allowed.

Vous pouvez déterminer l’état de cette option en consultant la colonne user_access de la vue de catalogue sys.databases ou la propriété UserAccess de la fonction 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> ::=

Contrôle si les transactions sont validées de manière entièrement durable ou durable différée.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Toutes les transactions suivant SET DISABLED sont entièrement durables.All transactions following SET DISABLED are fully durable. Toutes les options de durabilité définies dans une instruction de validation ou de bloc atomique sont ignorées.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Toutes les transactions suivant SET ALLOWED sont soit entièrement durables, soit durables différées, en fonction de l'option de durabilité définie dans l'instruction de validation ou de bloc atomique.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 : toutes les transactions suivant SET FORCED sont durables différées.FORCED All transactions following SET FORCED are delayed durable. Toutes les options de durabilité définies dans une instruction de validation ou de bloc atomique sont ignorées.Any durability options set in an atomic block or commit statement are ignored.

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

Contrôle l'option de paramétrage.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
Les requêtes sont paramétrables en fonction du comportement par défaut de la base de données.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
SQL ServerSQL Server paramètre toutes les requêtes de la base de données.parameterizes all queries in the database.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_parameterization_forced dans la vue de catalogue 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 ]
Contrôle si le Magasin des requêtes est activé dans cette base de données et contrôle la suppression du contenu du Magasin des requêtes.Controls whether the Query Store is enabled in this database, and also controls removing the contents of the Query Store.

ONON
Active le magasin des requêtes.Enables the Query Store.

OFFOFF
Désactive le magasin des requêtes.Disables the Query Store. Il s'agit de la valeur par défaut.This is the default value.

CLEARCLEAR
Supprime le contenu du magasin des requêtes.Remove the contents of the Query Store.

OPERATION_MODEOPERATION_MODE
Décrit le mode de fonctionnement du magasin des requêtes.Describes the operation mode of the Query Store. Les valeurs valides sont READ_ONLY et READ_WRITE.Valid values are READ_ONLY and READ_WRITE. En mode READ_WRITE, le magasin des requêtes collecte et conserve les informations sur le plan de requête et les statistiques d’exécution.In READ_WRITE mode, the Query Store collects and persists query plan and runtime execution statistics information. En mode READ_ONLY, les informations peuvent être lues à partir du Magasin des requêtes, mais les nouvelles informations ne sont pas ajoutées.In READ_ONLY mode, information can be read from the Query Store, but new information isn't added. Si l’espace alloué maximal du magasin des requêtes est épuisé, le mode d’opération du magasin des requêtes passe à 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
Décrit la stratégie de conservation des données du magasin des requêtes.Describes the data retention policy of the Query Store. STALE_QUERY_THRESHOLD_DAYS détermine le nombre de jours pendant lesquels les informations d’une requête sont conservées dans le magasin des requêtes.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 est de type bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Détermine la fréquence à laquelle les données écrites dans le magasin des requêtes sont stockées sur le disque.Determines the frequency at which data written to the Query Store is persisted to disk. Pour optimiser les performances, les données collectées par le magasin des requêtes sont écrites de façon asynchrone sur le disque.To optimize for performance, data collected by the Query Store is asynchronously written to the disk. La fréquence à laquelle ce transfert asynchrone se produit est configurée à l'aide de l'argument 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 est de type bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Détermine l’espace alloué au magasin des requêtes.Determines the space allocated to the Query Store. MAX_STORAGE_SIZE_MB est de type bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Détermine l’intervalle de temps auquel les données des statistiques d’exécution du runtime sont agrégées dans le magasin des requêtes.Determines the time interval at which runtime execution statistics data is aggregated into the Query Store. Pour optimiser l'espace, les statistiques d'exécution du runtime du magasin de statistiques du runtime sont agrégées sur une période fixe.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Cette fenêtre de temps fixe est configurée à l'aide de l'argument INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES est de type bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Contrôle si le nettoyage est activé automatiquement quand la quantité totale de données approche de la taille maximale.Controls whether cleanup will be automatically activated when the total amount of data gets close to maximum size.

OFFOFF
Le nettoyage basé sur la taille n’est pas activé automatiquement.Size-based cleanup won't be automatically activated.

AUTOAUTO
Le nettoyage basé sur la taille est activé automatiquement quand la taille sur le disque atteint 90 % de max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Le nettoyage basé sur la taille supprime les requêtes les moins coûteuses et les plus anciennes en premier.Size-based cleanup removes the least expensive and oldest queries first. Il s’arrête à environ 80 % de max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Il s’agit de la valeur de configuration par défaut.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE est de type nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Désigne le mode de capture de requête actif actuellement.Designates the currently active query capture mode.

ALLALL
Toutes les requêtes sont capturées.All queries are captured.

AUTOAUTO
Capturer les requêtes pertinentes en fonction du nombre d’exécutions et de la consommation de ressources.Capture relevant queries based on execution count and resource consumption. Il s’agit de la valeur de configuration par défaut pour Azure SQL DatabaseAzure SQL Database.This is the default configuration value for Azure SQL DatabaseAzure SQL Database.

AucuneNONE
Cesser la capture des nouvelles requêtes.Stop capturing new queries. Le Magasin des requêtes continue de collecter des statistiques de compilation et d’exécution pour les requêtes qui ont déjà été capturées.The Query Store will continue to collect compile and runtime statistics for queries that were captured already. Utilisez cette configuration avec précaution, car vous risquez de manquer la capture de requêtes importantes.Use this configuration with caution since you may miss capturing important queries.

QUERY_CAPTURE_MODE est de type nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Entier représentant le nombre maximal de plans gérés pour chaque requête.An integer representing the maximum number of plans maintained for each query. La valeur par défaut est 200.Default is 200.

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

Détermine le niveau d'isolation de la transaction.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Active l’option Instantané au niveau de la base de données.Enables the Snapshot option at the database level. Lorsque cette option est activée, les instructions DML commencent à générer des versions de ligne même quand aucune transaction n’utilise l’isolement d’instantané.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Une fois que cette option est activée, les transactions peuvent spécifier le niveau d’isolement des transactions SNAPSHOT.After this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Quand une transaction s'exécute au niveau d'isolement SNAPSHOT, toutes les instructions voient un instantané des données tel qu'il existe au début de la transaction.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 une transaction exécutée au niveau d'isolement SNAPSHOT accède à des données dans plusieurs bases de données, l'option ALLOW_SNAPSHOT_ISOLATION doit avoir la valeur ON dans toutes les bases de données ou chaque instruction de la transaction doit utiliser des indicateurs de verrouillage sur toute référence d'une clause FROM à une table de la base de données dont l'option ALLOW_SNAPSHOT_ISOLATION a la valeur 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
Désactive l’option Instantané au niveau de la base de données.Turns off the Snapshot option at the database level. Les transactions peuvent spécifier le niveau d’isolation de la transaction SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Lorsque vous modifiez l'état de ALLOW_SNAPSHOT_ISOLATION (de ON à OFF ou inversement), ALTER DATABASE ne retourne pas le contrôle à l'appelant tant que toutes les transactions existantes dans la base de données n'ont pas été validées.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 données présente déjà l'état spécifié dans l'instruction ALTER DATABASE, le contrôle est immédiatement retourné à l'appelant.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Si l’instruction ALTER DATABASE n’est pas retournée rapidement, utilisez sys.dm_tran_active_snapshot_database_transactions pour déterminer si certaines transactions sont de longue durée.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 l'instruction ALTER DATABASE est annulée, la base de données conserve l'état qu'elle présentait au démarrage de ALTER DATABASE.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. la vue de catalogue sys.databases indique l’état des transactions d’isolement d’instantané dans la base de données.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 marque une pause de six secondes puis réessaie d’exécuter l’opération.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Vous ne pouvez pas modifier l’état de ALLOW_SNAPSHOT_ISOLATION si la base de données est hors connexion (OFFLINE).You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Si vous configurez ALLOW_SNAPSHOT_ISOLATION dans une base de données en lecture seule (READ_ONLY), le paramètre est conservé si la base de données devient par la suite accessible en lecture et en écriture (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.

Vous pouvez modifier les paramètres de ALLOW_SNAPSHOT_ISOLATION pour les bases de données master, model, msdb et tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. Le paramètre est conservé à chaque arrêt et redémarrage de l’instance du Moteur de base de donnéesDatabase Engine si vous changez le paramètre pour la base de données tempdb.The setting is kept every time the instance of the Moteur de base de donnéesDatabase Engine is stopped and restarted if you change the setting for tempdb. Si vous modifiez le paramètre pour la base de données model, il devient le paramètre par défaut pour toutes les nouvelles bases de données créées à l'exception de tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

Cette option a la valeur ON par défaut pour les bases de données master et msdb.The option is ON, by default, for the master and msdb databases.

La valeur actuelle de cette option peut être déterminée en examinant la colonne snapshot_isolation_state dans la vue de catalogue 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
Active l’option Instantané Read-Committed au niveau de la base de données.Enables the Read-Committed Snapshot option at the database level. Lorsque cette option est activée, les instructions DML commencent à générer des versions de ligne même quand aucune transaction n’utilise l’isolement d’instantané.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Une fois que cette option est activée, les transactions spécifiant le niveau d’isolement READ COMMITTED utilisent le versioning de ligne au lieu du verrouillage.After this option is enabled, the transactions specifying the READ COMMITTED isolation level use row versioning instead of locking. Toutes les instructions voient un instantané des données telles qu’elles existent au début de l’instruction quand une transaction est exécutée au niveau d’isolation 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
Désactive l’option Instantané Read-Committed au niveau de la base de données.Turns off the Read-Committed Snapshot option at the database level. Les transactions spécifiant le niveau d'isolation READ COMMITTED utilisent le verrouillage.Transactions specifying the READ COMMITTED isolation level use locking.

Pour définir READ_COMMITTED_SNAPSHOT sur ON ou sur OFF, il ne doit exister aucune connexion active à la base de données, à l’exception de la connexion exécutant la commande 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. Toutefois, il n’est pas nécessaire que la base de données soit en mode mono-utilisateur.However, the database doesn't have to be in single-user mode. Vous ne pouvez pas modifier l’état de cette option si la base de données est hors connexion (OFFLINE).You can't change the state of this option when the database is OFFLINE.

Si vous configurez READ_COMMITTED_SNAPSHOT dans une base de données en lecture seule (READ_ONLY), le paramètre est conservé lorsque la base de données devient par la suite accessible en lecture et en écriture (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.

Il n’est pas possible d’affecter la valeur ON à READ_COMMITTED_SNAPSHOT pour les bases de données système master, tempdb ou msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Si vous changez le paramètre pour la base de données model, il devient le paramètre par défaut pour toutes les nouvelles bases de données créées, à l’exception de tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_read_committed_snapshot_on dans la vue de catalogue 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.

Avertissement

Quand une table est créée avec DURABILITY = SCHEMA_ONLY et que READ_COMMITTED_SNAPSHOT est changé par la suite à l’aide d’ALTER DATABASE, les données de la table sont perdues.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
Quand le niveau d’isolation de la transaction est défini sur un niveau inférieur à SNAPSHOT, toutes les opérations en Transact-SQLTransact-SQL interprété sur les tables à mémoire optimisée sont exécutées avec l’isolation 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. Des niveaux d’isolation inférieurs à snapshot sont, par exemple, READ COMMITTED ou READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Ces opérations sont exécutées si le niveau d’isolation de la transaction est défini explicitement sur le niveau de la session, ou si la valeur par défaut est utilisée implicitement.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
N’élève pas le niveau d’isolation pour les opérations en Transact-SQLTransact-SQL interprété sur les tables à mémoire optimisée.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Vous ne pouvez pas modifier l’état de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT si la base de données est hors connexion (OFFLINE).You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

La valeur par défaut est OFF.The default value is OFF.

La valeur actuelle de cette option peut être déterminée en examinant la colonne is_memory_optimized_elevate_to_snapshot_on dans la vue de catalogue 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> ::=

Contrôle les options de conformité ANSI au niveau de la base de données.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Détermine la valeur par défaut, NULL ou NOT NULL, d’une colonne, d’un type CLR défini par l’utilisateur dont le paramètre d’acceptation des valeurs NULL n’est pas défini de façon explicite dans les instructions CREATE TABLE ou 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. Les colonnes définies avec des contraintes respectent les règles de contrainte, quel que soit ce paramètre.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
La valeur par défaut est NULL.The default value is NULL.

OFFOFF
La valeur par défaut est NOT NULL.The default value is NOT NULL.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre défini pour ANSI_NULL_DEFAULT au niveau de la base de données par défaut.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_NULL_DEFAULT pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Pour garantir la compatibilité ANSI, l'activation (ON) de l'option de base de données ANSI_NULL_DEFAULT entraîne la définition de NULL comme valeur par défaut de la base de données.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_null_default_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiNullDefault de la fonction 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
Toutes les comparaisons avec une valeur Null produisent le résultat UNKNOWN (inconnu).All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
Les comparaisons de valeurs non-UNICODE avec une valeur Null génèrent la valeur TRUE si les deux valeurs sont Null.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Important

Dans une future version de SQL ServerSQL Server, ANSI_NULLS aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut défini pour ANSI_NULLS au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_NULLS pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

Important

SET ANSI_NULLS doit également avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_nulls_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiNullsEnabled de la fonction 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
Les chaînes sont complétées pour avoir la même longueur avant leur conversion.Strings are padded to the same length before conversion. Elles sont également complétées pour avoir la même longueur avant leur insertion dans un type de données varchar ou nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Cette option insère des espaces à droite dans les valeurs de type character dans des colonnes varchar ou nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Cette option laisse également les zéros à droite dans les valeurs de type binary insérées dans des colonnes varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Les valeurs ne sont pas complétées à concurrence de la longueur de la colonne.Values aren't padded to the length of the column.

Lorsque cette option a la valeur OFF, elle affecte uniquement la définition des nouvelles colonnes.When OFF is specified, this setting affects only the definition of new columns.

Important

Dans une future version de SQL ServerSQL Server, ANSI_PADDING aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Il est recommandé de toujours affecter la valeur ON à l'option ANSI_PADDING.We recommend that you always set ANSI_PADDING to ON. Par ailleurs, ANSI_PADDING doit avoir la valeur ON lorsque vous créez ou manipulez des index dans des colonnes calculées ou des vues indexées.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Les colonnes char(n) et binary(n) qui acceptent des valeurs NULL sont complétées à concurrence de la longueur de la colonne lorsque ANSI_PADDING a la valeur ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Les espaces à droite et les zéros sont tronqués lorsque ANSI_PADDING a la valeur OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. Les colonnes char(n) et binary(n) qui n’acceptent pas les valeurs NULL sont toujours complétées à concurrence de la longueur de la colonne.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre de ANSI_PADDING au niveau de la base de données par défaut.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_PADDING pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_padding_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiPaddingEnabled de la fonction 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
Des erreurs ou avertissements sont émis si des conditions telles que « division par zéro » sont vérifiées.Errors or warnings are issued when conditions such as divide-by-zero occur. Des erreurs et avertissements sont également générés lorsque des valeurs Null apparaissent dans des fonctions d’agrégation.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Aucun avertissement n’est généré et des valeurs Null sont retournées quand des conditions telles qu’une division par zéro se manifestent.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

Important

SET ANSI_WARNINGS doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut de ANSI_NULLS défini au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à ANSI_WARNINGS pour la session par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET ANSI_WARNINGS.For more information, see SET ANSI_WARNINGS.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_ansi_warnings_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAnsiWarningsEnabled de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Arrête une requête quand un dépassement de capacité ou une division par zéro se produit durant son exécution.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Un message d’avertissement s’affiche quand l’une de ces erreurs se produit.A warning message is displayed when one of these errors occurs. Le traitement de la requête, du lot ou de la transaction se poursuit comme s’il n’y avait pas d’erreur, même si un message d’avertissement s’affiche.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

Important

SET ARITHABORT doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_arithabort_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsArithmeticAbortEnabled de la fonction 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 }
Pour plus d’informations, voir Niveau de compatibilité ALTER DATABASE.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
Le résultat d’une concaténation est NULL quand l’un des deux opérandes est NULL.The result of a concatenation operation is NULL when either operand is NULL. Par exemple, la concaténation de la chaîne de caractères « Ceci est » et NULL donne la valeur NULL et non la valeur « Ceci est ».For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
La valeur Null est considérée comme une chaîne de caractères vide.The null value is treated as an empty character string.

Important

CONCAT_NULL_YIELDS_NULL doit avoir la valeur ON lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Important

Dans une future version de SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL aura toujours la valeur ON et toute application qui définira explicitement l'option à OFF produira une erreur.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. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Les paramètres définis à l'aide de l'instruction SET au niveau de la connexion se substituent au paramètre par défaut de CONCAT_NULL_YIELDS_NULL défini au niveau de la base de données.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. Par défaut, les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à CONCAT_NULL_YIELDS_NULL pour la session lors de la connexion à une instance 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. Pour plus d’informations, voir SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_concat_null_yields_null_on de la vue de catalogue 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. Vous pouvez également déterminer l’état en consultant la propriété IsNullConcat de la fonction 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
Des guillemets doubles peuvent être utilisés pour entourer des identificateurs délimités.Double quotation marks can be used to enclose delimited identifiers.

Toutes les chaînes délimitées par des guillemets doubles sont considérées comme des identificateurs d'objet.All strings delimited by double quotation marks are interpreted as object identifiers. Les identificateurs entre guillemets n’ont pas à respecter les règles Transact-SQLTransact-SQL propres aux identificateurs.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Ils peuvent être des mots clés et contenir des caractères interdits dans les identificateurs Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Si un guillemet simple (') fait partie de la chaîne littérale, il pourra être représenté par un guillemet double ('').If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Les identificateurs ne peuvent pas être mis entre guillemets et doivent respecter toutes les règles Transact-SQLTransact-SQL applicables aux identificateurs.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Les chaînes littérales peuvent être délimitées par des guillemets simples ou doubles.Literals can be delimited by either single or double quotation marks.

SQL ServerSQL Server permet également de délimiter les identificateurs par des crochets ([ ]).also allows for identifiers to be delimited by square brackets ([ ]). Les identificateurs entre crochets peuvent toujours être utilisés, quel que soit le paramètre QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Pour plus d'informations, consultez Database Identifiers.For more information, see Database Identifiers.

Lors de la création d’une table, l’option QUOTED IDENTIFIER est toujours stockée avec la valeur ON dans les métadonnées de la table.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. L’option est stockée même si elle a la valeur OFF au moment de la création de la table.The option is stored even if the option is set to OFF when the table is created.

Les paramètres définis au niveau de la connexion à l'aide de l'instruction SET se substituent au paramètre de base de données par défaut de QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Les clients ODBC et OLE DB génèrent une instruction SET de niveau connexion qui affecte la valeur ON à QUOTED_IDENTIFIER par défaut.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Les clients exécutent l’instruction lorsque vous vous connectez à une instance de SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Pour plus d’informations, voir SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_quoted_identifier_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsQuotedIdentifiersEnabled de la fonction 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
Une erreur est générée lors d’une perte de précision dans une expression.An error is generated when loss of precision occurs in an expression.

OFFOFF
La perte de précision ne génère pas de message d’erreur et le résultat est arrondi en fonction de la précision de la colonne ou de la variable stockant le résultat.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.

Important

NUMERIC_ROUNDABORT doit avoir la valeur OFF lorsque vous créez ou modifiez des index dans des colonnes calculées ou des vues indexées.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_numeric_roundabort_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsNumericRoundAbortEnabled de la fonction 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
L’activation récursive des déclencheurs AFTER est autorisée.Recursive firing of AFTER triggers is allowed.

OFFOFF
Vous pouvez déterminer l’état de cette option en consultant la colonne is_recursive_triggers_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsRecursiveTriggersEnabled de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Notes

Seule la récursivité directe est désactivée lorsque RECURSIVE_TRIGGERS a la valeur OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Pour désactiver la récursivité indirecte, vous devez aussi affecter la valeur 0 à l'option serveur nested triggers.To disable indirect recursion, you must also set the nested triggers server option to 0.

Vous pouvez déterminer l’état de cette option en consultant la colonne is_recursive_triggers_on de la vue de catalogue sys.databases ou la propriété IsRecursiveTriggersEnabled de la fonction 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> ::=

Spécifie la fréquence des points de contrôle indirects en fonction de chaque base de données.Specifies the frequency of indirect checkpoints on a per-database basis. À compter de SQL Server 2016 (13.x)SQL Server 2016 (13.x), la valeur par défaut pour les nouvelles bases de données est 1 minute, ce qui signifie que la base de données utilise des points de contrôle indirects.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. Pour les versions antérieures, la valeur par défaut est 0, ce qui indique que la base de données utilise les points de contrôle automatiques, dont la fréquence dépend du paramètre d’intervalle de récupération de l’instance de serveur.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 recommande une valeur d’une minute pour la plupart des systèmes.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
Spécifie la limite maximale de durée de récupération de la base de données spécifiée en cas de sinistre.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Indique que target_recovery_time correspond au nombre de secondes.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indique que target_recovery_time correspond au nombre de minutes.Indicates that target_recovery_time is expressed as the number of minutes.

Pour plus d’informations sur les points de contrôle indirects, voir Points de contrôle de base de données.For more information about indirect checkpoints, see Database Checkpoints.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Indique si la restauration intervient après le nombre de secondes spécifié ou immédiatement.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Spécifie que la requête échoue si le changement d’état ou d’option de base de données demandé ne peut pas être effectué immédiatement.Specifies that the request will fail if the requested database state or option change can't complete immediately. Une exécution immédiate signifie ne pas attendre la validation ou la restauration des transactions.Completing immediately means not waiting for transactions to commit or roll back on their own.

Configuration des optionsSetting options

Pour récupérer les paramètres actuels des options de base de données, utilisez la vue de catalogue sys.databases ou DATABASEPROPERTYEX.To retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Quand vous définissez une option de base de données, la nouvelle valeur prend effet immédiatement.After you set a database option, the new setting takes effect immediately.

Vous pouvez modifier les valeurs par défaut de l’une des options de base de données afin qu’elles s’appliquent à toutes les nouvelles bases de données créées.You can change the default values for any one of the database options for all newly created databases. Pour ce faire, modifiez l’option de base de données appropriée dans la base de données model.To do so, change the appropriate database option in the model database.

ExemplesExamples

A.A. Paramétrage de la base de données avec READ_ONLYSetting the database to READ_ONLY

Pour modifier l’état d’une base de données ou d’un groupe de fichiers en READ_ONLY ou en READ_WRITE, vous avez besoin d’un accès exclusif à la base de données.Changing the state of a database or file group to READ_ONLY or READ_WRITE requires exclusive access to the database. L’exemple suivant illustre le basculement de la base de données en mode RESTRICTED_USER pour d’accès restreint.The following example sets the database to RESTRICTED_USER mode to restricted access. L'exemple affecte ensuite à la base de données AdventureWorks2012AdventureWorks2012 l'état READ_ONLY et rend à tous les utilisateurs l'accès à la base de données.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. Activation de l'isolement d'instantané sur une base de donnéesEnabling snapshot isolation on a database

L'exemple ci-dessous illustre l'activation de l'option d'infrastructure d'isolement d'instantané pour la base de données 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

Le jeu de résultats montre que l'infrastructure d'isolement d'instantané est activée.The result set shows that the snapshot isolation framework is enabled.

NAMEname snapshot_isolation_statesnapshot_isolation_state descriptiondescription
[nom_base_de_données][database_name] 11 ONON

C.C. Activation, modification et désactivation du suivi des modificationsEnabling, modifying, and disabling change tracking

L'exemple ci-dessous illustre l'activation du suivi des modifications pour la base de données AdventureWorks2012AdventureWorks2012 et la définition d'une période de rétention de 2 jours.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);

L'exemple suivant illustre comment modifier la période de rétention en spécifiant 3 jours.The following example shows how to change the retention period to 3 days.

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

L'exemple ci-dessous illustre comment désactiver le suivi des modifications pour la base de données AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE [database_name]
SET CHANGE_TRACKING = OFF;

D.D. Activation du magasin de requêtesEnabling the Query Store

L’exemple suivant active le magasin des requêtes et configure ses paramètres.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
    );

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
Instance managée
SQL Database
SQL Database
managed instance
* SQL Data
Warehouse *
 
* SQL Data
Warehouse *
 

 

Azure SQL Data Warehouse.Azure SQL Data Warehouse

SyntaxeSyntax

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

ArgumentsArguments

database_name database_name
Nom de la base de données à modifier.Is the name of the database to be modified.

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

Contrôle les options automatiques.Controls automatic options.

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

ONON
L’optimiseur de requête crée si nécessaire des statistiques sur les colonnes uniques des prédicats de requête, afin d’améliorer les plans de requête et les performances des requêtes.Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Ces statistiques de colonnes uniques sont créées quand l’optimiseur de requête compile les requêtes.These single-column statistics are created when Query Optimizer compiles queries. Les statistiques de colonnes uniques sont créées uniquement sur les colonnes qui ne constituent pas déjà la première colonne d'un objet de statistiques existant.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

La valeur par défaut est ON.The default is ON. Nous vous recommandons d'utiliser le paramètre par défaut pour la plupart des bases de données.We recommend that you use the default setting for most databases.

OFFOFF
L’optimiseur de requête ne crée pas de statistiques sur les colonnes uniques des prédicats de requête quand il compile les requêtes.Query Optimizer doesn't create statistics on single columns in query predicates when it's compiling queries. Si cette option a la valeur OFF, il peut en résulter des plans de requête non optimisés et une dégradation des performances des requêtes.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Vous pouvez déterminer l’état de cette option en consultant la colonne s_auto_create_stats_on de la vue de catalogue sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Vous pouvez également déterminer l’état en consultant la propriété IsAutoCreateStatistics de la fonction DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Pour plus d’informations, consultez la section « Utilisation des options de statistiques à l’échelle de la base de données » dans Statistiques.For more information, see the section "Using the database-wide statistics options" in Statistics.

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

Contrôle l'état de chiffrement de la base de données.Controls the database encryption state.

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

ONON
Indique que la base de données doit être chiffrée.Sets the database to be encrypted.

OFFOFF
Indique que la base de données ne doit pas être chiffrée.Sets the database to not be encrypted.

Pour plus d’informations sur le chiffrement de base de données, consultez Transparent Data Encryption et Transparent Data Encryption avec Azure SQL Database.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quand le chiffrement est activé au niveau de la base de données, tous les groupes de fichiers sont chiffrés.When encryption is enabled at the database level, all file groups will be encrypted. Tous les nouveaux groupes de fichiers héritent de la propriété chiffrée.Any new file groups will inherit the encrypted property. Si des groupes de fichiers dans la base de données sont définis sur READ ONLY, l’opération de chiffrement de la base de données échoue.If any file groups in the database are set to READ ONLY, the database encryption operation will fail.

Vous pouvez voir l’état du chiffrement de la base de données et l’état de l’analyse du chiffrement en utilisant la vue de gestion dynamique 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> ::=

Contrôle si le Magasin des requêtes est activé dans cet entrepôt de données.Controls whether the Query Store is enabled in this data warehouse.

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

ONON
Active le magasin des requêtes.Enables the Query Store.

OFFOFF

Désactive le magasin des requêtes.Disables the Query Store. OFF est la valeur par défaut.OFF is the default value.

Notes

Pour SQL Data WarehouseSQL Data Warehouse, vous devez exécuter ALTER DATABASE SET QUERY_STORE à partir de la base de données utilisateur.For SQL Data WarehouseSQL Data Warehouse, you must execute ALTER DATABASE SET QUERY_STORE from the user database. L’exécution de l’instruction à partir d’une autre instance d’entrepôt de données n’est pas prise en charge.Executing the statement from another data warehouse instance isn't supported.

<result_set_caching_option> ::= <result_set_caching_option> ::=
S’applique à : Azure SQL Data Warehouse (préversion)Applies to: Azure SQL Data Warehouse (preview)

Contrôle si le résultat de la requête est mis en cache dans la base de données.Controls whether query result is cached in the database.

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

ONON
Indique que les jeux de résultats de requête retournés à partir de cette base de données seront mis en cache dans le stockage Azure SQL Data Warehouse.Specifies that query result sets returned from this database will be cached in Azure SQL Data Warehouse storage.

OFFOFF
Indique que les jeux de résultats de requête retournés à partir de cette base de données ne seront pas mis en cache dans le stockage Azure SQL Data Warehouse.Specifies that query result sets returned from this database will not be cached in Azure SQL Data warehouse storage.

NotesRemarks

Cette commande doit être exécutée quand vous êtes connecté à la base de données master.This command must be run while connected to the master database. La modification de ce paramètre de base de données prend effet immédiatement.Change to this database setting takes effect immediately. Des coûts de stockage sont facturés en mettant en cache des jeux de résultats de requête.Storage costs are incurred by caching query result sets. Après avoir désactivé la mise en cache de résultats pour une base de données, le cache de résultats rendu persistant auparavant sera immédiatement supprimé depuis le stockage 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.

Exécutez cette commande pour vérifier la configuration de la mise en cache de l’ensemble des résultats d’une base de données.Run this command to check a database's result set caching configuration. Si la mise en cache des résultats est activée, is_result_set_caching_on retourne 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'>

Exécutez cette commande pour vérifier si une requête a été exécutée avec une correspondance ou un échec dans le cache des résultats.Run this command to check if a query was executed with a result cache hit or miss. En cas de correspondance dans le cache, result_cache_hit retourne 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'>

AutorisationsPermissions

Pour définir l’option RESULT_SET_CACHING, un utilisateur a besoin d’une connexion du principal au niveau du serveur (celle créée par le processus de provisionnement) ou doit être membre du rôle de base de données dbmanager.To set the RESULT_SET_CACHING option, a user needs server-level principal login (the one created by the provisioning process) or be a member of the dbmanager database role.

<snapshot_option> ::= <snapshot_option> ::=
S’applique à : Azure SQL Data Warehouse (préversion)Applies to: Azure SQL Data Warehouse (preview)

Contrôle le niveau d’isolation des transactions d’une base de données.Controls the transaction isolation level of a database.

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

ONON
Active l’option READ_COMMITTED_SNAPSHOT au niveau de la base de données.Enables the READ_COMMITTED_SNAPSHOT option at the database level.

OFFOFF
Désactive l’option READ_COMMITTED_SNAPSHOT au niveau de la base de données.Turn off the READ_COMMITTED_SNAPSHOT option at the database level.

NotesRemarks

Cette commande doit être exécutée quand vous êtes connecté à la base de données master.This command must be run while connected to the master database. La définition de READ_COMMITTED_SNAPSHOT sur ON ou sur OFF pour une base de données utilisateur entraîne la fermeture de toutes les connexions ouvertes à cette base de données.Turning READ_COMMITTED_SNAPSHOT ON or OFF for a user database will kill all open connections to this database. Vous pouvez effectuer cette modification pendant la fenêtre de maintenance de la base de données ou attendre qu’il n’existe plus de connexion active à la base de données, à l’exception de la connexion exécutant la commande ALTER DATABASE.You may want to make this change during database maintenance window or wait until there's no active connection to the database except for the connection running the ALTER DATABSE command. Il n'est pas nécessaire que la base de données soit en mode mono-utilisateur.The database does not have to be in single-user mode. La modification du paramètre READ_COMMITTED_SNAPSHOT au niveau de la session n’est pas prise en charge.Changing READ_COMMITTED_SNAPSHOT setting at session level isn't supported. Pour vérifier ce paramètre pour une base de données, vérifiez la colonne is_read_committed_snapshot_on dans sys. databases.To verify this setting for a database, check is_read_committed_snapshot_on column in sys.databases.

Dans une base de données avec la fonction READ_COMMITTED_SNAPSHOT activée, les requêtes peuvent avoir des performances plus lentes en raison de l’analyse des versions si plusieurs versions de données sont présentes.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. Les transactions longues peuvent également entraîner une augmentation de la taille de la base de données.Long-open transactions can also cause an increase in the size of the database. Ce problème se produit s’il existe des modifications de données effectuées par ces transactions qui bloquent le nettoyage de la version.This issue occurs if there are data changes by these transactions that block version cleanup.

AutorisationsPermissions

Pour définir l’option READ_COMMITTED_SNAPSHOT, un utilisateur doit disposer de l’autorisation ALTER sur la base de données.To set the READ_COMMITTED_SNAPSHOT option, a user needs ALTER permission on the database.

ExemplesExamples

Vérifier le paramètre des statistiques pour une base de donnéesCheck statistics setting for a database

SELECT name, is_auto_create_stats_on FROM sys.databases

Activer le Magasin des requêtes sur une base de donnéesEnable query store for a database

ALTER DATABASE [database_name]
SET QUERY_STORE = ON;

Activer la mise en cache d’un jeu de résultats pour une base de donnéesEnable result set caching for a database

ALTER DATABASE [database_name]
SET RESULT_SET_CACHING ON;

Vérifier le paramètre de mise en cache d’un jeu de résultats pour une base de donnéesCheck result set caching setting for a database

SELECT name, is_result_set_caching_on
FROM sys.databases;

Activer l’option Read_Committed_Snapshot pour une base de donnéesEnable the Read_Committed_Snapshot option for a database

ALTER DATABASE MyDatabase  
SET READ_COMMITTED_SNAPSHOT ON

Voir aussiSee also