L’offre Microsoft regorge d’outils particuliers et spécifiques pour SQL Server. Hélas la plupart de ces outils sont peu connus. En voici quelques uns qui peuvent d’avérer bien utile dans différents contextes…
1) TYPEPERF.EXE
Le but de cet outil est de permettre de collecter des données de performance (comme le fait le moniteur de performances – perfmon.exe), mais il s’utilise en ligne de commande.
En voici sa syntaxe :
typeperf { <compteur [compteur ...]> | -cf <filename> | -q [object] | -qx [object] } [options]
Avec :
compteur : compteur de performance à monitorer
Options:
-? aide en ligne
-f <CSV|TSV|BIN|SQL> format du fichier de sortie (CSV a défaut)
-cf <filename> fichier contenant les noms des compteurs à auditer à raison d'un compteur par ligne.
-si <[[hh:]mm:]ss> intervalle de temps pour la scrutation. A défaut 1 seconde
-o <filename> fichier ou nom de la base pour mettre les résultats. A défaut STDOUT.
-q [object] liste les compteurs installés. Pour une liste restreinte, fournir le nom de l'objet.
-qx [object] liste les compteurs installés par instance. Pour une liste restreinte, fournir le nom de l'objet.
-sc <samples> nombre d'échantillons de mesure à collecter. A défaut infini. L'arrêt se fait avec CTRL+C.
-config <filename> fichier de configuration contenant les options de commande
-s <computer_name> instance à monitorer si cette info ne figure pas dans le nom des compteurs
-y pas d'affichage des questions (prompt). Répond oui à tout.
Exemple :
TYPEPERF -f CSV -o ValeursCompteurs.csv -si 10 -cf DefinitionCompteurs.txt -sc 360
Audite les compteurs dont la liste est fournie dans DefinitionCompteurs.txt toute les 10 secondes et pour 360 cycles. Met les valeurs dans le fichier ValeursCompteurs.csv
Le fichier se présente de la manière suivante : la première colonne est le temps, les suivantes, chacun des compteurs.
2) TABLEDIFF.EXE
Cet outil en ligne de commande ou par IHM, propose de comparer la structure des objets d’une base par rapport à l’autre.
Sa syntaxe étant très riche, je vous propose d’en prendre connaissance sur la site officiel de MS :
http://msdn.microsoft.com/en-us/library/ms162843.aspx
3) SQLIOSTRESS / SQLIOsim
Deux outils similaire l’un pour les versions de SQL Serveur antérieur à 2005 (SQLIOSTRESS) et l’autre à partir de 2005 (SQLIOsim). Le but de cet outil est de simuler la charge de lecture / écriture du sous système disque afin de savoir s’il correspond bien à vos attentes en terme transactionnel.
Voici une description par MS de son fonctionnement et les options de paramétrage :
http://support.microsoft.com/kb/231619
4) PSSDIAG
C’est un outil de collecte d’information généralisé qui capture les informations de paramétrage de l’OS, du serveur SQL, de perfmon / sysmon, du profiler SQL, des journaux d’événements et bien d’autre choses. Il est essentiellement utilisé par le service support de MS afin de reproduire votre installation en labo pour étudier sereinement votre problématique.
http://support.microsoft.com/kb/830232
5) SQL H2
Est une suite d’outil pour historiser la « santé » d’un serveur SQL (Microsoft SQL Server Health and History Tool). Il recueille, stocke, compare les informations et permet de les afficher sous forme graphique.
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eedd10d6-75f7-4763-86de-d2347b8b5f89&displaylang=en
6) SQL Server 2005 Performance Dashboard Reports
SQL Server 2005 Performance Dashboard Reports est un outil basé sur Reporting Services et fournit des états de diagnostic de fonctionnement de SQL Server 2005 (à partir du SP2).
Ces états vous permettent de diagnostiquer par exemple des goulets d’étranglement et d’investiguer dessus afin de les résorber.
http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=536fd7d5-013f-49bc-9fc7-77dede4bb075
7) SQL Server 2005 Best Practices Analyzer
Cet outil collecte des informations sur Windows et SQL Server afin de vérifier une liste de « bonnes pratiques » et fournir des recommandations.
http://www.microsoft.com/downloads/details.aspx?familyid=DA0531E4-E94C-4991-82FA-F0E3FBD05E63&displaylang=en
8) Replay Markup Language
Cet outil permet, à partir de traces collectées par le profileur SQL, de les rejouer sur une autre serveur, ou sur le même après modification, afin de mesurer la différence de performance entre une version et l’autre.
http://support.microsoft.com/kb/944837
Il existe bien entendu de nombreux autres outils et j’alimenterais ce blog chaque fois que je le pourrais…
Voir aussi :
http://technet.microsoft.com/en-us/sqlserver/bb671104.aspx
http://weblogs.sqlteam.com/mladenp/archive/2007/11/20/Free-SQL-Server-tools-that-might-make-your-life-a.aspx
***
Frédéric BROUARD – SQLpro – MVP SQL Server
Spécialiste SQL/BD modélisation de données
SQL & SGBDR http://sqlpro.developpez.com/
Expert SQL Server : http://www.sqlspot.com
audits – optimisation – tuning – formation
Effectivement, j’ai eu ce souci pour l’avoir mis en place mais il existe un update permettant de corriger ce problème qui consiste à mettre à jour l’exécutable et à ajouter une option dans fichier de configuration
Les dates sont interprétés correctement après avoir redemarré le service de collecte
++
Data Collector porpose une autre approche qui consiste à définir ce que l’on veut voir historiser et ce que l’on en fera. SQL H2 possède un inconvénient majeur en version française : un bug sur les dates (lié à une mauvaise interprétation des dates au format français) le rend inexploitable…
SQLH2 est un bon outil de reporting et permet une approche proactive visuelle et qui plus est permet une mutualisation des données de plusieurs serveurs.
Apparemment, je n’ai pas encore testé mais est ce que le DATA COLLECTOR de sqlserver2008 serait t’il son remplaçant ?
++