IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

[Débutant] Utilisation de SQL Profiler


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut [Débutant] Utilisation de SQL Profiler
    Bonjour à tous,

    Je travaille actuellement sur une base de données SQL SERVER 2000 qui a quelques problèmes de disponibilités. J'ai donc décidé d'utiliser SQL Profiler SSMS 2005 sur ma base pour identifier les requêtes les plus consommatrices, et les colonnes des tables les plus utilisées pour les différentes consultations.

    Malheureusement mon problème est que je n'arrive pas à filtrer correctement les traces pour n'obtenir que les SELECT, INSERT, UPDATE et DELETE sur une table précise . J'utilise la configuration suivante :
    - filtre ObjectName rempli avec le nom de ma table
    - événement RPC:Completed
    - événement SQL:BatchCompleted

    Mon problème et qu'il affiche toujours dans les traces des événements qui n'ont rien à voir avec la table que j'ai précisé dans le filtre (ex : exécution de procédures stockées qui n'ont pas d'effet sur ma table ...).

    Pourriez-vous m'aider, il doit me manquer des filtres ou des événements spécifiques à sélectionner ?

    D'avance merci pour vos réponses

    Dens19

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Ajoutez un filtre sur la colonne TextData

    @++

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Bonjour elsuket,

    Merci pour ta réponse.

    Mais en fait il y a plusieurs procédures stockées qui viennent réaliser des DELETE, INSERT, UPDATE, SELECT dans cette table, le nom de certaines procédures ne contient pas forcément le nom de la table (sisi la base a très bien été conçue ). Malheureusement je ne connais pas les noms de toutes ces procédures. J'aurais donc juste voulu savoir si on peut faire un filtre pour capturer tous ces événements sur cette table spécifique sans forcément connaître les sources de ces événements ?

    D'avance merci.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Pour obtenir la liste des objets dépendant de votre table, essayez la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT OBJECT_NAME(D.id) ObjetDependant,
    		OBJECT_NAME(D.depid) ObjetMaitre
    FROM maBD..sysdepends AS D
    JOIN sysobjects AS O ON D.id = O.id
    WHERE OBJECT_NAME(D.id) NOT LIKE 'dt%'
    AND OBJECT_NAME(D.id) NOT LIKE 'sys%'
    AND O.type = 'P' -- procédure stockée
    AND OBJECT_NAME(D.depid) = 'maTable'
    Il vous suffit ensuite de référencer toutes ces procédures stockées dans votre trace.
    Comme c'est fastidieux, vous pouvez le faire pour une procédure stockée, générer le script de la trace (Fichier | Exporter | Générer un script de définition de la trace | Pour SQL Server 2000), puis ajouter les autres procédures stockées dans le script et l'exécuter.

    Pour lire ce qui est enregistré dans votre fichier de trace, vous pouvez utiliser la fonction système fn_trace_gettable.

    @++

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Bonjour elsuket,

    Merci pour ce code SQL, il va grandement m'aider dans mon analyse.

    Encore merci de votre aide rapide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  2. Réponses: 19
    Dernier message: 28/04/2005, 15h36
  3. [Débutant]Utilisation de swing
    Par OtI$ dans le forum Débuter
    Réponses: 10
    Dernier message: 01/12/2004, 21h27
  4. [Débutant] Utilisation du mot clé ASSERT
    Par analysiz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2004, 11h43
  5. [Débutant] Utilisation de FOP - Register Fonts with FOP
    Par Johnbob dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 31/01/2004, 00h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo