Session sur SQL Server 2016 - Query Store animée conjointe avec Sarah Bessard.
Titre complet de la session : Query Store
ou comment donner de la mémoire à sa base de données
5. SQLSaturday Paris 2016
Query Store : son fonctionnement
Query Store
Exécution
Compilation
Stockage
des plans
Statistiques
des
exécutions
Schéma
Query
Store
SQL
Écriture asynchrone
En mémoire
Messages
de compilation
Messages
d’exécution
6. SQLSaturday Paris 2016
Query Store : comment ça marche ?
Activer Query Store
Query Store collecte les
données
Focus sur les requêtes
« problématiques » et
correction
11. SQLSaturday Paris 2016
Query Store : ses DMV
sys.query_store_query_text
Capture des instructions SQL.
sys.query_context_settings
Différentes combinaisons d’exécution avec les paramètres
utilisés (options SET pouvant influencer les plans, etc.)
sys.query_store_query
Correspondance entre les instructions SQL et le contexte d’exécution
sys.query_store_plan
Informations relatives aux plans SQL Server
utilisées à l’exécution des requêtes.
sys.query_store_runtime_stats_interval
Intervalles de temps créées par le Query Store.
sys.query_store_runtime_stats
Statistiques des plans d’exécution des requêtes pour
intervalles de temps.
13. SQLSaturday Paris 2016
Query Store : ses procédures stockées
sys.fn_stmt_sql_handle_from_sql_stmt
sp_query_store_flush_db
sp_query_store_force_plan
sp_query_store_remove_plan
sp_query_store_remove_query
sp_query_store_reset_exec_stats
sp_query_store_unforce_plan
14. SQLSaturday Paris 2016
Les origines d’invalidation d’un plan :
- Changement structure (ex : suppression d’une colonne)
- Modification d’un index
- Statistiques obsolètes
- Changement du contexte d’exécution (SET)
- Recompile
- xxxxxxxxx
17. SQLSaturday Paris 2016
Query Store : en cas de la migration
Mettre à jour vers SQL Server 2016
(mode de compatibilité inchangé)
Activer Query Store et capturer les
plans
Mettre le mode de compatibilité à
130
Utiliser Query Store pour forcer rapidement les
anciens plans d’exécution pour toutes les
régressions
18. SQLSaturday Paris 2016
Query Store : contexte des démos à suivre
Base Test Test Test Test
Mode de compatibilité 100 100 100 130
Optimisation Aucune Aucune Active Active
SQL Trace
Profiler Replay
4
SQL Trace
Profiler Replay
5SQL Trace
Profiler Replay
3
Activation du
Query Store
21
20. SQLSaturday Paris 2016
Query Store : intervenir en cas de régression
1. Identifier la requête problématique
2. Forcer le plan
3. Comparer les plans et analyser les différences
4. Chercher et tester une solution pérenne
5. L’appliquer
6. Supprimer le plan forcé
21. SQLSaturday Paris 2016
Query Store : d’autres cas d’usage
Corriger des
régressions de plans
Identifier les requêtes
les plus consommatrices
de ressources Tester A/B
Réduire le risque en
cas de mise à jour ou
de maintenance
Améliorer les cas
de charge ad hoc
Correctif
Proactif
22. SQLSaturday Paris 2016
Sarah Bessard
http://www.dcube.fr
http://www.concatskills.com
sarah.bessard.pro@gmail.com