Quelles sont les requêtes et tâches en cours d’exécution dans une instance SQL Server ?

Voici une requête basée sur les vues et fonctions de gestion dynamiques, introduites avec SQL Server 2005.

Elle permet de lister l’ensemble des requêtes actuellement en cours d’exécution dans une instance SQL Server, avec quelques statistiques et caractéristiques :

– le n° de session (SPID),
– le nombre de threads mis en place pour résoudre la requête,
– le nom du serveur,
– le nom du login,
– le pourcentage d’avancement d’une instruction,
– le nom de la base de données,
– le statut de la session,
– le temps écoulé depuis le début de l’exécution,
– le temps CPU consommé,
– le nombre de lectures et d’écritures,
– le type d’instruction,
– le nombre de transactions ouvertes par la session,
– le nombre de resultsets,
– le type d’attente,
– le temps d’attente pour ce type,
– le type d’attente précédent,
– la ressource attendue,
– le nom du programme / job qui exécute la requête,
– l’instruction SQL en cours d’exécution dans le lot,
– le lot SQL complet,
– le plan de requête,
– les hashs de requête et de plan,
– le nombre d’exécutions du plan,
– la date de génération du plan,
– l’adresse IP de la machine exécutant la requête.

Toute suggestion est la bienvenue !

Lire la suite

Une macro Excel pour dépouiller les statistiques IO

L’option de session SET STATISTICS IO ON permet de révéler la quantité d’activité générée sur les disques par une requête.
Comme je dépouille assez souvent le résultat qui s’affiche dans la console de SQL Server Management Studio, j’en suis venu à écrire une macro qui fait ce travail pour moi en un clin d’œil ;)

Lire la suite