En tant que développeur, j'utilise assez souvent SQL Profiler. C'est un bon outil de débogage, à la fois pour suivre ce que fait mon code et pour analyser les problèmes de performances.
Mais je l'ai toujours utilisé sur mon développement environnement, et de manière très contrôlée.
Le SQL Profiler peut-il être utilisé pratiquement dans un environnement en production?
Ma première préoccupation est que cela dégraderait les performances.
Ma deuxième préoccupation est que, parce qu'il est en production, vous ne déclenchez pas les actions intéressantes elles-mêmes. Vous devez laisser le profileur fonctionner pendant une longue période, puis analyser les résultats. Le jeu de résultats deviendrait-il trop lourd? (Prendre trop d'espace disque et être trop difficile à interroger).
Quelqu'un utilise-t-il le SQL Profiler en production?
L'utilisation de Sql Server Profiler (outil GUI) pour tracer un serveur de production n'est pas une bonne idée. Mais cela dépend de la charge. Utilisez le suivi SQL côté serveur (voir les procédures sp_trace_XXX ) à la place. J'ai aussi trouvé des articles:
Impact sur les performances: suivi du profileur par rapport au suivi SQL côté serveur ,
Automatisation du suivi côté serveur dans SQL Server
éviter de causer des problèmes avec le profileur
il sera peut-être intéressé et utile.
Réservez en ligne dit:
J'utilise SQL Profiler contre la production tout le temps. Lorsqu'il est fait correctement (filtrage pour récupérer une très petite quantité de données) contre un serveur, le risque est minime. Retracer tout serait inutile.
Oui, l'acte de surveillance nécessitera des ressources. L'exécuter sur un serveur surchargé pourrait le tuer.
Vous surveillerez en fait la charge réelle: vos actions pourraient se perdre dans le bruit de cette charge.
Nous l'exécutons parfois en production. Principalement avec un filtre de texte pour un code spécifique, ou avec des filtres CPU/durée pour intercepter les requêtes plus longues. Et nous n'essayons pas de capturer des plans d'exécution XML ou une telle absurdité
L'essentiel est de savoir ce que vous cherchez: nous n'avons pas tendance à le laisser fonctionner et à tout piéger.
Dans ce cas, si vous voulez voir les résultats de certaines actions, pouvez-vous le faire en dehors des heures?
Le profileur introduira toujours un impact sur les performances.
Si vous utilisez SQL Server 2008R2 +, vous pouvez utiliser des événements étendus. Cela fournit une grande partie des informations que vous voyez dans le profileur avec une fraction de la performance atteinte.
Introduction en ligne aux livres http://technet.Microsoft.com/en-us/library/bb630354 (v = sql.105) .aspx
Cette fonctionnalité a reçu une grosse mise à jour dans SQL Server 2012 qui inclut désormais une interface graphique dans SSMS.