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 :

sys.dm_exec_query_stats retourne 0 ligne !


Sujet :

Administration SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut sys.dm_exec_query_stats retourne 0 ligne !
    Bonjour,

    J'observe une chose étrange sur un serveur SQL2005SP2: l'interrogation de la vue dm_exec_query_stats me retourne aucune ligne ! Comment est-ce possible (dataserver utilisé en permanence) ?

    2eme chose qui est certainement en rapport, le process interne "RESOURCE MONITOR" consomme en permanence une grande partie d'un des CPU (confirmé à l'aide du perfmon).

    Enfin, le procedure cache ratio est de 42%, ce qui est vraiment faible (97% pour le buffer cache). Comment expliquer cette chute alors qu'il n'y a eu aucun changement effectué !

    Avez-vous une piste pour m'aider ?

    Merci;

    Bonne journée !

  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,

    J'observe une chose étrange sur un serveur SQL2005SP2: l'interrogation de la vue dm_exec_query_stats me retourne aucune ligne ! Comment est-ce possible (dataserver utilisé en permanence) ?
    Disposez-vous de l'autorisation VIEW SERVER STATE sur le serveur ?

    Comment expliquer cette chute alors qu'il n'y a eu aucun changement effectué !
    Changement par rapport à quoi ?

    @++

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Oui j'ai l'autorisation. Aucun changement du type : DBCC FREEPROCACHE ou DROPCLEANBUFFERS lancés, etc...

    Pendant plusieurs heures, j'ai 0 ligne retournée par la DMV (pendant ce laps de temps, le process RESSOURCE MONITOR consomme bcp de CPU). Brutalement (aujourd'hui par exemple au bout de 8h), la dmv me retourne des records (et le ressource monitor ne consomme plus de cpu).
    Je n'y comprends rien !

  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
    Difficile de diagnostiquer sans avoir la machine sous la main, mais je pense à une pression mémoire.
    Si le moniteur de ressource consomme beaucoup de CPU, c'est que la purge des buffers par le LazyWriter coûte cher, c'est-à-dire que SQL Server doit les vider trop souvent (par manque de mémoire), ce qui expliquerait la consommation de CPU.

    Cela expliquerait également l'absence de lignes lorsque vous requêtez la DMV sys.dm_exec_query_stats, puisque SQL Server ne collecte des données de performance que si la "capacité" système le permet.

    Démarrez Perfmon et regardez la valeur du compteur Lazy Writes/sec ou Ecritures de pages/s de l'objet de performance SQL Server : Buffer Manager.
    Vérifiez également la valeur du compteur Page Life Expectancy ou Espérance de vie d'une page, toujours dans le même objet de performance.
    Si ce compteur est en-dessous de 300, cela indique que les pages de données du Buffer Manager sont purgées trop souvent.
    Dans ce cas ce sera comme je vous l'ai précisé un peu plus haut : cela oblige SQL Server à écrire les pages du gestionnaire de tampons, et donc à augmenter sa consommation en CPU.

    Attention tout de même à le corréler avec le compteur Checkpoints Pages/sec ou en français Pages de points de contrôle/s : normalement c'est le CHECKPOINT qui vide les pages du buffer.
    Celui-ci se produit par défaut toutes les minutes, sauf si vous avez changé la valeur de l'option recovery interval (min) à l'aide de la procédure stockée sp_configure.
    Pour savoir quelle valeur est utilisée pour cette option, exécutez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM sys.configurations
    WHERE name = 'recovery interval (min)'
    Si la colonne value_in_use vaut 0, c'est que le CHECKPOINT est configuré par défaut.
    Également lors de l'occurrence d'un CHECKPOINT, le compteur d'espérance de vie d'une page va chuter.
    Si ce compteur remonte après le CHECKPOINT c'est normal, en revanche si par la suite vous remarquez que celui-ci est autour ou en-dessous de 300, pensez à acheter de la RAM

    @++

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette derniere reponse, j'avais effectivement controlé differents compteurs sous Perfmon (procedure cache hit ratio, page life exp, etc...)), j'observais des valeurs etonnantes (environ 40% pour le procedure cache par exemple).

    Apres recherche, j'ai trouvé une KB se rapportant completement à mon pb observé sur differents dataservers : KB 948450

    "FIX: CPU utilization of a CPU in a single node increases to 100 percent when you use SQL Server 2005 on a multiprocessor computer that uses NUMA architecture "

    http://support.microsoft.com/kb/948450/en-us

    Pb résolu en installant le Cumulative Fix 7 pour SQL2005SP2 ou installation
    du SP3.

    Merci.

  6. #6
    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
    Merci bien pour ce retour

    Est-ce à dire que tu peux marquer le sujet comme résolu ?

    @++

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

Discussions similaires

  1. determiner si une requete retourne des lignes
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/07/2006, 00h19
  2. Retourné des lignes dont certains champs sont vides
    Par griese dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/06/2006, 10h23
  3. jointure externe qui retourne 1 ligne par enregistrement
    Par goony dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/05/2006, 17h51
  4. Procédure stockée - Retourner plusieurs ligne d'une table
    Par ronando dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 02/11/2005, 13h19
  5. Réponses: 14
    Dernier message: 09/04/2004, 13h44

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