Bonjour,

Dans le but de regarder dans ma base MSSQL les tables qui sont les plus utilisées et celles qui ne le sont pas, je voudrais récupérer pour une table le nombre de requête effectué sur celle-ci.

Je vais lire sys.dm_exec_query_stats pour récupérer le nombre d'exécution et je fais une jointure avec sys.dm_exec_sql_text pour avoir le texte de la requête et ainsi vérifier que la table est bien présente :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
SELECT name
	,ISNULL((select SUM(execution_count) from sys.dm_exec_query_stats
CROSS APPLY sys.dm_exec_sql_text(sys.dm_exec_query_stats.plan_handle)
where sys.dm_exec_sql_text.text LIKE '%'+sys.tables.name+'%' collate French_ci_as),0) AS NB_EXECUTION
FROM sys.tables
Est-ce que ça vous parait correcte ?

Merci