Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à : SQL Server 2016 (13.x) et versions
ultérieures Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Cette commande active plusieurs paramètres de configuration de base de données au niveau de la base de données individuelle.
Important
Différentes options DATABASE SCOPED CONFIGURATION sont prises en charge dans différentes versions de SQL Server ou de services Azure. Cette page décrit toutes lesDATABASE SCOPED CONFIGURATION options. Les versions le cas échéant sont notées. Assurez-vous d’utiliser la syntaxe disponible dans la version du service que vous utilisez.
Les paramètres suivants sont pris en charge dans Azure SQL Database, SQL database dans Microsoft Fabric, Azure SQL Managed Instance et SQL Server comme indiqué par la ligne Apply to pour chaque paramètre dans la section Arguments :
- Effacer le cache de procédures.
- Définissez le paramètre MAXDOP sur une valeur recommandée (1, 2, ...) pour la base de données primaire en fonction de ce qui fonctionne le mieux pour cette charge de travail particulière et définissez une valeur différente pour les bases de données de réplica secondaires utilisées par les requêtes de création de rapports. Pour obtenir des conseils sur le choix d’un MAXDOP, passez en revue configuration du serveur : degré maximal de parallélisme.
- Définir le modèle d’estimation de la cardinalité de l’optimiseur de requête indépendant de la base de données au niveau de compatibilité.
- Activer ou désactiver la détection de paramètres au niveau de la base de données.
- Activer ou désactiver les correctifs d’optimisation des requêtes au niveau de la base de données.
- Activer ou désactiver le cache d’identité au niveau de la base de données
- Activer ou désactiver un stub de plan compilé à stocker dans le cache lorsqu’un lot est compilé pour la première fois
- Activer ou désactiver la collecte de statistiques d’exécution pour les modules Transact-SQL compilés en mode natif.
- Activer ou désactiver les options par défaut « online » pour les instructions DDL qui prennent en charge la syntaxe
ONLINE =. - Activer ou désactiver les options par défaut « resumable » pour les instructions DDL qui prennent en charge la syntaxe
RESUMABLE =. - Activer ou désactiver les fonctionnalités de traitement de requêtes intelligent.
- Activer ou désactiver le forçage du plan accéléré.
- Activez ou désactivez la fonctionnalité d’écoute automatique des tables temporaires globales.
- Activer ou désactiver l’infrastructure de profilage de requête léger.
- Activer ou désactiver le nouveau message d’erreur
String or binary data would be truncated. - Active ou désactive la collection du dernier plan d’exécution actuel dans sys.dm_exec_query_plan_stats.
- Spécifiez le nombre de minutes pendant lesquelles une opération d’index reprenable mise en pause est mise en pause avant d’être automatiquement interrompue par le moteur de base de données.
- Activer ou désactiver l’attente des verrous en priorité basse pour la mise à jour asynchrone des statistiques.
- Activez ou désactivez le chargement des synthèses de registre dans Stockage Blob Azure.
- Définissez la version par défaut de l’index en texte intégral (
1ou2).
Ce paramètre est disponible seulement dans Azure Synapse Analytics.
- Définir le niveau de compatibilité d’une base de données utilisateur
Conventions de la syntaxe Transact-SQL
Syntax
Syntaxe pour SQL Server, Azure SQL Database et Azure SQL Managed Instance :
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY ] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
MAXDOP = { <value> | PRIMARY }
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| ACCELERATED_PLAN_FORCING = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
| OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }
| ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
| PREVIEW_FEATURES = { ON | OFF }
| FULLTEXT_INDEX_VERSION = <version>
}
Syntaxe pour Azure Synapse Analytics :
ALTER DATABASE SCOPED CONFIGURATION
{
SET <set_options>
}
[;]
< set_options > ::=
{
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}
Arguments
POUR SECONDAIRE
Spécifie les paramètres des bases de données secondaires (toutes les bases de données secondaires doivent avoir des valeurs identiques).
CLAIR PROCEDURE_CACHE [plan_handle]
Efface le cache (du plan) de procédure pour la base de données et peut être exécuté sur les bases de données primaires et secondaires.
Spécifiez un descripteur de plan de requête pour effacer un seul plan de requête du cache de plan.
S’applique à : La spécification d’un handle de plan de requête est disponible dans SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database, et Azure SQL Managed Instance.
MAXDOP = {<valeur> | PRIMARY }
<valeur>
Spécifiez le degré maximal de parallélisme (MAXDOP) par défaut qui doit être utilisé pour les instructions. 0 est la valeur par défaut et indique que la configuration du serveur est utilisée à la place. Le MAXDOP à l’étendue de la base de données remplace (sauf s’il est réglé à 0) l’ensemble max degree of parallelism au niveau serveur par sp_configure. Les indicateurs de requête peuvent tout de même remplacer le paramètre MAXDOP défini au niveau de la base de données afin de configurer les requêtes qui nécessitent un paramétrage différent. Tous ces réglages sont limités par le MAXDOP défini pour le groupe de charge de travail.
Vous pouvez utiliser l'option MAXDOP pour limiter le nombre de processeurs à utiliser dans une exécution de plans parallèles. SQL Server prend en compte les plans d’exécution parallèle pour les requêtes, les opérations du langage de définition de données (DDL) d’index, l’insertion parallèle, la modification de colonne en ligne, la collecte de statistiques parallèle et l’alimentation des curseurs statiques et de jeux de clés.
La limite du degré maximal de parallélisme (MAXDOP) est spécifiée par tâche. Il ne s’agit pas d’une limite par demande ou par requête. Cela signifie que lors d’une exécution parallèle d’une requête, une seule requête peut faire apparaître plusieurs tâches, qui sont attribuées à un planificateur. Pour plus d’informations, consultez le guide d’architecture thread et de tâche.
Pour définir cette option au niveau de l’instance, voir Configuration du serveur : degré maximal de parallélisme.
Dans Azure SQL Database, la configuration de l’étendue de base de données MAXDOP pour les nouvelles bases de données de pools élastiques et uniques est définie sur 8 par défaut. Pour plus d’informations et des recommandations sur la configuration optimale de MAXDOP dans Azure SQL Database, consultez Configurer MAXDOP sur Azure SQL Database.
Tip
Pour définir cette option au niveau de la requête, utilisez l’indicateur de requêteMAXDOP.
Pour ce faire au niveau du serveur, utilisez l’option de configuration serveur du degré maximal de parallélisme (MAXDOP).
Pour ce faire au niveau de la charge de travail, utilisez l’option de configuration de groupe de charge de travail Resource GovernorMAX_DOP.
PRIMARY
Peut uniquement être défini pour les fichiers secondaires, tandis que la base de données sur le serveur principal et indique que la configuration est celle définie pour la base de données primaire. Si la configuration de la base de données primaire est modifiée, la valeur des bases de données secondaires est modifiée en conséquence, sans que vous ayez à la définir explicitement. PRIMARY est le paramètre par défaut des bases de données secondaires.
LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMAIRE }
Permet de définir le modèle d’estimation de la cardinalité de l’optimiseur de requête sur SQL Server 2012 ou antérieur selon le niveau de compatibilité de la base de données. La valeur par défaut est OFF, qui définit le modèle d’estimation de cardinalité de l’optimiseur de requête en fonction du niveau de compatibilité de la base de données. Le paramètre LEGACY_CARDINALITY_ESTIMATION sur ON est équivalent à l’activation de l’indicateur de trace 9481.
Tip
Pour définir cette option au niveau de la requête, ajoutez l’indicateur de requêteQUERYTRACEON.
Pour y parvenir au niveau de la requête dans SQL Server 2016 (13.x) avec Service Pack 1 et versions ultérieures, ajoutez l’indice de requêteUSE HINT au lieu d’utiliser le drapeau de trace.
PRIMARY
Cette valeur est valide uniquement sur les secondaires tandis que la base de données sur le serveur principal et spécifie que le paramètre de modèle d’estimation de cardinalité de l’optimiseur de requête sur tous les secondaires est la valeur définie pour le serveur principal. Si la configuration sur le serveur principal du modèle d’estimation de cardinalité de l’optimiseur de requête change, la valeur des secondaires change en conséquence. PRIMARY est le paramètre par défaut des bases de données secondaires.
PARAMETER_SNIFFING = { ON | OFF | PRIMAIRE }
Active ou désactive la détection de paramètres. La valeur par défaut est ON. Le paramètre PARAMETER_SNIFFING sur OFF est équivalent à l’activation de l’indicateur de trace 4136.
Tip
Pour ce faire au niveau de la requête, consultez l’indicateur de requête OPTIMIZE FOR UNKNOWN.
Dans SQL Server 2016 (13.x) SP1 et versions ultérieures, pour ce faire au niveau de la requête, l’indicateur de requête USE HINT est également disponible.
PRIMARY
Cette valeur est valide uniquement pour les bases de données secondaires lorsque la base de données est définie sur PRIMARY, et indique que, sur toutes les bases de données secondaires, ce paramètre est défini sur la valeur de la base de données primaire. Si la configuration sur le serveur principal pour l’utilisation de détection de paramètres change, la valeur des secondaires change en conséquence sans avoir à définir explicitement la valeur des fichiers secondaires. PRIMARY est le paramètre par défaut des bases de données secondaires.
QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMAIRE }
Active ou désactive les correctifs logiciels d’optimisation de requête, quel que soit le niveau de compatibilité de la base de données. La valeur par défaut est OFF, qui désactive les correctifs logiciels d’optimisation des requêtes qui ont été publiés après l’introduction du niveau de compatibilité disponible le plus élevé pour une version spécifique (post-RTM). Définir cette valeur ON équivaut à activer l’indicateur de trace 4199.
S’applique à : SQL Server 2016 (13.x) et versions ultérieures, Azure SQL Database, et Azure SQL Managed Instance
Tip
Pour définir cette option au niveau de la requête, ajoutez l’indicateur de requêteQUERYTRACEON.
Pour y parvenir au niveau de la requête dans SQL Server 2016 (13.x) avec Service Pack 1 et versions ultérieures, ajoutez l’indice de requête USE HINT au lieu d’utiliser le drapeau de trace.
PRIMARY
Cette valeur est valide uniquement pour les bases de données secondaires lorsque la base de données est définie sur PRIMARY, et indique que, sur toutes les bases de données secondaires, ce paramètre est défini sur la valeur de la base de données primaire. Si la configuration de la base de données primaire est modifiée, la valeur des bases de données secondaires est modifiée en conséquence, sans que vous ayez à la définir explicitement. PRIMARY est le paramètre par défaut des bases de données secondaires.
IDENTITY_CACHE = { ON | OFF }
S’applique à : SQL Server 2017 (14.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Active ou désactive le cache d’identité au niveau de la base de données. La valeur par défaut est ON. La mise en cache d’identité est utilisée pour améliorer les performances INSERT sur les tables comprenant des colonnes d’identité. Pour éviter les lacunes dans les valeurs d’une colonne d’identité dans les cas où le serveur redémarre de façon inattendue ou bascule vers un serveur secondaire, désactivez l’option IDENTITY_CACHE. Cette option est similaire à l’indicateur de trace existant 272, sauf qu’elle peut être définie au niveau de la base de données plutôt qu’au niveau du serveur.
Note
Cette option peut uniquement être définie sur la valeur PRIMARY. Pour plus d’informations, consultez Colonnes d’identité.
INTERLEAVED_EXECUTION_TVF = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver l’exécution entrelacée pour les fonctions table à instructions multiples dans l’étendue de la base de données ou de l’instruction, tout en maintenant le niveau de compatibilité de base de données 140 et au-delà. La valeur par défaut est ON. L’exécution entrelacée est une fonctionnalité qui fait partie du traitement de requêtes adaptatif dans Azure SQL Database. Pour plus d’informations, consultez Traitement de requêtes intelligent.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 130, cette configuration étendue à la base de données n’a aucun effet.
Dans SQL Server 2017 (14.x) uniquement, l’option INTERLEAVED_EXECUTION_TVF portait l’ancien nom DISABLE_INTERLEAVED_EXECUTION_TVF.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver la rétroaction d’allocation de mémoire en mode batch dans l’étendue de la base de données tout en maintenant le niveau de compatibilité de la base de données à au moins 140. La valeur par défaut est ON. La rétroaction d’allocation de mémoire en mode batch, introduite dans SQL Server 2017 (14.x), fait partie de la suite de fonctionnalités du traitement de requêtes intelligent. Pour plus d’informations, consultez Rétroaction d’allocation de mémoire.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 130, cette configuration étendue à la base de données n’a aucun effet.
BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver les jointures adaptatives en mode batch dans l’étendue de la base de données tout en maintenant le niveau de compatibilité de la base de données à au moins 140. La valeur par défaut est ON. Les jointures adaptatives en mode batch sont une fonctionnalité qui fait partie du traitement de requêtes intelligent introduit dans SQL Server 2017 (14.x).
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 130, cette configuration étendue à la base de données n’a aucun effet.
TSQL_SCALAR_UDF_INLINING = { ON | OFF }
S’applique à : SQL Server 2019 (15.x) et versions ultérieures, ainsi qu’à Azure SQL Database (fonctionnalité en aperçu)
Vous permet d’activer ou de désactiver l’incorporation (inlining) des fonctions UDF scalaires T-SQL dans l’étendue de la base de données tout en maintenant le niveau de compatibilité de la base de données à au moins 150. La valeur par défaut est ON. L’incorporation (inlining) des fonctions UDF scalaires T-SQL fait partie de la famille des fonctionnalités de traitement de requêtes intelligent.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 140, cette configuration étendue à la base de données n’a aucun effet.
ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Permet de sélectionner les options destinées à forcer le moteur à élever automatiquement les opérations prises en charge pour une exécution en ligne. La valeur par défaut est OFF, ce qui signifie que les opérations ne sont pas élevées en ligne, sauf indication dans l’instruction.
sys.database_scoped_configurations reflète la valeur actuelle de ELEVATE_ONLINE. Ces options s’appliquent uniquement aux opérations prises en charge pour les applications en ligne.
FAIL_UNSUPPORTED
Cette valeur élève toutes les opérations DDL prises en charge pour une exécution en ligne (option ONLINE). Les opérations qui ne prennent pas en charge l’exécution en ligne échouent et lèvent une erreur.
Note
L’ajout d’une colonne à une table est une opération en ligne dans le cas général. Dans certains scénarios, par exemple, lorsque l’ajout d’une colonne non nullable, une colonne ne peut pas être ajoutée en ligne. Dans ce cas, si FAIL_UNSUPPORTED est défini, l’opération échoue.
WHEN_SUPPORTED
Cette valeur élève les opérations qui prennent en charge l’option ONLINE. Les opérations qui ne prennent pas en charge en ligne sont exécutées hors connexion.
Note
Vous pouvez remplacer le paramètre par défaut en envoyant une instruction avec l’option ONLINE spécifiée.
ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Permet de sélectionner des options pour forcer le moteur à élever automatiquement les opérations prises en charge pour une exécution pouvant être reprise. La valeur par défaut est OFF, ce qui signifie que les opérations ne sont pas élevées pour reprendre, sauf indication dans l’instruction.
sys.database_scoped_configurations reflète la valeur actuelle de ELEVATE_RESUMABLE. Ces options s’appliquent uniquement aux opérations prises en charge pour une exécution pouvant être reprise.
FAIL_UNSUPPORTED
Cette valeur élève toutes les opérations DDL prises en charge pour une exécution pouvant être reprise (option RESUMABLE). Les opérations qui ne prennent pas en charge l’exécution pouvant être reprise échouent et lèvent une erreur.
WHEN_SUPPORTED
Cette valeur élève les opérations qui prennent en charge l’option RESUMABLE. Les opérations qui ne prennent pas en charge la reprise ne sont pas exécutées de manière nonresumab.
Note
Vous pouvez remplacer le paramètre par défaut en envoyant une instruction avec l’option RESUMABLE spécifiée.
OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Active ou désactive un stub de plan compilé à stocker dans le cache lorsqu’un lot est compilé pour la première fois. La valeur par défaut est OFF. Une fois la configuration délimitée à la base de données OPTIMIZE_FOR_AD_HOC_WORKLOADS activée pour une base de données, un stub de plan compilé est stocké dans le cache lorsqu’un lot est compilé pour la première fois. Les stubs de plan ont un encombrement mémoire moins important que celui des plans compilés complets. Si un lot est compilé ou réexécuté, le stub du plan compilé est supprimé et remplacé par un plan compilé complet.
XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
S’applique à : Azure SQL Database et Azure SQL Managed Instance
Active ou désactive la collecte de statistiques d’exécution au niveau du module pour les modules T-SQL compilés en mode natif dans la base de données actuelle. La valeur par défaut est OFF. Les statistiques d’exécution sont disponibles dans sys.dm_exec_procedure_stats.
Les statistiques d’exécution au niveau du module pour les modules T-SQL compilés en mode natif sont collectées si cette option est activée (ON) ou si la collecte des statistiques est activée avec sp_xtp_control_proc_exec_stats.
XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
S’applique à : Azure SQL Database et Azure SQL Managed Instance
Active ou désactive la collecte de statistiques d’exécution au niveau de l’instruction pour les modules T-SQL compilés en mode natif dans la base de données actuelle. La valeur par défaut est OFF. Les statistiques d’exécution sont disponibles dans sys.dm_exec_query_stats et dans le magasin des requêtes.
Les statistiques d’exécution au niveau de l’instruction pour les modules T-SQL compilés en mode natif sont collectées si cette option est ONou si la collecte de statistiques est activée via sp_xtp_control_query_exec_stats.
Pour plus d’informations sur l’analyse des performances des modules Transact-SQL compilés en mode natif, consultez Surveillance des performances des procédures stockées compilées en mode natif.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver la rétroaction d’allocation de mémoire en mode ligne dans l’étendue de la base de données tout en maintenant le niveau de compatibilité de la base de données à au moins 150. La valeur par défaut est ON. La rétroaction d’allocation de mémoire en mode ligne est une fonctionnalité qui fait partie du traitement de requêtes intelligent introduit dans SQL Server 2017 (14.x). Le mode ligne est pris en charge dans SQL Server 2019 (15.x) et Azure SQL Database. Pour plus d’informations, consultez Rétroaction d’allocation de mémoire.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 140, cette configuration étendue à la base de données n’a aucun effet.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
S’applique à : SQL Server 2022 (16.x) et versions ultérieures, et Azure SQL Database
Vous permet de désactiver le centile de la rétroaction d’allocation de mémoire dans toutes les exécutions de requête provenant de la base de données. La valeur par défaut est ON. Pour obtenir des informations complètes, consultez Rétroaction d’allocation de mémoire en mode centile et persistance.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 140, cette configuration étendue à la base de données n’a aucun effet.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet de désactiver la persistance de la rétroaction d’allocation de mémoire dans toutes les exécutions de requête provenant de la base de données. La valeur par défaut est ON. Pour obtenir des informations complètes, consultez Rétroaction d’allocation de mémoire en mode centile et persistance.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 140, cette configuration étendue à la base de données n’a aucun effet.
BATCH_MODE_ON_ROWSTORE = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver le mode batch sur rowstore dans l’étendue de la base de données tout en maintenant le niveau de compatibilité de la base de données à au moins 150. La valeur par défaut est ON. Le mode batch sur rowstore est une fonctionnalité qui fait partie de la famille de fonctionnalités de traitement de requêtes intelligent.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 140, cette configuration étendue à la base de données n’a aucun effet.
DEFERRED_COMPILATION_TV = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver la compilation différée de variables de table dans l’étendue de la base de données tout en maintenant le niveau de compatibilité de la base de données à au moins 150. La valeur par défaut est ON. La compilation différée de variables de table est une fonctionnalité qui fait partie de la famille de fonctionnalités de traitement de requêtes intelligent.
Note
Pour le niveau de compatibilité de la base de données inférieur ou égal à 140, cette configuration étendue à la base de données n’a aucun effet.
ACCELERATED_PLAN_FORCING = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Active un mécanisme optimisé pour le forçage du plan de requête, applicable à toutes les formes de forçage de plan, comme le plan de forçage du magasin de requêtes, l’optimisation automatique ou l’indicateur de requête USE PLAN. La valeur par défaut est ON.
Note
Il n’est pas recommandé de désactiver le forçage de plan accéléré.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Permet de définir la fonctionnalité d’écoute automatique pour les tables temporaires globales. La valeur par défaut est ON, ce qui signifie que les tables temporaires globales sont automatiquement supprimées lorsqu’elles ne sont pas utilisées par une session ou une tâche. Lorsqu’elles sont définies sur OFF, les tables temporaires globales ne peuvent être supprimées explicitement qu’à l’aide d’une instruction DROP TABLE ou sont automatiquement supprimées lors du redémarrage du moteur de base de données.
- Dans les bases de données uniques et les pools élastiques Azure SQL Database, cette option est définie dans les bases de données utilisateur individuelles.
- Dans SQL Server et Azure SQL Managed Instance, cette option doit être définie dans
tempdb. Le paramètre dans les bases de données utilisateur individuelles n’a aucun effet.
LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver l’infrastructure de profilage de requête léger. L’infrastructure de profilage de requête léger (LWP) fournit les données de performances de requête plus efficacement que les mécanismes de profilage standard et est activée par défaut. La valeur par défaut est ON.
VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Vous permet d’activer ou de désactiver le nouveau message d’erreur String or binary data would be truncated. La valeur par défaut est ON. SQL Server 2019 (15.x) introduit un nouveau message d’erreur (2628), plus spécifique, dans ce scénario :
String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.
Lorsque la valeur est définie sur ON sous le niveau de compatibilité de la base de données 150, les erreurs de troncation déclenchent le nouveau message d’erreur 2628 pour fournir plus de contexte et simplifier le processus de résolution des problèmes.
Lorsque la valeur est définie sur OFF sous le niveau de compatibilité de la base de données 150, les erreurs de troncation déclenchent le message d’erreur précédent 8152.
Pour le niveau de compatibilité de la base de données 140 ou inférieur, le message d’erreur 2628 reste un message d’erreur d’inscription qui nécessite l’activation de l’indicateur de trace 460 et cette configuration délimitée à la base de données n’a aucun effet.
LAST_QUERY_PLAN_STATS = { ON | OFF }
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Permet d’activer ou désactiver la collection des statistiques du dernier plan de requête (équivalent à un plan d’exécution réel) dans sys.dm_exec_query_plan_stats. La valeur par défaut est OFF.
PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
L’option PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES détermine la durée (en minutes) pendant laquelle l’index reprenable peut être mis en pause avant d’être automatiquement abandonné par le moteur.
- La valeur par défaut est définie sur un jour (1 440 minutes).
- La durée minimale est définie sur 1 minute
- La durée maximale est de 71 582 minutes.
- Lorsqu’elle est définie sur 0, une opération suspendue n’abandonne jamais automatiquement
La valeur actuelle de cette option s’affiche dans sys.database_scoped_configurations.
ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF}
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Cela vous permet de contrôler si un prédicat de sécurité au niveau ligne (RLS) affecte la cardinalité du plan d’exécution de la requête utilisateur globale. La valeur par défaut est OFF. Lorsque ISOLATE_SECURITY_POLICY_CARDINALITY est ON, un prédicat RLS n’affecte pas la cardinalité d’un plan d’exécution. Prenons l’exemple d’une table contenant 1 million de lignes et d’un prédicat RLS qui limite le résultat à 10 lignes pour l’utilisateur qui envoie la requête. Avec cette configuration étendue à la base de données définie sur OFF, l’estimation de la cardinalité de ce prédicat est 10. Lorsque cette configuration étendue à la base de données est ON, l’optimisation des requêtes estime 1 million de lignes. Il est recommandé d’utiliser la valeur par défaut pour la plupart des charges de travail.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
S’applique uniquement à : Azure Synapse Analytics
Définit les comportements de Transact-SQL et du traitement des requêtes pour qu’ils soient compatibles avec la version spécifiée du moteur de base de données. Une fois qu’elle est définie, lorsqu’une requête est exécutée sur cette base de données, seules les fonctionnalités compatibles sont exercices. À chaque niveau de compatibilité, différentes améliorations du traitement des requêtes sont prises en charge. Chaque niveau absorbe les fonctionnalités du niveau précédent. Le niveau de compatibilité d’une base de données est défini par défaut sur AUTO lors de sa création. Il s’agit du paramètre recommandé. Le niveau de compatibilité est conservé même après une les opérations d’interruption/reprise et de sauvegarde/restauration de la base de données. La valeur par défaut est AUTO.
| Niveau de compatibilité | Comments |
|---|---|
AUTO |
Default. Sa valeur est automatiquement mise à jour par le moteur Synapse Analytics et est représentée par 0 dans sys.database_scoped_configurations.
AUTO mappe actuellement au niveau de compatibilité 30 fonctionnalité. |
10 |
Met en œuvre les comportements de Transact-SQL et du moteur d’interrogation avant l’introduction de la prise en charge du niveau de compatibilité. |
20 |
Premier niveau de compatibilité qui inclut les comportements contrôlés de Transact-SQL et du moteur d’interrogation. La procédure stockée système sp_describe_undeclared_parameters est prise en charge sous ce niveau. |
30 |
Inclut les nouveaux comportements du moteur d’interrogation. |
40 |
Inclut les nouveaux comportements du moteur d’interrogation. |
50 |
La distribution multi-colonnes est prise en charge sous ce niveau. Pour en savoir plus, consultez CRÉER TABLE, CRÉER TABLE EN TANT QUE SELECT, ET CRÉER VUE MATÉRIALISÉE. |
9000 |
Niveau de compatibilité de la préversion. Les fonctionnalités en préversion contrôlées sous ce niveau sont mentionnées dans la documentation spécifique aux fonctionnalités. Ce niveau inclut également des capacités de niveau non9000 le plus élevé. |
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Permet de contrôler si les statistiques d’exécution pour les fonctions scalaires définies par l’utilisateur apparaissent dans la vue système sys.dm_exec_function_stats. Pour certaines charges de travail intensives qui sont lourdes de fonctions UDF scalaires, la collecte des statistiques d’exécution de fonction peut entraîner une surcharge de performances notable. Vous pouvez éviter cela en définissant la configuration de EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS délimitée à la base de données sur OFF. La valeur par défaut est ON.
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Si la mise à jour asynchrone des statistiques est activée, l’activation de cette configuration entraîne la mise à jour des statistiques en arrière-plan pour attendre un verrou sur une Sch-M file d’attente de faible priorité, afin d’éviter de bloquer d’autres sessions dans des scénarios de concurrence élevée. Pour plus d’informations, consultez AUTO_UPDATE_STATISTICS_ASYNC. La valeur par défaut est OFF.
OPTIMIZED_PLAN_FORCING = { ON | OFF }
S’applique à : SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database
Le forçage de plan optimisé réduit la surcharge de compilation pour les requêtes forcées répétées. La valeur par défaut est ON. Une fois le plan d’exécution de requêtes généré, des étapes de compilation spécifiques sont stockées pour être réutilisées en tant que script de relecture d’optimisation. Un script de relecture d’optimisation est stocké dans le cadre du XML compressé du plan d’exécution de requêtes dans le Magasin des requêtes, dans un attribut OptimizationReplay caché. Découvrez-en plus sur le forçage de plan optimisé avec le Magasin des requêtes.
DOP_FEEDBACK = { ON | OFF }
S’applique à : SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database, Azure SQL Managed Instance avec la politique SQL Server 2025 ou Always-up-todate de mise à jour, base de données SQL dans Fabric
Identifie les inefficacités du parallélisme pour les requêtes répétées, en fonction du temps écoulé et des attentes. Si l’utilisation du parallélisme est jugée inefficace, la rétroaction DOP réduit le DOP pour la prochaine exécution de la requête, quel que soit le DOP configuré, et vérifie si cela a un effet positif. Nécessite le Magasin des requêtes activé et en mode READ_WRITE. Pour plus d’informations, consultez les commentaires du degré de parallélisme (DOP). La valeur par défaut est OFF.
CE_FEEDBACK = { ON | OFF }
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Les commentaires CE traitent des problèmes de régression perçus résultant d’hypothèses incorrectes du modèle CE lors de l’utilisation du CE par défaut (CE120 ou version ultérieure) et peuvent utiliser de manière sélective différentes hypothèses de modèle. Nécessite le Magasin des requêtes activé et en mode READ_WRITE. Pour plus d’informations, consultez Rétroaction d’évaluation de la cardinalité (CE). La valeur par défaut est ON dans le niveau de compatibilité de la base de données 160 et versions ultérieures.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
L’optimisation du plan de confidentialité des paramètres (PSP) résout le scénario dans lequel un plan mis en cache unique pour une requête paramétrable n’est pas optimal pour toutes les valeurs de paramètres entrantes possibles. C’est le cas avec les distributions de données non uniformes. La valeur par défaut est ON à partir du niveau de compatibilité de la base de données 160. Pour plus d’informations, consultez Optimisation du plan de confidentialité des paramètres.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <chaîne d’URL de point de terminaison> | OFF }
S’applique à : SQL Server 2022 (16.x) et versions ultérieures
Active ou désactive le chargement des synthèses de registre dans Stockage Blob Azure. Pour activer le chargement des synthèses de registre, spécifiez le point de terminaison d’un compte Stockage Blob Azure. Pour désactiver le chargement des synthèses de registre, définissez la valeur de l’option sur OFF. La valeur par défaut est OFF.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | OFF }
s’applique à: SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Provoque la génération par SQL Server d’un fragment XML Showplan avec ParameterRuntimeValue lors de l’utilisation de l’infrastructure de profilage des statistiques d’exécution de requêtes légères ou l’exécution de la vue de gestion dynamique sys.dm_exec_query_statistics_xml lors de la résolution des problèmes de requêtes d’exécution longue.
Important
L’option FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION de configuration délimitée à la base de données n’est pas destinée à être activée en continu dans un environnement de production, mais uniquement à des fins de résolution des problèmes limitées dans le temps. L’utilisation de cette option de configuration délimitée à la base de données introduit une surcharge supplémentaire et éventuellement significative du processeur et de la mémoire, car nous créons un fragment Showplan XML avec des informations sur les paramètres d’exécution du runtime, que l’infrastructure de profil de statistiques d’exécution de requête sys.dm_exec_query_statistics_xml ou légère soit activée ou non.
OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
S’applique à : SQL Server 2025 (17.x), Azure SQL Database et SQL database in Microsoft Fabric
Active ou désactive le comportement de sérialisation de compilation de sp_executesql lorsqu’un lot est compilé. La valeur par défaut est OFF. Permettre à des lots qui utilisent sp_executesql la sérialise du processus de compilation réduit l’effet des tempêtes de compilation. Une tempête de compilation est une situation où un grand nombre de requêtes sont compilées simultanément, ce qui entraîne des problèmes de performances et une contention de ressources.
Lorsque OPTIMIZED_SP_EXECUTESQL est ON, la première exécution de sp_executesql compile et insère son plan compilé dans le cache du plan. D’autres sessions abandonnent l’attente sur le verrou de compilation et réutilisent le plan une fois qu’il est disponible. Cela permet sp_executesql de se comporter comme des objets tels que des procédures stockées et des déclencheurs du point de vue de la compilation.
OPTIONAL_PARAMETER_PLAN_OPTIMIZATION = { ON | OFF }
S’applique à : SQL Server 2025 (17.x)
Active ou désactive la fonctionnalité d’optimisation optionnelle du plan de paramètres (OPPO ). La valeur par défaut est ON.
Lorsqu’elle est activée, l’optimisation du plan adaptatif génère plusieurs plans d’exécution pour les requêtes qui incluent des paramètres facultatifs. Ces plans sont généralement exprimés à l’aide de prédicats sous la forme suivante :
@p IS NULL AND @p1 IS NOT NULL@p IS NULL OR @p1 IS NOT NULL
La fonctionnalité peut choisir un plan plus optimal au moment de l’exécution en fonction de l’état du paramètre NULL, ce qui améliore les performances des requêtes qui pourraient autrement être des performances non optimales pour ces modèles de requête.
La valeur par défaut ON démarre dans le niveau de compatibilité de la base de données 170.
ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
S’applique à : Azure SQL Database et base de données SQL dans Microsoft Fabric
Actuellement, dans Azure SQL Database et SQL Database dans Microsoft Fabric, les index vectoriels rendent les tables en lecture seule. Pour permettre l’écriture de la table, utilisez la ALLOW_STALE_VECTOR_INDEX configuration à portée de données (cale de données).
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
L’index vectoriel n’est pas mis à jour lorsque de nouvelles données sont insérées ou mises à jour dans la table. Pour rafraîchir l’index vectoriel, il faut le déposer et le recréer.
Note
L’option ALLOW_STALE_VECTOR_INDEX de configuration par portée de base de données n’est actuellement pas disponible dans SQL Server 2025 (17.x).
FULLTEXT_INDEX_VERSION
S’applique à : SQL Server 2025 (17.x) et versions ultérieures, Azure SQL Database, et Azure SQL Managed Instance
Définit la version indexée en texte intégral pour la création ou la reconstruction des index. Cette configuration ne s’applique que lorsque vous émettez soit une CREATE FULLTEXT INDEX instruction pour de nouveaux index, soit une ALTER FULLTEXT CATALOG ... REBUILD instruction pour reconstruire tous les index d’un catalogue.
En date de SQL Server 2025 (17.x), les versions disponibles sont :
| Version | Comments |
|---|---|
1 |
Spécifie les nouveaux index et les index reconstruits qui utilisent le filtre de texte intégral et les composants wordbreaker hérités de SQL Server 2022 (16.x) et versions antérieures, pour les populations et requêtes futures. Comme ces composants ne sont plus inclus dans SQL Server 2025 (17.x) et versions ultérieures, ils doivent être copiés manuellement depuis une instance plus ancienne. |
2 (valeur par défaut) |
Spécifie les nouveaux index et les reconstruits qui utilisent le filtre de texte intégral et les composants de briseur de mots inclus dans SQL Server 2025 (17.x), pour les populations et requêtes futures. |
La FULLTEXT_INDEX_VERSION configuration contrôle également quels composants en texte intégral sont rapportés et utilisés par les procédures stockées, vues et fonctions système suivantes :
- sp_help_fulltext_system_components
- sys.fulltext_languages
- sys.fulltext_document_types
- sys.dm_fts_parser
PREVIEW_FEATURES = { ON | OFF }
S’applique à : SQL Server 2025 (17.x)
Autorise l’utilisation des fonctionnalités en préversion. Pour en savoir plus, consultez les fonctionnalités en préversion dans SQL Server.
La valeur par défaut est OFF.
Pour obtenir un exemple d’utilisation de cette option, consultez Utilisation des fonctionnalités en préversion dans SQL Server.
Caution
Les fonctionnalités en préversion ne sont pas recommandées pour les environnements de production.
Permissions
Nécessite ALTER ANY DATABASE SCOPED CONFIGURATION sur la base de données. Cette autorisation peut être accordée par un utilisateur disposant de l’autorisation CONTROL sur une base de données.
Remarks
Même si vous pouvez configurer des bases de données secondaires avec des paramètres différents de ceux de la base de données primaire, toutes les bases de données secondaires doivent utiliser la même configuration. Les différents paramètres ne peuvent pas être configurés pour des serveurs secondaires individuels.
L’exécution de cette instruction efface le contenu du cache de procédures de la base de données actuelle, ce qui signifie que toutes les requêtes doivent être recompilées.
Pour les requêtes de noms en trois parties, les paramètres de la connexion de base de données actuelle pour la requête sont respectés, autres que pour les modules SQL (tels que les procédures, les fonctions et les déclencheurs) compilés dans un autre contexte de base de données et utilisent donc les options de la base de données dans laquelle elles résident. De même, lors de la mise à jour asynchrone des statistiques, le paramètre de la base de ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY données où résident les statistiques est respecté.
L’événement ALTER_DATABASE_SCOPED_CONFIGURATION est ajouté en tant qu’événement DDL qui peut être utilisé pour déclencher un déclencheur DDL, et il s’agit d’un enfant du groupe de déclencheurs ALTER_DATABASE_EVENTS.
Lorsqu’une base de données donnée est restaurée ou attachée, les paramètres de configuration délimités à la base de données sont transférés et restent avec la base de données.
À compter de SQL Server 2019 (15.x), dans Azure SQL Database et Azure SQL Managed Instance, certains noms d’options ont changé :
-
DISABLE_INTERLEAVED_EXECUTION_TVFest devenuINTERLEAVED_EXECUTION_TVF -
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACKest devenuBATCH_MODE_MEMORY_GRANT_FEEDBACK -
DISABLE_BATCH_MODE_ADAPTIVE_JOINSest devenuBATCH_MODE_ADAPTIVE_JOINS
Vérifier l’état d’une option de configuration délimitée à la base de données
Pour vérifier si une configuration est activée (1) ou désactivée (0) dans une base de données, vous pouvez interroger sys.database_scoped_configurations. Par exemple, pour vérifier la valeur de LEGACY_CARDINALITY_ESTIMATION utiliser une requête comme suit :
USE <user_database>;
SELECT
name,
value,
value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';
Limitations
MAXDOP
Les paramètres granulaires peuvent remplacer les paramètres globaux, et le gouverneur de ressources peut limiter tous les autres paramètres MAXDOP. Voici la logique pour MAXDOP le réglage :
L’indicateur de requête remplace
sp_configureet la configuration étendue à la base de données. Si le groupe de ressources MAXDOP est défini pour le groupe de charge de travail :Si l’indice de requête est réglé à zéro (0), il est remplacé par le réglage du gouverneur de ressources.
Si l’indice de requête n’est pas zéro (0), il est limité par le réglage du gouverneur de ressources.
La configuration portée de la base de données (sauf si elle est zéro) supprime le
sp_configureparamètre sauf indication de requête et est limitée par le réglage du gouverneur de ressources.Le réglage du gouverneur de ressources prend le dessus sur le
sp_configureparadage.
QUERY_OPTIMIZER_HOTFIXES
Quand l’indicateur QUERYTRACEON est utilisé pour activer l’optimiseur de requête par défaut de SQL Server 7.0 à SQL Server 2012 (11.x) ou les correctifs logiciels de l’optimiseur de requête, une condition OR lie l’indicateur de requête et le paramètre de configuration délimité à la base de données, ce qui signifie que si l’un des deux est activé, les configurations délimitées à la base de données s’appliquent.
Récupération géo-répliquée après sinistre (DR)
Les bases de données secondaires lisibles (Always On Availability Groups, Azure SQL Database et Azure SQL Managed Instance geo-replicated) utilisent la valeur secondaire en vérifiant l’état de la base de données. Même si la recompilation ne se fait pas lors du basculement, et que techniquement le nouveau primaire a des requêtes utilisant les paramètres secondaires, les paramètres entre primaire et secondaire ne varient que lorsque la charge de travail est différente. Ainsi, les requêtes en cache utilisent les réglages optimaux, tandis que les nouvelles requêtes choisissent les nouveaux paramètres qui leur conviennent.
DacFx
La ALTER DATABASE SCOPED CONFIGURATION fonctionnalité est disponible dans SQL Server 2016 (13.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance. Parce qu’il affecte le schéma de la base de données, les exportations du schéma (avec ou sans données) ne peuvent pas être importées dans SQL Server 2014 (12.x) et versions antérieures. Par exemple, une exportation vers un DACPAC ou un BACPAC depuis une base de données SQL ou SQL Server 2016 (13.x) utilisant cette fonctionnalité ne peut pas être importée dans un serveur de niveau inférieur.
ELEVATE_ONLINE
Cette option s’applique uniquement aux instructions DDL qui prennent en charge la syntaxe WITH (ONLINE = <syntax>). Les index XML ne sont pas affectés.
ELEVATE_RESUMABLE
Cette option s’applique uniquement aux instructions DDL qui prennent en charge la syntaxe WITH (RESUMABLE = <syntax>). Les index XML ne sont pas affectés.
Metadata
La vue système sys.database_scoped_configurations fournit des informations sur les configurations à portée au sein d’une base de données. Les options de configuration à portée de base de données n’apparaissent sys.database_scoped_configurations que lorsqu’elles sont des contournements vers les paramètres par défaut à l’échelle du serveur. La vue système sys.configurations n’affiche que les paramètres à l’échelle du serveur.
Examples
Ces exemples illustrent l’utilisation de ALTER DATABASE SCOPED CONFIGURATION.
A. Accorder l’autorisation
Cet exemple accorde l’autorisation requise pour exécuter ALTER DATABASE SCOPED CONFIGURATION à l'Joeutilisateur.
GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];
B. Définir MAXDOP
Cet exemple définit MAXDOP = 1 pour une base de données primaire et MAXDOP = 4 pour la base de données secondaire dans un scénario de géoréplication.
ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;
Cet exemple définit MAXDOP pour une base de données secondaire identique à celle qu’elle est définie pour sa base de données principale dans un scénario de géo-réplication.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;
C. Définir LEGACY_CARDINALITY_ESTIMATION
Cet exemple montre comment définir LEGACY_CARDINALITY_ESTIMATIONON pour une base de données secondaire dans un scénario de géoréplication.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;
Cet exemple s’applique LEGACY_CARDINALITY_ESTIMATION à une base de données secondaire telle qu’elle se trouve sur la base de données principale dans un scénario de géo-réplication.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
D. Définir PARAMETER_SNIFFING
Cet exemple montre comment définir PARAMETER_SNIFFINGOFF pour une base de données primaire dans un scénario de géoréplication.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
Cet exemple montre comment définir PARAMETER_SNIFFINGOFF pour une base de données secondaire dans un scénario de géoréplication.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
Cet exemple s’applique PARAMETER_SNIFFING à une base de données secondaire telle qu’elle se trouve sur la base de données principale dans un scénario de géo-réplication.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;
E. Définir QUERY_OPTIMIZER_HOTFIXES
Définissez QUERY_OPTIMIZER_HOTFIXES sur ON pour une base de données primaire dans un scénario de géoréplication.
ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;
F. Effacer le contenu du cache de procédures
Cet exemple efface le contenu du cache de procédures (possible uniquement pour la base de données primaire).
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;
G. Définir IDENTITY_CACHE
S’applique à : SQL Server 2017 (14.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Cet exemple désactive le cache d’identité.
ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;
H. Définir OPTIMIZE_FOR_AD_HOC_WORKLOADS
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Cet exemple permet à un stub de plan compilé d’être stocké dans le cache lorsqu’un lot est compilé pour la première fois.
ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;
I. Définir ELEVATE_ONLINE
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Cet exemple montre comment définir ELEVATE_ONLINE sur FAIL_UNSUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;
J. Définir ELEVATE_RESUMABLE
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Cet exemple montre comment définir ELEVATE_RESUMABLE sur WHEN_SUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;
K. Effacer un plan de requête du cache du plan
s’applique à: SQL Server 2019 (15.x) et versions ultérieures, Azure SQL Database et Azure SQL Managed Instance
Cet exemple efface un plan spécifique du cache de procédure :
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;
L. Définir la durée de pause
S’applique à : Azure SQL Database et Azure SQL Managed Instance
Cet exemple définit la durée de pause de l’index reprenable sur 60 minutes.
ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;
M. Activer et désactiver le chargement des synthèses de registre
S’applique à : SQL Server 2022 (16.x) et versions ultérieures
Cet exemple active le chargement des synthèses de registre sur un compte Stockage Azure.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';
Cet exemple désactive le chargement des synthèses de registre.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;
N. Activer les fonctionnalités d’évaluation
Activez la possibilité d’utiliser des fonctionnalités en préversion.
ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';
O. Laisser l’indice vectoriel devenir obsolète
Dans Azure SQL et Fabric SQL, dans l’état actuel de Public Preview, les index vectoriels rendent les tables en lecture seule. Pour permettre l’écriture de la table, activez la configuration à portée de données suivante :
ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';
L’index vectoriel n’est pas mis à jour lorsque de nouvelles données sont insérées ou mises à jour dans la table. Pour rafraîchir l’index vectoriel, il faut le déposer et le recréer.
Cette option de configuration n’est actuellement pas disponible dans SQL Server 2025 (17.x).
Ressources supplémentaires
Ressources MAXDOP
LEGACY_CARDINALITY_ESTIMATION ressources
- Estimation de la cardinalité (SQL Server)
- Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator (Optimiser vos plans de requêtes avec l’Estimateur de la cardinalité de SQL Server 2014)
PARAMETER_SNIFFING ressources
QUERY_OPTIMIZER_HOTFIXES ressources
- Définir des indicateurs de trace avec DBCC TRACEON
- Modèle de service de l’indicateur de trace 4199 pour les correctifs de l’optimiseur de requête SQL Server
ELEVATE_ONLINE ressources
Instructions pour les opérations d’index en ligne
ELEVATE_RESUMABLE ressources
Instructions pour les opérations d’index en ligne
Contenu connexe
- sys.database_scoped_configurations
- sys.configurations
- Affichages catalogue de bases de données et de fichiers (Transact-SQL)
- Options de configuration de serveur
- ALTER INDEX (Transact-SQL)
- CRÉER UN INDEX (Transact-SQL)
- Recommandations et directives pour l’option de configuration « max degree of parallelism » dans SQL Server
- Fonctionnement des opérations d’index en ligne
- Exécuter des opérations d’index en ligne
- Traitement de requêtes intelligent dans les bases de données SQL
- Rétroaction d'allocation de mémoire
- Retour d'expérience sur l'estimation de la cardinalité (CE)
- Commentaires sur le degré de parallélisme (DOP)