Audit de performance SQL Server dans un cadre BI
Contexte
Les alimentations quotidiennes prennent la nuit entière et débordent sur la mâtinée en bloquant le reporting des utilisateurs. Certaines alimentations hebdomadaires en mode complet durent plus de 15 heures. Malgré une première campagne de performance ayant apporté des améliorations beaucoup trop de traitements d'alimentation restent lents.
Défi
Auditer les interfaces de chargement pour déterminer les principales causes des lenteurs de chargement et proposer des solutions pour améliorer à la fois le chargement mais aussi les restitutions
Technologies utilisées
SGBD : MS SQL Server 2008 R2 EE • ETL : SAP BODS, jobs SQL Server et procédures stockées • Sources : SAP ECC, Fichiers plats • Reporting : SAP BO On Premise
Méthodologie et réalisation
Cet audit complet a analysé l'ensemble de la chaîne d'alimentation du datawarehouse :
**Phase 1 : Diagnostic** - Instrumentation des jobs ETL SAP BODS - Collecte des métriques SQL Server (DMV, Extended Events) - Analyse des plans d'exécution - Identification des verrous et deadlocks
**Phase 2 : Analyse** - Détection des tables non partitionnées avec forte volumétrie - Identification des index manquants ou sous-utilisés - Analyse des statistiques obsolètes - Étude des algorithmes de chargement
**Phase 3 : Recommandations** - Stratégie de partitionnement pour les tables volumineuses - Création d'index ciblés - Optimisation des procédures stockées - Révision des paramètres de configuration SQL Server
**Phase 4 : Formation** Formation spécialisée de 3 jours sur le tuning SQL Server pour l'équipe interne.
Résultats
Après une formation spécialisée sur le tuning SQL, les équipes internes ont réduit les temps d'alimentation de 50% en utilisant les préconisations de l'audit, les techniques liées au partitionnement sql server et leur nouvelles compétences acquises en formation.
Visualisations

Statistiques d'attente SQL Server

Identification des requêtes problématiques

Analyse SQL détaillée

Analyse des requêtes MSSQL

Analyse des I/O disques

Analyse de la fragmentation des index

Optimisation des procédures stockées d'alimentation
