Bonjour,
je cherche une requête pour voir les WAIT survenus dans la base de données.
D'avance merci.
Version imprimable
Bonjour,
je cherche une requête pour voir les WAIT survenus dans la base de données.
D'avance merci.
Survenus, pas possible de manière simple, il faudrait tracer.
En cours, oui :
A +Code:
1
2
3
4
5 SELECT * FROM sys.dm_os_waiting_tasks AS w INNER JOIN sys.dm_exec_requests AS r ON w.session_id = r.session_id WHERE database_id = DB_ID()
Pour voir l'ensemble des WAITS par type vous pouvez également utiliser sys.dm_os_wait_stats
Bonjour,
merci pour vos réponses.
Comment connaître le nom de la base de données à partir de database_id ?
D'avance merci.
Bonjour,
Bonne journéeCode:SELECT dbid, name from sys.sysdatabases WHERE dbid = ...
Hello,
Possible aussi de passer par les événements étendues à partir de SQL Server 2008 pour faire cela en utilisant :
- l'événement wait_info
- une cible de type histogram
- un filtre sur l'id de la base de données concernée
++
Et j'en rajoute une couche, sys.dm_os_wait_stats ne sert à rien si l'instance est démarrée depuis 8 mois et que les stats n'ont jamais été réinitialisées. Si un problème est survenu il y a 2 jours, le détail sera noyé dans la moyenne. Il faut penser à les réinitialiser et les collecter régulièrement, par exemple pour avoir une baseline jour / nuit:
A+Code:
1
2 dbcc sqlperf('sys.dm_os_wait_stats','clear') GO