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

MS SQL Server Discussion :

Monitoring SQL Server 2005


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut Monitoring SQL Server 2005
    Bonjour,
    je voudrais mettre en place un système de monitoring sur un Sql Server 2005 afin de suivre l'évolution de quelques DB et ce de manière quotidienne afin d'obtenir des infos du style ...

    Nombre de connections par DB
    Nombre de queries par DB
    CPU utilisé par DB
    Etc ...

    Je ne vois pas ou trouver ce type d'infos.

    Merci pour votre aide.

  2. #2
    Membre expérimenté
    Inscrit en
    Janvier 2012
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 145
    Par défaut
    Le moniteur d'activité est bien pratique sous SqlServer 2008, mais tu trouveras de nombreux scripts utilisables sur plusieurs versions de SqlServer sur Sql Server Central.

  3. #3
    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 : 44
    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
    Par défaut
    Bonjour,

    SQL Server 2005 a introduit les Vues et Fonctions de Gestion Dynamique (DMVs et DMFs dans la littérature), qui sont des vues exposant les métriques que le moteur de SQL Server collecte sur son fonctionnement, et sa propre optimisation.

    Pour le nombre de connections et le nombre de requêtes, si vous souhaitez avoir un chiffre exact, vous devrez passer par une trace côté serveur, et l'analyser tous les jours.
    Mais sachez que cela a un prix au niveau des ressources.
    Sinon vous pouvez exécuter une requête pour ce faire, sur la DMV sys.dm_exec_sessions, toutes les minutes, et enregistrer le résultat dans une table.

    En ce qui concerne la consommation CPU par base de données, c'est moins simple.
    Vous pouvez utiliser les requêtes que j'ai publié ici, mais elles donnent la consommation CPU pour l'ensemble de l'instance.
    Vous pouvez utiliser la requête que je viens de publier ici pour obtenir le temps CPU utilisé par base de données.
    Il vous faudra donc l'exécuter par un job, et enregistrer aussi le résultat dans une table.

    Ensuite vous pouvez écrire un rapport SSRS qui vous donne les courbes

    @++

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut
    Bonsoir Nicolas,
    tout d'abord, merci pour la rapidité au niveau du feedback.

    J'ai utilisé la requête qui permet de retrouver le temps CPU consommé par base de données d'une instance SQL Server.

    Si j'ai bien compris, je retrouve donc le temps CPU consommé par les <> DB à un instant T ... mais comment puis-je savoir ce que représente cette consommation totale par rapport au reste de la consommation CPU qui est utilisé par d'autres ressources (hors sql server) ?

    Bonne soirée et encore merci pour votre aide

  5. #5
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Avez-vous d'autres applications qui tournent sur votre serveur hormis SQL Server ?

    Aucune méthode n'est pas parfaite malheureusement. Les DMV peuvent vous aider comme le propose Elsuket mais il suffit que le cache des procédures soit vidé ou qu'il existe une pression mémoire vous risquez de ne pas capturer certaines entrées.

    Les traces SQL permettent de pallier ce problème (je trouve cette 2eme solution plus viable dans le temps) mais peut avoir un impact sur votre production ...

    ++

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 78
    Par défaut
    Bonjour,
    merci pour vos réponses ...

    Pouvez-vous me dire si je suis sur la bonne route ...

    Pour connaitre le nombre de users connectés sur le server sql (toutes db confondues), le script suivant est-il ok ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Insert [PerfMon].[dbo].[Page writes per Second]
    ([Date]
    ,[Page writes per Second])
     
    SELECT GETDATE() ,  cntr_value 
    FROM   sys.dm_os_performance_counters
    WHERE counter_name = 'Page writes/sec
    Pour connaitre le nombre de pages écrites / sec, le script suivant est-il ok ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Insert [PerfMon].[dbo].[Page writes per Second]
    ([Date]
    ,[Page writes per Second])
     
    SELECT GETDATE() ,  cntr_value 
    FROM   sys.dm_os_performance_counters
    WHERE counter_name = 'Page writes/sec
    Pour le nombre de pages écrites / sec, j'obtiens le nombre suivant : 56443829 (cela pour 30 DB) - cela me parait beaucoup ... non ?

  7. #7
    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 : 44
    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
    Par défaut
    Bonjour,

    La première est incorrecte, mais je crois qu'il s'agit d'un malencontreux copié-coller
    Il faut changer par SQLServer:General Statistics/User Connections, qui représente le nombre d'utilisateurs connectés à toutes les bases de données de l'instance.
    Cela dit un utilisateur peut avoir plusieurs connexions ...
    Le compteur SQLServer:General Statistics/Logical Connections vous donne le nombre de connections lorsque vous utilisez MARS, car dans ce cas un utilisateur peut avoir plusieurs connexions ouvertes.

    La seconde est correcte

    Pour le nombre de pages écrites / sec, j'obtiens le nombre suivant : 56443829 (cela pour 30 DB) - cela me parait beaucoup ... non ?
    Effectivement c'est assez élevé.
    Il vous faudrait pour cela étudier d'où toutes ces écritures proviennent.

    Notez que ces deux métriques sont des instantanés.
    Il existe d'autres compteurs de performance qui sont cumulatifs, comme par exemple SQLServer:SQL Statistics/SQLServer:SQL Statistics.

    Si vous voulez auditer de façon constante, je vous conseille d'utiliser l'utilitaire logman et de mettre les intervalles d'audit à quelques secondes, 10 ou 15, puis de charger ce fichier en base.
    Notez qu'il est possible de le faire nativement avec logman, en ayant au préalable enregistré la chaîne de connexion sur la machine cible du chargement de données.
    Vous pouvez vous aider de PAL.
    Le premier utilitaire est livré avec Windows, le second est libre.

    @++

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

Discussions similaires

  1. [Installation]SQL Server 2005 Express Edition sur XP home
    Par Médiat dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 06/08/2005, 18h22

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