sql >> Databasteknik >  >> RDS >> Sqlserver

Så här ser du frågehistorik i SQL Server Management Studio

[Eftersom den här frågan sannolikt kommer att stängas som en dubblett.]

Om SQL Server inte har startats om (och planen inte har vräkts, etc.), kanske du kan hitta frågan i planens cache.

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%';

Om du tappade bort filen på grund av att Management Studio kraschade, kanske du kan hitta återställningsfiler här:

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

Annars måste du använda något annat för att hjälpa dig spara din frågehistorik, som SSMS Tools Pack som nämns i Ed Harpers svar - även om det inte är gratis i SQL Server 2012+. Eller så kan du ställa in lite lätt spårning filtrerad på ditt inloggnings- eller värdnamn (men använd en spårning på serversidan, inte Profiler, för detta).

Som @Nenad-Zivkovic kommenterade kan det vara bra att gå med på sys.dm_exec_query_stats och beställ efter 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;


  1. Felaktig sortering/sortering/ordning med mellanslag i Postgresql 9.4

  2. Vad är skillnaden mellan att använda INDEX vs KEY i MySQL?

  3. Dela en kolumn i flera rader

  4. Min Välj SUM-fråga returnerar null. Det bör returnera 0