[Sou iniciante no programa T-SQL]
[..e espero estar no site de troca de pilhas certo]
Gostaria de obter uma lista de todas as consultas que executei (no mínimo, as que executei hoje desde a manhã). Preciso fazer um relatório sobre os tempos de execução das consultas.
A pesquisa on-line não me deu muitas informações úteis. A única consulta que encontrei on-line que parecia bem próxima é
SELECT
deqs.last_execution_time AS [Time],
dest.TEXT AS [Query]
FROM
sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY
deqs.last_execution_time DESC
Essa consulta retornou alguns resultados estranhos (a maioria dos quais eram vários sprocs). Além disso, todos esses resultados mostram consultas executadas desde a tarde de hoje (preciso de consultas da manhã).
Não encontrei nada nas perguntas anteriores (se uma pergunta semelhante já tiver sido feita, aponte-me para ela).
Vi algumas sugestões sobre o SQL Profiler, mas acho que o profiler só me ajudaria se eu já tivesse iniciado o rastreamento (corrija-me se estiver errado).
Alguém pode me sugerir como eu deveria obter uma lista de todas as consultas que foram executadas no banco de dados desde a manhã (incluindo os tempos de execução da consulta).
[Seria útil (não é um requisito) se eu também conseguisse, de alguma forma, obter o nome de usuário do usuário que executou a consulta]
fonte