1. #1
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Analyste - Programmeur
    Inscrit en
    mai 2006
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Analyste - Programmeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mai 2006
    Messages : 803
    Points : 709
    Points
    709

    Par défaut Erreur lors de la récupération de plan d'exécution

    Bonjour,

    J'ai une requête qui me permet de récupérer les requêtes qui prennent beaucoup de ressources (histoire de vérifier si c'est normal ou si elle est mal faite).
    Je récupère le plan_handle via la vue sys.dm_exec_query_stats et après je récupère le plan d'exécution xml via la vue sys.dm_exec_query_plan.

    Depuis quelques temps sur certaines requêtes lorsque je veux récupérer le plan xml j'obtiens cette erreur :

    Msg*0, Niveau*11, État*0, Ligne*82
    Une erreur grave s'est produite sur la commande actuelle. Les résultats éventuels doivent être ignorés.

    La requête d'origine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT PLAN_HANDLE
    	,EXECUTION_COUNT
    	,TOTAL_WORKER_TIME
    	,LAST_WORKER_TIME
    	,MIN_WORKER_TIME
    	,MAX_WORKER_TIME
    	,DB_NAME(VERIF_BDD.DBID)
    FROM SYS.DM_EXEC_QUERY_STATS 
    	CROSS APPLY SYS.DM_EXEC_SQL_TEXT(SYS.DM_EXEC_QUERY_STATS.PLAN_HANDLE) AS VERIF_BDD
    WHERE MAX_WORKER_TIME >= 500000
    	AND EXECUTION_COUNT >= 100
    Aucune aide par MP, utilisez le forum.

  2. #2
    Membre averti
    Avatar de taibag
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2013
    Messages : 212
    Points : 353
    Points
    353
    Billets dans le blog
    1

    Par défaut

    Bonjour ,

    Le syntaxe de la requête est correct, je viens de l'exécuter chez moi, peut-être un problème avec SSMS , essaye de l'exécuter avec autre ordinateur.
    मैं एक छात्र हूँ |

  3. #3
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Analyste - Programmeur
    Inscrit en
    mai 2006
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Analyste - Programmeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mai 2006
    Messages : 803
    Points : 709
    Points
    709

    Par défaut

    Ca ne change rien.
    Et globalement sur d'autres plans ça fonctionne bien.
    Aucune aide par MP, utilisez le forum.

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2003
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2003
    Messages : 605
    Points : 1 289
    Points
    1 289
    Billets dans le blog
    5

    Par défaut

    Citation Envoyé par J0r_x Voir le message
    Une erreur grave s'est produite sur la commande actuelle. Les résultats éventuels doivent être ignorés.
    Il s’agit malheureusement d’un message d’erreur "générique" référencé dans nombre de "Connect" , et ce, dans des contextes très différents, qui n’ont rien à voir les uns avec les autres !
    Ces erreurs sont généralement corrigées par l’application des Services Packs et autres correctifs, etc. fournis par Microsoft.

    Merci de préciser la version exacte de votre Instance SQL Server, et vérifier que votre instance est bien à jour (Services Packs notamment).

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  5. #5
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 334
    Points : 40 140
    Points
    40 140
    Billets dans le blog
    1

    Par défaut

    Et aussi quelle version de SSMS vous utilisez car l'erreur peut venir d'une mauvaise adéquation instance SQL / client SSMS.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  6. #6
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Analyste - Programmeur
    Inscrit en
    mai 2006
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Analyste - Programmeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mai 2006
    Messages : 803
    Points : 709
    Points
    709

    Par défaut

    Alors en version de sql serveur je suis en 13.0.4001.0 (correspondant à la SP1)
    Pour SSMS j'ai essayé avec la version 14.0.17119.0 et la version 13.0.16000.28 et le résultat est le même.

    Sachant que la requête est exécutée via un procédure stockée qui est lancé par un job sql et j'obtiens aussi l'erreur.
    Aucune aide par MP, utilisez le forum.

  7. #7
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 334
    Points : 40 140
    Points
    40 140
    Billets dans le blog
    1

    Par défaut

    Vous avez mélangé les SQL_handle et les PLAN_handle vous appliquez la fonction de récup du texte de requête (sys.dm_exec_sql_text) à l'identifiant du plan. Il faut utiliser l'identifiant du SQL.
    De plus l'obtention du handle de plan ne sert à rien, mieux vaut le texte de la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT text AS SQL_query
    	   ,execution_count
    	   ,total_worker_time
    	   ,last_worker_time
    	   ,min_worker_time
    	   ,max_worker_time
    	   ,DB_NAME(VERIF_BDD.dbid) AS database_name
    FROM   sys.dm_exec_query_stats AS s
    	    CROSS APPLY sys.dm_exec_sql_text(s.sql_handle) AS VERIF_BDD
    WHERE  max_worker_time >= 500000
      AND  execution_count >= 100
    D'autre part les vues systèmes et DMV ont des identifiants SQL (noms des vues, colonnes...) en minuscule et non en majuscule. Ceci peut avoir son importance sur une instance avec collation CS

    Enfin, il est intéressant de récupérer aussi le plan de requête...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

Discussions similaires

  1. Erreur lors de la récupération de la date par un champ
    Par Muganda dans le forum Formulaires
    Réponses: 2
    Dernier message: 06/06/2008, 14h44
  2. Réponses: 20
    Dernier message: 04/01/2008, 12h08
  3. Réponses: 7
    Dernier message: 15/11/2006, 11h14
  4. Réponses: 7
    Dernier message: 08/11/2006, 12h28
  5. Réponses: 1
    Dernier message: 04/06/2006, 17h08

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