Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So zeigen Sie den Abfrageverlauf in SQL Server Management Studio an

[Da diese Frage wahrscheinlich als Duplikat geschlossen wird.]

Wenn SQL Server nicht neu gestartet wurde (und der Plan nicht entfernt wurde usw.), können Sie die Abfrage möglicherweise im Plan-Cache finden.

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

Wenn Sie die Datei aufgrund eines Absturzes von Management Studio verloren haben, finden Sie möglicherweise hier Wiederherstellungsdateien:

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

Andernfalls müssen Sie in Zukunft etwas anderes verwenden, um Ihren Abfrageverlauf zu speichern, z. B. SSMS Tools Pack, wie in Ed Harpers Antwort erwähnt - obwohl es in SQL Server 2012+ nicht kostenlos ist. Oder Sie können ein leichtes Tracing einrichten, das nach Ihrem Login oder Hostnamen gefiltert wird (aber verwenden Sie dafür bitte ein serverseitiges Tracing, nicht Profiler).

Wie @Nenad-Zivkovic kommentierte, könnte es hilfreich sein, sich bei sys.dm_exec_query_stats anzumelden und nach last_execution_time bestellen :

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;