Top Banner
SQLSaturday Paris 2016 Query Store ou comment donner de la mémoire à sa base de données Sarah Bessard Philippe Geiger
26

SQL Saturday 510 Paris 2016 - Query Store session - final

Apr 11, 2017

Download

Data & Analytics

Philippe Geiger
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store ou comment donner de la mémoire à sa base de données

Sarah BessardPhilippe Geiger

Page 2: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Merci à nos sponsors

Page 3: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Merci à nos volontaires

Page 4: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : Kesako ?

Page 5: SQL Saturday 510 Paris 2016 - Query Store session - final

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

Messagesde compilation

Messages d’exécution

Page 6: SQL Saturday 510 Paris 2016 - Query Store session - final

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

Page 7: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

démoDémarrage de Query Store

Page 8: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : ses options

Page 9: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Les rapports dans SQL Server Management Studio

Page 10: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

démoLes rapports SSMS

Page 11: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : ses DMV

sys.query_store_query_textCapture des instructions SQL.

sys.query_context_settingsDifférentes combinaisons d’exécution avec les paramètres utilisés (options SET pouvant influencer les plans, etc.)

sys.query_store_queryCorrespondance entre les instructions SQL et le contexte d’exécution

sys.query_store_planInformations relatives aux plans SQL Server utilisées à l’exécution des requêtes.

sys.query_store_runtime_stats_intervalIntervalles de temps créées par le Query Store.

sys.query_store_runtime_statsStatistiques des plans d’exécution des requêtes pour intervalles de temps.

Page 12: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

démoUsage des DMV

Page 13: SQL Saturday 510 Paris 2016 - Query Store session - final

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

Page 14: SQL Saturday 510 Paris 2016 - Query Store session - final

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

Page 15: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : et ses événements étendus ?

Près de 70 événements étendus

Page 16: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

démoTester A/B

Page 17: SQL Saturday 510 Paris 2016 - Query Store session - final

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

Page 18: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : contexte des démos à suivre

Base Test Test Test TestMode de compatibilité 100 100 100 130Optimisation Aucune Aucune Active Active

SQL Trace Profiler Replay

4SQL Trace

Profiler Replay

5SQL Trace Profiler Replay

3

Activation du Query Store

21

Page 19: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

démoTest Migration

Page 20: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : intervenir en cas de régression

1. Identifier la requête problématique2. Forcer le plan3. Comparer les plans et analyser les différences4. Chercher et tester une solution pérenne5. L’appliquer6. Supprimer le plan forcé

Page 21: SQL Saturday 510 Paris 2016 - Query Store session - final

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

Page 22: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Sarah Bessard

http://www.dcube.frhttp://www.concatskills.com

[email protected]

Page 23: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Philippe GEIGER

Blogwww.pgeiger.net

[email protected]

Data PlatformSolution Consultant

Accompagnement technique• Exploitation et administration• Développement• Business Intelligence

Formateur

Certifications

Intégration SIBusiness Intelligence

CRMCollaboratif

Page 24: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Questions&

Réponses

Page 25: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Query Store : Quelques références

https://msdn.microsoft.com/en-us/library/cc645993.aspx

https://azure.microsoft.com/fr-fr/documentation/articles/sql-database-query-performance/

https://www.mssqltips.com/sqlservertip/4095/sql-server-2016-compare-showplan-option/

Page 26: SQL Saturday 510 Paris 2016 - Query Store session - final

SQLSaturday Paris 2016

Et en plus vous pouvez gagner des cadeaux !

Donnez votre avis sur les sessions :

http://GUSS.pro/sqlsat