sql >> Databáze >  >> RDS >> Sqlserver

Jak zobrazit historii dotazů v SQL Server Management Studio

[Protože tato otázka bude pravděpodobně uzavřena jako duplikát.]

Pokud nebyl SQL Server restartován (a plán nebyl vyřazen atd.), můžete najít dotaz v mezipaměti plánu.

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

Pokud jste soubor ztratili z důvodu selhání Management Studio, možná budete moci najít soubory pro obnovení zde:

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

V opačném případě budete muset v budoucnu použít něco jiného, ​​co vám pomůže uložit historii dotazů, jako je SSMS Tools Pack, jak je zmíněno v odpovědi Eda Harpera – ačkoli to není zdarma v SQL Server 2012+. Nebo můžete nastavit nějaké zjednodušené trasování filtrované podle vašeho přihlašovacího jména nebo názvu hostitele (k tomu však použijte trasování na straně serveru, nikoli Profiler).

Jak poznamenal @Nenad-Zivkovic, může být užitečné připojit se na sys.dm_exec_query_stats a objednejte podle 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. Zkontrolujte, zda řádek existuje, jinak vložte

  2. Kdy bych měl použít proměnnou tabulky vs dočasnou tabulku na serveru SQL?

  3. Jak získat všechny možné kombinace řádků ze dvou tabulek v SQL

  4. Běžné chyby ER diagramu