Obtenir les process SQL Server (liste détaillées avec texte et plan des requêtes)

Comment savoir quels processus tournent dans votre instance MS SQL Server ?

Voici une petite requête qui permet de savoir :

  • la liste des processus (sessions, connexions et requêtes en cours)
  • les requêtes passées ou en cours à l’instant du lancement de cette requête

Valable à partir de la version 2005 de MS SQL Server.

Pour connaître les processus en cours (sessions, connexions et requêtes), il faut lier les vues sys.dm_exec_sessions, sys.dm_exec_connections et sys.dm_exec_requests par le session_id, les connexions n’existant que pour les utilisateurs actifs (et pas pour les processus interne du serveur) et les requêtes n’existant que pour celles actuellement en cours d’exécution, il est nécessaire de faire des jointures externes.

Pour connaître le texte des requêtes actuelles ou passées, il faut utiliser la fonction table sys.dm_exec_sql_text avec le handle du code SQL à l’aide d’une intra jointure externe (OUTER APPLY);

Pour connaître le plan des requêtes actuelles, il faut utiliser la fonction table sys.dm_exec_query_plan avec le handle du plan SQL à l’aide d’une intra jointure externe (OUTER APPLY)

Voici la requête :


SELECT S.*, C.*, R.*,
       MRS.dbid AS DERNIERE_BD_REQUETE, MRS.text AS DERNIERE_REQUETE,
       Q.dbid AS BD_REQUETE, Q.text AS REQUETE,
       P.query_plan AS PLAN_REQUETE
FROM   sys.dm_exec_sessions AS S
       LEFT OUTER JOIN sys.dm_exec_connections AS C  
            ON S.session_id = C.session_id
            OUTER APPLY sys.dm_exec_sql_text(most_recent_sql_handle) AS MRS  
       LEFT OUTER JOIN sys.dm_exec_requests AS R
            ON S.session_id = R.session_id
            OUTER APPLY sys.dm_exec_sql_text(sql_handle) AS Q
            OUTER APPLY sys.dm_exec_query_plan(plan_handle) AS P;

--------
Frédéric Brouard, SQLpro - ARCHITECTE DE DONNÉES, http://sqlpro.developpez.com/
Expert bases de données relationnelles et langage SQL. MVP Microsoft SQL Server
www.sqlspot.com : modélisation, conseil, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence  * * * * *

MVP Microsoft SQL Server

Laisser un commentaire