SQL Server 2016 : Maintenance des progiciels tiers

Utiliser le Profiler

Testez gratuitement nos 1300 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Voyez comment utiliser l'outil Profiler pour tracer les requêtes envoyées à la base de données. Il s'agit également d'avoir un aperçu général de l'activité du progiciel.
06:54

Transcription

Une des premières choses que vous pouvez faire c’est vous donner une impression de la façon dont le serveur fonctionne et répond aux requêtes. En fait, vous donnez une impression de la façon dont l’application, dont le progiciel travaille avec SQL Server. Je vais vous montrer comment faire. Ici je suis dans « Management Studio », l’outil d’administration de SQL Server. « Management Studio » a une partie d’administration ici, une partie où je peux saisir des requêtes, mais il y a un outil que je peux appeler à travers « Management Studio » dans « Outils » qui s’appelle le « Profiler SQL Server ». C’est en fait un outil de trace qui va vous permettre de récupérer des informations des requêtes qui sont en train d’être exécutées par le serveur. On peut dire qu’ils sont envoyés au serveur. Je vais lancer le « Profiler », c’est un outil externe, et puis je vais me connecter à mon serveur et on va imaginer que c’est le serveur de production. Donc je dois connaitre au moins un mot de passe. Il faut que j’ai certaines permissions pour pouvoir lancer le « Profiler ». Je peux, bien entendu, être sysadmin mais vous pouvez avoir un compte et demander une permission particulière qui s’appelle en anglais « alter any trace », que je vais brièvement vous montrer d’ailleurs en français. Ici, au niveau du serveur, dans les « Propriétés », et dans les « Autorisations », si vous avez un login dans SQL Server eh bien vous pouvez ici demander « Modifier une trace ». Il faut que cette option soit activée pour que vous ayez la permission de lancer une trace. Ça n’implique pas d’avoir d’autres permissions sur le serveur. Vous pouvez très bien faire cette demande à l’administrateur ou à l’éditeur de progiciel s’il administre le serveur. Ok. Mais là je n’en ai pas besoin. Donc je reviens à ma trace, je me connecte, et ici je peux sauvegarder une trace dans un fichier. Ça peut être pratique. Vous voyez, et je vais dire « perfs » par exemple. C’est un fichier binaire qui peut être ouvert à nouveau avec le « Profiler ». Ça peut-être pratique si vous voulez l’envoyer aux équipes de développement du progiciel pour leur montrer votre situation de production. Ils vont pouvoir ré-ouvrir ça dans leur « Profiler » et voir les requêtes et les performances des requêtes. Donc je vais donner un titre « perfs ». Je vais aller sélectionner les événements, et ici je ne vais conserver rien de tout ça. C’est un modèle par défaut mais je vais surtout me concentrer sur, je vais vous montrer, ici ces deux options dans « Stored Procedures » « RPC Completed », et dans « TSQL » « BatchCompleted ». Grâce à cela je vais voir toutes les requêtes qui passent. Dans « RPC Completed » je vais avoir des appels de procédure stockée, selon la façon dont l’application les appelle. Et puis dans « BatchCompleted » tous les appels de requête dynamique, ce qu’on appelle les requêtes ad hoc. Donc vous verrez passer toutes les requêtes. Ensuite, ce qui va être important c’est de cocher « TextData » des deux cotés, de façon à avoir le texte de la requête. Vous pouvez laisser coché tout ceci mais ce qui est important aussi c’est d’avoir ces trois options : « CPU », « Reads », et « Writes » éventuellement, et « Duration ». Donc ici vous voyez qu’elles sont cochées et il faut qu’elles soient cochées. « CPU » : il s’agit du temps en millisecondes de travail des processeurs pour exécuter cette requête. « Reads », il s’agit du nombre de pages, ce sont des pages de huit kilos manipulé par le moteur de stockage de SQL Server qui vont être sollicités pour cette requête. Plus il y aura de pages, plus il y aura donc d’entrées-sorties, de volume de données à manipuler, plus la requête sera couteuse et impactera le système tout entier, c'est-à-dire le serveur SQL tout entier. Vous avez ensuite la durée, « Duration » en milliseconde également, qui est la durée totale d’exécution de la requête jusqu’au moment ou elle a fini d’être envoyée au client. En général les requêtes couteuses sont des requêtes de lecture, elles n’impliquent que peu de « Writes ». Et je vais rajouter une information supplémentaire. Donc je vais faire ici « Afficher toutes les colonnes » et je vais récupérer un peu vers la fin ici le « RowCounts ». « RowCounts », c’est le nombre de lignes affectées par la requête. Par exemple, vous avez un « SELECT » ou une demande qui récupère une seule ligne. Et ça, ça m’intéresse. Je vais vous dire pourquoi juste après. Je déclique « Afficher toutes les colonnes » et puis une dernière information, peut-être que vous avez beaucoup beaucoup de requête qui passent, et ça vaut la peine de toutes les regarder d’un premier coup. Mais peut-être, vous voulez vous concentrer après sur des requêtes couteuses. À ce moment-là, vous pouvez cliquer sur l’entête d’une des colonnes, par exemple la « durée » et le simple fait de cliquer sur l’entête va ouvrir un filtre, et vous pouvez dire ici : « eh bien, je veux les requêtes où la durée est supérieure ou égale à... Allez, je vais mettre 10 millisecondes dans mon cas. » C’est très très peu d’accord mais c’est un exemple pour mon exemple de cours ici. Chez vous, vous pourrez mettre un peu plus, bien sûr. Donc c’est tout. J’exécute et je regarde passer les requêtes. En fait, sur votre serveur de production vous auriez déjà maintenant probablement plusieurs centaines ou même peut-être plusieurs milliers de requêtes qui passent. Et même si vous n’allez pas toutes les regarder, c’est intéressant d’avoir un sentiment, de voir comment le serveur fonctionne. Je vais vous faire une démonstration. Je vais revenir sur « Management Studio ». Je vais prendre cette requête, par exemple, et puis je vais l’envoyer 200 fois. C’est un petit truc ici, mon « GO 200 » va dire envoie la requête 200 fois. C’est parti. Et je vais voir. Là ça continue à défiler. Je vais avoir certaines informations qui m’intéressent. Vous voyez que la durée 60 millisecondes en moyenne. Mais déjà je vois une chose. Elle est appelée tout le temps cette requête. Et peut-être que vous verrez, regardant un peu le texte de la requête, vous aurez un sentiment de ce que fait la requête. Et peut-être que vous direz : « est-ce qu’il m’est arrivé plusieurs fois par exemple ? Ah mais tiens, c’est peut-être le programme qui affiche les résultats sur un tableau de bord et il est en train de déclencher en permanence beaucoup de requêtes. Est-ce que c’est vraiment utile ? Est-ce que j’ai vraiment besoin d’avoir un rafraichissement de mon tableau de bord en permanence ? » Et à ce moment-là, ça vous permet de discuter avec l’éditeur de progiciel qui va peut-être vous dire : « Ah, mais oui, on peut configurer le tableau de bord pour se rafraichir toutes les dix minutes. » Et ça peut diminuer vos problématiques. Donc vous pouvez voir des requêtes qui sont très souvent exécutées et ça vous donne la puce à l’oreille et vous pouvez voir aussi des requêtes couteuses. Alors je vais vous parler un petit peu plus de ce que ça veut dire une requête couteuse pour avoir une vague idée.

SQL Server 2016 : Maintenance des progiciels tiers

Exploitez les fonctionnalités de SQL Server afin de diminuer les problèmes, et améliorer les performances des progiciels. Faites face à ce problème très souvent rencontré !

1h16 (15 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :4 août 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !