Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

SQL Profiler - Configuration pour un développeur - tracer les requêtes SQL de votre application

SQL Profiler est un outil de SQL Server permettant de connaitre toutes les requêtes qui transite dans SQL Server. 
Il est très utile pour les développeurs afin de voir les requêtes qui transitent avec la base. En effet, de nos jours, nous avons de plus en plus de framework nous permettant de ne pas écrire de SQL (Linq to SQL/Entities, NHibernate, Genome, ...), il est donc fréquent de faire beaucoup plus de requêtes que nécessaire sans même nous en rendre compte.

La configuration par défaut de cet outil, nous donne un résultat très verbeux, de nombreuses informations inutiles pour un développeur sont affichées. En effet, la plupart du temps, un développeur s'intéresse seulement aux requêtes que son application envoie. De plus, par défaut, toute l'activité du serveur est interceptée, cela veut dire que si vous travaillez sur une base commune à plusieurs développeurs, vous verrez alors les requêtes de tout le monde.

Heureusement, il est possible de configurer cela afin de n'avoir que ce qui intéresse un développeur. Tout d'abord, il faut créer un nouveau template.

image

Ensuite, renseigner le nom du template et sélectionner un template par défaut

image

Puis, allez dans l'onglet "Events Selection" afin de sélectionner seulement les données qui nous intéresse. On peut commencer à désactiver les événements de type "Security Audit" qui permettent d'afficher les connexions au serveur, ainsi que l'événement "SQL:BatchStarting" qui rajoute une ligne avant chaque requête, on obtient la même ligne avec l'événement "SQL:BatchCompleted" avec en plus les informations sur les performances de la requête.

image

Continuons notre filtre, cochons la case "Show all columns" puis appuyons sur le bouton"Colum Filters ...".

La première chose que l'on va filtrer est la provenance des requêtes : le profiler devra nous afficher seulement les requêtes provenant de notre machine, pour cela rajoutons un filtre sur "HostName"

image

Ensuite, nous allons rajouter un filtre pour ne pas voir les requêtes "exec sp_reset_connection"

image

Enfin, nous allons rajouter un filtre sur "ApplicationName" afin de ne pas voir les requêtes joué par SQL management studio

image

A noter, que si vous travaillez avec plusieurs applications, je vous conseille grandement de spécifier le nom de l'application dans votre chaine de connexion, pour cela il faut rajouter le paramètre "Application Name" au niveau de la ConnectionString

<add name="XXXConnectionString" providerName="System.Data.SqlClient" connectionString="Data Source=XXX;Initial Catalog=XXX;User ID=XXX;Password=XXX" />

Grâce à ce template, vous obtiendrez seulement les informations que vous avez besoin pour tracer les requêtes de votre application.

Je ne suis pas DBA, je partage juste une astuce que j'utilise couramment pour le debug de mes applications, il existe surement d'autres options qui pourraient également intéresser les développeurs.
Avez-vous d'autres astuces à partager avec SQL profiler ?


SQL Profiler est un composant qui arrive à partir de SQL Standard, il ne semble pas disponible pour SQL Express.

PS : Christian, à quand un post sur JavaScript ? ;-)

Posted: mercredi 8 octobre 2008 15:52 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Rui a dit :

Tu peux aussi dire que le template que tu viens de créer tu peux le sauvegarder puis le partager avec tes petits camarades qui pourront l'importer et directement lancer une trace à partir de celui-ci ;-).

à noter aussi, le développeur utilise le Sql Profiler (pas assez à mon gout) en général pour voir les requêtes qui passent entre son appli et la base (c'est quand même pratique avec linq2sql faut dire), mais si il peut jeter en plus un petit coup d'oeil aux colonnes cpu, duration et reads en passant c'est vraiment un plus. Cela lui permet de voir immédiatement que sa commande ne prend pas plus de temps que le raisonnable et pouvoir intervenir rapidement pendant le dev sur les perfs. Pour rappel cpu donne le temps cpu d'execution de la commande, duration le temps global de la réponse de ta requête et reads le nb de pages mémoire lues.

un dernier point il faut des droits spécifiques pour lancer le profiler si les développeurs ne sont pas admins voir mon vieux post ici:http://www.rui.fr/2008/03/07/DroitsSqlPourLancerLeProfilerSqlServer.aspx

voilou

# octobre 8, 2008 17:22
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01