Quelques outils méconnus pour MS SQL Server

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

3 réflexions au sujet de « Quelques outils méconnus pour MS SQL Server »

  1. Avatar de mikedavemmikedavem

    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

    ++

  2. Avatar de sqlprosqlpro Auteur de l’article

    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…

  3. Avatar de mikedavemmikedavem

    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 ?

    ++

Laisser un commentaire