[Sou um programador T-SQL de nível iniciante]
[..e espero estar no site de troca de pilha certo]
Gostaria de obter uma lista de todas as consultas que executei (no mínimo, aquelas 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 rendeu muitas informações úteis. A única consulta que encontrei online 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
Esta consulta retornou alguns resultados estranhos (a maioria dos quais eram um monte de sprocs). Além disso, todos esses resultados mostram consultas executadas desde a tarde de hoje (preciso de consultas da manhã).
Não consegui encontrar nada nas perguntas anteriores (se uma pergunta semelhante já foi feita, por favor, indique-me).
Eu vi algumas sugestões sobre o SQL Profiler, mas acho que o profiler me ajudaria apenas se eu já tivesse iniciado o rastreamento (corrija-me se estiver errado).
Alguém pode me sugerir como devo proceder para obter uma lista de todas as consultas que foram executadas no banco de dados desde a manhã (incluindo os tempos de execução das consultas).
[Seria útil (não um requisito) se eu também pudesse de alguma forma obter o nome de usuário do usuário que executou a consulta]