Wednesday, January 9, 2013

Problème de taille de table : Fractionner ou augmenter le buffer SQL ?

Recemment, je me suis retrouvé sur un problème lorsque j'ajoutais des champs sur une table temporaire dédié à un report SSRS :

La taille interne d'un enregistrement xxxxxxxxTmp est de 25296 octets, mais les performances de Microsoft Dynamics sont optimisées par défaut pour ne pas dépasser 24576 octets.

Il est vivement conseillé de fractionner la(es) table(s) en unités plus petites.

Vous pouvez également indiquer une valeur « Taille maximale de la marge » de 25 kilo-octets ou plus sous l'onglet « Réglage de la base de données » de l'utilitaire de configuration du serveur Microsoft Dynamics AX. La valeur par défaut est 24 kilo-octets.

Quittez immédiatement Microsoft Dynamics et suivez les instructions ci-dessus. L'utilisation des tables aura des résultats imprévisibles.

Deux solutions :
- Splitter la table
- Augmenter la taille du buffer sur le serveur OAS : Microsoft Dynamics AX Server Configuration Utility > Onglet Database Tuning > Champs Maximum Buffer Size qui est à 24 Kbytes par défaut.



Les conséquences de ce tuning sont minimes. La taille des tables proposés par Microsoft est choisie pour des raisons de performances. Leur augmentation dans la limite du raisonnable na pas d'impact surtout dans le cadre d'une table temporaire.

Théoriquement, voici ce qu'en dit Microsoft : Cliquez ici




No comments:

Post a Comment