Comprendre le fonctionnement du moteur SQL Server
- Les différents modules du moteur SQL Server relationnel.
- SQLOS et l'utilisation de la mémoire, du disque et des processeurs.
- Le fichier de données et le journal de transactions.
- Comprendre l'exécution des requêtes.
Travaux pratiques
Observation du fonctionnement de SQL Server à l'aide d'outils de diagnostic.
Obtenir des informations à l'aide des vues dynamiques de gestion (DMV)
- Les DMV pour SQLOS : analyse du fonctionnement du moteur.
- Les DMV pour l'exécution : analyse des requêtes, des sessions et des transactions.
- Les DMV pour les index.
- Analyser l'exécution du code managé à l'aide des DMV.
Travaux pratiques
Utiliser des DMV pour de nombreux cas d'analyse.
Obtenir des informations à l'aide d'autres outils
- Tracer à l'aide du profiler.
- Tracer à l'aide des événements étendus (XEvents).
- Comprendre et surveiller tempdb.
- Surveiller les performances d'IO et détecter les contentions.
Travaux pratiques
Utilisation du profiler et des XEvents pour tracer le comportement de SQL Server.
Gérer l'exécution des requêtes
- Analyser les performances de requêtes.
- Analyser l'utilisation et la pertinence des index.
- Comprendre et gérer les problématiques du cache de plans.
- Gérer les situations d'attente et de blocage.
- Utiliser le Query Store pour détecter les régressions.
Travaux pratiques
Analyse de l'impact de différents types de batches de requêtes.
Les problématiques classiques
- Les problématiques transactionnelles : journal de transactions et Deadlock.
- Les problématiques de mémoire : analyser et corriger les problématiques de mémoire et de cache.
- Détecter et corriger les problématiques d'IO et de Latches.
- Les problématiques de CPU : parallélisme, gestion du NUMA.
Travaux pratiques
Recherche de la cause et résolution de différentes problématiques.