[Тъй като този въпрос вероятно ще бъде затворен като дубликат.]
Ако SQL Server не е рестартиран (и планът не е изгонен и т.н.), може да успеете да намерите заявката в кеша на плана.
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%';
Ако сте загубили файла поради срив на Management Studio, може да успеете да намерите файлове за възстановяване тук:
C:\Users\<you>\Documents\SQL Server Management Studio\Backup Files\
В противен случай ще трябва да използвате нещо друго занапред, за да ви помогне да запазите историята на заявките си, като SSMS Tools Pack, както е споменато в отговора на Ед Харпър - въпреки че не е безплатен в SQL Server 2012+. Или можете да настроите някакво леко проследяване, филтрирано по вашето потребителско име или име на хост (но, моля, използвайте трасиране от страна на сървъра, а не Profiler за това).
Както @Nenad-Zivkovic коментира, може да е полезно да се присъедините към sys.dm_exec_query_stats
и поръчайте по 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;