top of page

Optimiser Microsoft SQL Server pour garantir la performance de votre ERP industriel.

  • lhauth
  • 12 mars
  • 5 min de lecture

Dans de nombreux environnements industriels, la performance d’un ERP dépend directement de la performance de la base de données Microsoft SQL Server. L'accumulation des historiques de production et la complexité des jointures SQL finissent par paralyser l'outil de travail.


Une latence de quelques secondes sur un terminal d'atelier n'est pas qu'un inconfort technique : c'est une perte directe de productivité. Optimiser Microsoft SQL Server devient alors un levier essentiel pour garantir la fluidité des processus industriels.


Optimiser Microsoft SQL Server pour garantir la performance de votre ERP industriel


1. Optimiser l’indexation dans Microsoft SQL Server pour un ERP

Les index fournis par défaut dans les ERP standards restent la plupart du temps génériques. Ils ne tiennent pas toujours compte des volumes de données ni des habitudes de requêtage propres à chaque entreprise. Une stratégie d’indexation adaptée permet d’améliorer significativement les performances de Microsoft SQL Server.


Index pour les requêtes critiques

Dans le cadre transactionnel d’un ERP, et donc pour garantir sa performance, créer des index non clusterisés sur les colonnes fréquemment utilisées dans les prédicats et les expressions de jointure dans les requêtes est une bonne idée car ce sont vos colonnes SARGable (terme anglais désignant un prédicat Search ARGumentable, capable d’utiliser un index pour accélérer l’exécution de la requête)


La couverture des index peut aussi améliorer les performances des requêtes, car toutes les données nécessaires pour répondre aux exigences de la requête existent dans l'index proprement dit. Cela signifie que seules les pages d'index, et non les pages de données de la table ou de l'index cluster, sont nécessaires pour récupérer les données demandées, réduisant ainsi globalement le nombre d'E/S des disques.

 

La préconisation de notre expert Zen Conseil

"Le Magasin des requêtes (ou Query Store) permet d’identifier les requêtes avec des performances non optimales et fournit un historique des plans d’exécution de requêtes. Il permet aussi de voir les index sélectionnés par l’optimiseur. "

Maintenance des index

Dans les environnements industriels fortement transactionnels, les opérations DML (INSERT, UPDATE, DELETE) entraînent rapidement une fragmentation logique des index.


L’automatisation des opérations REBUILD et REORGANIZE via des plans de maintenance SQL Server permet de maintenir des performances stables et des plans d’exécution efficaces.


Gestion de la vie des données

Au cours de l’activité de l’entreprise, les données vivent et évoluent. Certaines requêtes changent pour refléter de nouveaux besoins. Aussi, certains index peuvent devenir obsolètes et d’autres devenir nécessaires.

Il est donc fondamental dans Microsoft SQL Server de suivre et agir sur les index manquants et les index inutiles.


Un index manquant, c’est un plan de requête erratique et non optimisé ; un index inutilisé, c’est un coût d’entretien à chaque opération DML… et cela impacte de façon majeure la performance


2.Gestion de la volumétrie des bases SQL Server pour les ERP

Avec le temps, les bases de données ERP accumulent des volumes importants de données : historiques de production, mouvements logistiques ou données de traçabilité. Cette croissance peut ralentir les requêtes et alourdir les opérations de maintenance.

 

Historiser les données

Quel intérêt d’avoir dans les données vives la production d’un siège bleu qui n’est plus fabriqué depuis 5 ans ? Quel intérêt de maintenir dans les données d’exploitation des informations sur un service minitel ? Aucun !


En dehors de considérations légales, maintenir les données effectives de production ou de logistique est un enjeu primordial pour améliorer significativement les performances de Microsoft SQL Server.


La méthode la plus simple est de créer une table d’historique et d’y verser les données les plus anciennes, en accord avec le métier et les contraintes légales. Un script exécuté annuellement copie les données les plus anciennes dans cette nouvelle table.

 

La préconisation de notre expert Zen Conseil

"A l’issue de l’historisation, il est recommandé de lancer une réindexation complète ainsi qu’un calcul complet des statistiques pour maintenir la performance."

 

Un mécanisme avancé : le partitionnement de table

Le partitionnement de tables dans SQL Server consiste à diviser une grande table en partitions logiques plus petites, basées sur une colonne de partitionnement (souvent une date). Cette technique améliore les performances des requêtes, facilite la maintenance et optimise le stockage.

 

Point important

Le partitionnement complet des tables est disponible uniquement dans SQL Server Enterprise Edition. Dans les autres éditions, certaines fonctionnalités avancées de partitionnement ne sont pas supportées.

Le coût du partitionnement est bénéfique pour un ERP si :

  • Le volume des données est conséquent : c’est le nombre d’octet ou de pages qui est pris en compte et non le nombre de ligne


  • Les partitions sont gérées dans un « storage » : contrôlable en taille, en stratégie de croissance…


  • Certains index sont eux aussi partitionnés


  • Certaines tables interrogées systématiquement de manière conjointe sont elles aussi partitionnés avec le même critère dans les mêmes storages


  • Toutes les requêtes inclues toujours le critère de partitionnement dans le filtrage

 

Le partitionnement facilite également l’archivage des données anciennes et la gestion du cycle de vie des informations sans perturber les tables utilisées par l’ERP.


3.Gestion des niveaux d’isolation SQL Server pour améliorer la fluidité des transactions

Dans un environnement industriel, les bases ERP doivent gérer simultanément des transactions opérationnelles et des requêtes analytiques. Sans configuration adaptée, ces accès concurrents peuvent provoquer des blocages entre lectures et écritures.


Microsoft SQL Server propose plusieurs niveaux, chacun offrant un équilibre différent entre performance, concurrence et intégrité des données.


Le choix dépend de plusieurs facteurs :

  • Performance : les niveaux bas (READ UNCOMMITTED, SNAPSHOT) réduisent les blocages mais augmentent les anomalies.


  • Intégrité des données : les niveaux élevés (SERIALIZABLE, SNAPSHOT) garantissent une cohérence maximale.


  • Volume et durée des transactions : les transactions longues avec SERIALIZABLE augmentent le risque de deadlocks.


Optimisation SQL Server des ERP : les erreurs fréquentes

Dans de nombreux environnements ERP, certaines pratiques limitent l’efficacité des optimisations de Microsoft SQL Server. Ces situations apparaissent souvent lorsque l’architecture de la base de données évolue avec le temps sans revue régulière des performances. Par exemple :


Des index créés sans analyse des requêtes

La création d’index sans étude des plans d’exécution peut conduire à multiplier les index peu utilisés, ce qui augmente les coûts de maintenance et ralentit les opérations d’écriture sur les bases de données Microsoft SQL Server.


Une fragmentation des index non surveillée

Dans les bases ERP fortement transactionnelles, la fragmentation peut rapidement dégrader les performances des requêtes si les opérations de maintenance ne sont pas réalisées en adéquation avec le métier.


Des requêtes de reporting exécutées sur le serveur transactionnel

Les extractions de données ou les rapports analytiques lourds peuvent mobiliser des ressources importantes et impacter les performances des transactions métier si aucune stratégie de déport de charge n’est mise en place.


Une configuration tempdb insuffisante

Le dimensionnement et la configuration de tempdb jouent un rôle important dans la gestion des opérations temporaires, des tris ou du versioning utilisé par certaines fonctionnalités comme Snapshot Isolation.


L’optimisation d’une base Microsoft SQL Server nécessite donc une approche globale prenant en compte les volumes de données, les flux applicatifs et les usages opérationnels et analytiques de l’entreprise.


L'engagement Zen Conseil : Une infrastructure au service du métier


Chez Zen Conseil, nous transformons ces mécanismes techniques en avantages compétitifs. Notre rôle est d'assurer la cohérence totale entre vos processus industriels et votre architecture Microsoft SQL Server.

Votre ERP manque de réactivité ? 


Ne laissez pas la dette technique ralentir votre production.

Planifiez une session avec nos consultants pour sécuriser vos données et vos processus critiques 24h/24, 7j/7.



Commentaires


bottom of page