Nous commençons à avoir beaucoup de procédures stockées dans notre application. Beaucoup d'entre elles sont destinées à des rapports personnalisés, dont beaucoup ne sont plus utilisés. Quelqu'un connaît-il une requête que nous pourrions exécuter sur les vues système dans SQL Server 2005 et qui nous indiquerait la dernière date d'exécution d'une procédure stockée ?
Réponses
Trop de publicités?
user5175823
Points
11
Martin Smith
Points
174101
Cela fonctionne bien en 2005 (si le plan est dans le cache).
USE YourDb;
SELECT qt.[text] AS [SP Name],
qs.last_execution_time,
qs.execution_count AS [Execution Count]
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE qt.dbid = DB_ID()
AND objectid = OBJECT_ID('YourProc')
- Réponses précédentes
- Plus de réponses
3 votes
Nous avons tous les journaux de bord de nos Sprocs qui ont été appelés. Tous nos Sprocs ont un paramètre pour l'ID de la session, et celui-ci est inclus dans le journal (avec toute erreur soulevée et la durée). Nous sommes à l'aise (jusqu'à présent !) avec l'overhead, et cela nous a aidé à déboguer et à établir des rapports de gestion.