sys.database_query_store_options (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures d’Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics SQL Database dans Microsoft Fabric

Retourne les options Magasin des requêtes pour cette base de données.

Nom de la colonne Type de données Description
desired_state smallint Indique le mode d’opération souhaité de Magasin des requêtes, défini explicitement par l’utilisateur.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Description textuelle du mode d’opération souhaité de Magasin des requêtes :

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Indique le mode d’opération de Magasin des requêtes. Outre la liste des états souhaités requis par l’utilisateur, l’état réel peut être un état d’erreur.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Description textuelle du mode d’opération réel de Magasin des requêtes.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Il existe des situations où l’état réel est différent de l’état souhaité :
- Si la base de données est définie sur le mode lecture seule ou si Magasin des requêtes taille dépasse son quota configuré, Magasin des requêtes peut fonctionner en mode lecture seule même si vous spécifiez l’écriture en lecture seule.
- Dans des scénarios extrêmes, Magasin des requêtes pouvez entrer un état ERROR en raison d’erreurs internes. Dans SQL Server 2017 (14.x) et versions ultérieures, si cela se produit, Magasin des requêtes pouvez être récupérés en exécutant la sp_query_store_consistency_check procédure stockée dans la base de données affectée. Si l’exécution sp_query_store_consistency_check ne fonctionne pas ou si vous utilisez SQL Server 2016 (13.x), vous devez effacer les données en exécutant ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Lorsque la desired_state_desc valeur est READ_WRITE et la actual_state_desc valeur READ_ONLYest , readonly_reason retourne une carte de bits pour indiquer pourquoi la Magasin des requêtes est en mode lecture seule.

1 - la base de données est en mode lecture seule
2 - la base de données est en mode mono-utilisateur
4 - la base de données est en mode d’urgence
8 - la base de données est un réplica secondaire (s’applique aux groupes de disponibilité et à la géoréplication Azure SQL Database). Cette valeur peut être observée efficacement uniquement sur readable les réplicas secondaires
65536- le Magasin des requêtes atteint la limite de taille définie par l’optionmax_storage_size_mb. Pour plus d’informations sur cette option, consultez les options ALTER DATABASE SET.
131072- Le nombre d’instructions différentes dans Magasin des requêtes atteint la limite de mémoire interne. Envisagez de supprimer des requêtes que vous n’avez pas besoin ou de mettre à niveau vers un niveau de service supérieur pour permettre le transfert de Magasin des requêtes en mode lecture-écriture.
262144 - La taille des éléments en mémoire en attente d’être conservés sur le disque a atteint la limite de mémoire interne. Magasin des requêtes est en mode lecture seule temporairement jusqu’à ce que les éléments en mémoire soient conservés sur le disque.
524288 - La base de données a atteint la limite de taille du disque. Magasin des requêtes fait partie de la base de données utilisateur. Par conséquent, s’il n’y a plus d’espace disponible pour une base de données, cela signifie que Magasin des requêtes ne peut plus croître.

Pour revenir en lecture-écriture au mode d’opérations Magasin des requêtes, consultez Vérifier que Magasin des requêtes collecte en continu les données de requête.
current_storage_size_mb bigint Taille de Magasin des requêtes sur le disque en mégaoctets.
flush_interval_seconds bigint Période de vidage régulier de Magasin des requêtes données sur le disque en secondes. La valeur par défaut est 900 (15 minutes).

Changez à l’aide de l’instruction ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint Intervalle d’agrégation des statistiques en minutes. Les valeurs arbitraires ne sont pas autorisées. Utilisez l’une des valeurs suivantes : 1, , 5, 1015, 30, et 1440 60minutes. La valeur par défaut est de 60 minutes.
max_storage_size_mb bigint Taille maximale du disque pour le Magasin des requêtes en mégaoctets (Mo). La valeur par défaut est de 100 Mo jusqu’à SQL Server 2017 (14,x) et 1 Go dans SQL Server 2019 (15.x) et versions ultérieures.

Pour l’édition SQL Database Premium, la valeur par défaut est de 1 Go et pour l’édition SQL Database Basic, la valeur par défaut est de 10 Mo.

Changez à l’aide de l’instruction ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Nombre de jours pendant lesquels les informations d’une requête sont conservées dans la Magasin des requêtes. La valeur par défaut est 30. Définissez cette option pour 0 désactiver la stratégie de rétention.
Pour l’édition de base de données SQL, la valeur par défaut est de 7 jours.

Changez à l’aide de l’instruction ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint Limite le nombre maximal de plans stockés. La valeur par défaut est 200. Si la valeur maximale est atteinte, Magasin des requêtes arrête de capturer de nouveaux plans pour cette requête. Paramètre permettant de 0 supprimer la limitation du nombre de plans capturés.

Changez à l’aide de l’instruction ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint Mode de capture de requête actif :

1 = ALL : toutes les requêtes sont capturées. Il s’agit de la valeur de configuration par défaut pour SQL Server 2016 (13.x) et les versions ultérieures.

2 = AUTO : capturez les requêtes pertinentes en fonction du nombre d’exécutions et de la consommation des ressources. Il s’agit de la valeur de configuration par défaut pour SQL Database.

3 = NONE - arrêter la capture de nouvelles requêtes. 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. Utilisez cette configuration avec prudence, car vous risquez de ne pas capturer des requêtes importantes.

4 = CUSTOM - Permet un contrôle supplémentaire sur la stratégie de capture de requête à l’aide des options de QUERY_CAPTURE_POLICY.

S’applique à : SQL Server 2019 (15.x) et versions ultérieures.
query_capture_mode_desc nvarchar(60) Description textuelle du mode de capture réel de Magasin des requêtes :

ALL (valeur par défaut pour SQL Server 2016 (13.x) et versions ultérieures)

AUTO (par défaut pour SQL Database)

NONE

CUSTOM
capture_policy_execution_count int Option de stratégie du mode CUSTOM capture de requête. Définit le nombre d’exécutions d’une requête pendant la période d’évaluation. Par défaut, il s’agit de 30.

S’applique à : SQL Server 2019 (15.x) et versions ultérieures.
capture_policy_total_compile_cpu_time_ms bigint Option de stratégie du mode CUSTOM capture de requête. Définit le temps UC de compilation écoulé total utilisé par une requête pendant la période d’évaluation. La valeur par défaut est 1000.

S’applique à : SQL Server 2019 (15.x) et versions ultérieures.
capture_policy_total_execution_cpu_time_ms bigint Option de stratégie du mode CUSTOM capture de requête. Définit le temps UC d’exécution écoulé total utilisé par une requête pendant la période d’évaluation. Par défaut, il s’agit de 100.

S’applique à : SQL Server 2019 (15.x) et versions ultérieures.
capture_policy_stale_threshold_hours int Option de stratégie du mode CUSTOM capture de requête. Définit la période d’évaluation pour déterminer si une requête doit être capturée. La valeur par défaut est 24 heures.

S’applique à : SQL Server 2019 (15.x) et versions ultérieures.
size_based_cleanup_mode smallint Contrôle si le nettoyage est automatiquement activé lorsque la quantité totale de données est proche de la taille maximale :

0 = OFF - Le nettoyage basé sur la taille n’est pas activé automatiquement.
1 = AUTO - Le nettoyage basé sur la taille est automatiquement activé lorsque la taille sur le disque atteint 90 % de max_storage_size_mb. Il s’agit de la valeur de configuration par défaut.

Le nettoyage basé sur la taille supprime les requêtes les moins coûteuses et les plus anciennes en premier. Elle s’arrête quand environ 80 pour cent d’entre max_storage_size_mb elles sont atteintes.
size_based_cleanup_mode_desc nvarchar(60) Description textuelle du mode de nettoyage réel basé sur la taille de Magasin des requêtes :

OFF
AUTO (valeur par défaut)
wait_stats_capture_mode smallint Contrôle si Magasin des requêtes effectue la capture des statistiques d’attente :

0 = OFF
1 = ON

S’applique à : SQL Server 2017 (14.x) et versions ultérieures.
wait_stats_capture_mode_desc nvarchar(60) Description textuelle du mode réel de capture des statistiques d’attente :

OFF
ON (valeur par défaut)

S’applique à : SQL Server 2017 (14.x) et versions ultérieures.
actual_state_additional_info nvarchar(4000) Actuellement inutilisé.

autorisations

Nécessite l’autorisation VIEW DATABASE STATE.

Notes

La actual_state_desc valeur est READ_CAPTURE_SECONDARY l’état attendu lorsque Magasin des requêtes pour les réplicas secondaires est activé. Pour plus d’informations, consultez Magasin des requêtes pour réplicas secondaires.