Objectifs pédagogiques
- Décrire l'architecture de SQL Server et ses différents composants
- Expliquer le modèle d'exécution SQL Server et les files d'attente
- Identifier les concepts architecturaux et les meilleures pratiques liés aux fichiers de données, pour les bases de données des utilisateurs et TempDB
- Gérer les concepts architecturaux de l'Optimizer, identifier et corriger les problèmes de plan de requête
- Décrire les concepts architecturaux, les scénarios de dépannage et les bonnes pratiques liés au cache
- Décrire les techniques permettant d'identifier et de diagnostiquer les "goulots d'étranglement", pour améliorer la performance globale
- Utiliser les outils permettant d'atteindre ces objectifs.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir de bonnes connaissances dans l'administration SQL Server 2012 à 2019 et dans le Transact-SQL.
Public concerné
Développeurs travaillant avec des bases de données SQL Server et développant des requêtes, ou toute personne en charge de la gestion, de l'administration ou de la maintenance d'une base de données SQL Server et souhaitant optimiser ses performances.
Programme
Jour 1
Architecture SQL Server
- Vue d'ensemble de l'architecture SQL Server
- Analyse des composants
- Structures
- Fichiers
- Journaux
- Principes de fonctionnements de l'orchestration interne SQL Server / Windows Server
- Les principes d'optimisations
Structure d'une base de données
- Analyse de l'architecture d'une base de données
- Vue d'ensemble des fichiers et des bases
- Compréhension des structures, fichiers, journaux, matériels
- Analyse des optimisations par niveau
- Manipulations des paramétrages avancées SQL Server
Exemples de travaux pratiques (à titre indicatif)
- Paramétrage du type de base de données selon l'utilisation finale
- Conversion d'un type de base en un autre type de base pour optimiser le traitement de sauvegarde
Jours 2 et 3
Les entrées / sorties SQL Server
- Introduction aux concepts I/O
- Concepts d'I/O mémoire et d'I/O stockage
- Analyse de l'architecture interne et de la consommation de la mémoire
- Analyse, test, stress et optimisation I/O
Exécutions et requêtes
- Principes de fonctionnement détaillés des transactions et des requêtes
- Analyse des accès concurrents et des locks
- Méthodes de contournement
- Principes d'isolation
- Optimisations des exécutions et du code
- Gestion de la compilation et de la mise en cache
Indexations et statistiques
- Vue d'ensemble des statistiques, de leur calcul et de leur intérêt
- Mise en oeuvre
- Statistiques et index intelligents
- Différents types d'index
- Différents types de statistiques
- Analyse des impacts selon les choix
- Optimisation des index et statistiques
Exemples de travaux pratiques (à titre indicatif)
- Analyse de traitement de requêtes par audit
- Optimisations par modification du code et des index liés
Jours 4 et 5
Plan d'exécution
- Principe du plan d'exécution
- Vue d'ensemble des optimiseurs internes
- Analyse de différents plans d'exécution
- Optimisation des plans d'exécution
- Paramétrage des caches
- Identification et dépannage des erreurs de plans et de caches
- Identification des goulots d'étranglement
- Mise en oeuvre du tuning manuel et automatique
- Suivi et monitoring de l'évolution des plans
- Gestion de la bibliothèque de requêtes
Surveillance et bonnes pratiques
- Vue d'ensemble
- Bonnes pratiques d'optimisation
- Principe des évènements et des compteurs
- Mise en oeuvre des baselines
- Surveillance et logs au sein du moteur
- Benchmark et stress test de l'environnement
- Implémentation des différents outils en vue du tuning
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre du tuning automatique et suivi de son évolution
- Application des baselines à SQL Server afin de définir des stratégies d'optimisation
- Stress test d'une base existante afin d'identifier les goulots d'étranglement
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation