Activer et utiliser le Query Store

Comment activer et utiliser le Query Store pour diagnostiquer les problèmes de performance.

Le Query Store est une fonctionnalité disponible dans SQL Server depuis la version 2016, qui conserve et agrège les informations de performance des requêtes.

Activer le Query Store

Vous pouvez activer le Query Store ou vérifier que le Query Store est bien activé en utilisant les propriétés de la base de données.

Pour ouvrir la fenêtre des propriétés de la base de données, faites un clic droit sur la base de données dans SQL Server Management Studio (SSMS) et choisissez “Propriétés” ou en anglais “Properties”. Voir l’image ci-dessous.

Properties

Dans la fenêtre qui s’ouvre, cliquez sur “Query Store” dans le menu de gauche, en français, “Magasin de requêtes”.

Le query store doit être activé (Read-Write), et le mode de capture doit être “Auto”. Voir l’image ci-dessous.

Activate Query Store

Activer le Query Store par script

(Cette requête)[https://github.com/rudi-bruchez/tsql-scripts/blob/main/diagnostics/query-store/query-store-metadata.sql] peut être utilisée pour voir si le Query Store est activé.

Les colonnes suivantes sont à vérifier :

  • Actual_state – doit être à READ_WRITE ;
  • Query_capture_mode – doit être à AUTO ;
  • Max_storage_size_mb devrait être à 1000 au moins pour être sûr qu’il y a cet espace dédié au Query Store pour contenir un historique suffisant au diagnostic.

Vous pouvez aussi obtenir la liste de toutes les bases de données où le Query Store est activé sur votre instance en utilisant la requête suivante : https://github.com/rudi-bruchez/tsql-scripts/blob/main/diagnostics/query-store/list-databases.sql

Vous pouvez aussi activer le Query Store en utilisant la requête suivante :

ALTER DATABASE [YourDatabaseName] SET QUERY_STORE = ON;

Si vous n’avez pas accès au Query Store (SQL Server 2014 et antérieurs)

Alternativement vous pouvez récupérer une trace en utilisant les événements étendus, des requêtes les plus coûteuses et les plus consommatrices. https://github.com/rudi-bruchez/tsql-scripts/blob/main/extended-events/on-prem/long-running-queries-create.sql

Pour aller plus loin

[Besoin de services avec SQL Server ? Contactez-moi]