Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment afficher l'historique des requêtes dans SQL Server Management Studio

[Puisque cette question sera probablement fermée en tant que doublon.]

Si SQL Server n'a pas été redémarré (et que le plan n'a pas été supprimé, etc.), vous pourrez peut-être trouver la requête dans le cache du plan.

SELECT t.[text]
FROM sys.dm_exec_cached_plans AS p
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%';

Si vous avez perdu le fichier parce que Management Studio a planté, vous pourrez peut-être trouver des fichiers de récupération ici :

C:\Users\<you>\Documents\SQL Server Management Studio\Backup Files\

Sinon, vous devrez utiliser autre chose pour vous aider à enregistrer l'historique de vos requêtes, comme SSMS Tools Pack, comme mentionné dans la réponse d'Ed Harper - bien qu'il ne soit pas gratuit dans SQL Server 2012+. Ou vous pouvez configurer un suivi léger filtré sur votre connexion ou votre nom d'hôte (mais veuillez utiliser un suivi côté serveur, pas Profiler, pour cela).

Comme @Nenad-Zivkovic l'a commenté, il pourrait être utile de se joindre à sys.dm_exec_query_stats et commandez avant last_execution_time :

SELECT t.[text], s.last_execution_time
FROM sys.dm_exec_cached_plans AS p
INNER JOIN sys.dm_exec_query_stats AS s
   ON p.plan_handle = s.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%'
ORDER BY s.last_execution_time DESC;