sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo ver el historial de consultas en SQL Server Management Studio

[Dado que esta pregunta probablemente se cerrará como un duplicado.]

Si SQL Server no se ha reiniciado (y el plan no se ha desalojado, etc.), es posible que pueda encontrar la consulta en la memoria caché del 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 perdió el archivo porque Management Studio falló, es posible que pueda encontrar archivos de recuperación aquí:

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

De lo contrario, deberá usar algo más en el futuro para ayudarlo a guardar su historial de consultas, como SSMS Tools Pack como se menciona en la respuesta de Ed Harper, aunque no es gratis en SQL Server 2012+. O puede configurar un seguimiento ligero filtrado en su inicio de sesión o nombre de host (pero use un seguimiento del lado del servidor, no Profiler, para esto).

Como comentó @Nenad-Zivkovic, podría ser útil unirse a sys.dm_exec_query_stats y ordenar por 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;