2016-01-26 1 views
0

Je souhaite récupérer toutes les requêtes exécutées sur une base de données un jour donné, par exemple (12/12/2015). Comment puis-je le faire?trouver toutes les requêtes exécutées un jour donné

+0

Run Profiler SQL Server. –

+0

Avez-vous des sauvegardes de journaux? –

+0

@DuncanHowe - Je ne sais pas comment le savoir? –

Répondre

0

Utilisez la requête SQL suivante:

SELECT TOP 1000 
     ST.text AS sqlText, 
     QS.execution_count AS EXECCount, 
     QS.total_elapsed_time AS spendTime, 
     QS.total_logical_reads AS logicRead, 
     QS.total_logical_writes AS logicWrite, 
     QS.total_physical_reads AS logicReadCount,  
     QS.creation_time AS executeTime , 
     QS.* 
FROM sys.dm_exec_query_stats QS 
     CROSS APPLY 
sys.dm_exec_sql_text(QS.sql_handle) ST 
WHERE QS.creation_time BETWEEN '2015-08-01 00:00:00' AND '2015-09-02 11:00:00' 
ORDER BY 
    QS.total_elapsed_time DESC 
+0

Ceci récupère les requêtes où le plan a été ** créé ** ce jour-là, et est toujours dans le cache du plan et puisque le PO parle plus d'un mois dans le passé, il est très probablement inutile pour ce cas. –