sql >> Database >  >> RDS >> Sqlserver

Querygeschiedenis bekijken in SQL Server Management Studio

[Aangezien deze vraag waarschijnlijk als een duplicaat wordt gesloten.]

Als SQL Server niet opnieuw is opgestart (en het plan niet is verwijderd, enz.), kunt u de query mogelijk vinden in de cache van het 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%';

Als u het bestand bent kwijtgeraakt omdat Management Studio is gecrasht, kunt u hier mogelijk herstelbestanden vinden:

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

Anders moet je in de toekomst iets anders gebruiken om je zoekgeschiedenis op te slaan, zoals SSMS Tools Pack zoals vermeld in het antwoord van Ed Harper - hoewel het niet gratis is in SQL Server 2012+. Of u kunt een lichte tracering instellen die is gefilterd op uw login- of hostnaam (maar gebruik hiervoor een tracering aan de serverzijde, niet Profiler).

Zoals @Nenad-Zivkovic opmerkte, kan het handig zijn om mee te doen op sys.dm_exec_query_stats en bestel vóór 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. Opgeslagen SQL-aanroepprocedure voor elke rij zonder een cursor te gebruiken

  2. Hoe MICROSECOND() werkt in MariaDB

  3. Vervangen in querysyntaxis

  4. Code dekkingsstatistieken