Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como ver o histórico de consultas no SQL Server Management Studio


[Já que esta pergunta provavelmente será fechada como uma duplicata.]

Se o SQL Server não foi reiniciado (e o plano não foi despejado, etc.), você poderá encontrar a consulta no cache do plano.
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%';

Se você perdeu o arquivo porque o Management Studio travou, você poderá encontrar arquivos de recuperação aqui:
C:\Users\<you>\Documents\SQL Server Management Studio\Backup Files\

Caso contrário, você precisará usar outra coisa daqui para frente para ajudá-lo a salvar seu histórico de consultas, como o SSMS Tools Pack, conforme mencionado na resposta de Ed Harper - embora não seja gratuito no SQL Server 2012+. Ou você pode configurar um rastreamento leve filtrado em seu login ou nome de host (mas use um rastreamento do lado do servidor, não o Profiler, para isso).

Como @Nenad-Zivkovic comentou, pode ser útil participar em sys.dm_exec_query_stats e faça o pedido até 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;