AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 35703
Accepted
Prashanth Tilleti
Prashanth Tilleti
Asked: 2013-03-01 12:53:08 +0800 CST2013-03-01 12:53:08 +0800 CST 2013-03-01 12:53:08 +0800 CST

Encontre todas as consultas executadas recentemente em um banco de dados

  • 772

[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]

sql-server sql-server-2008-r2
  • 1 1 respostas
  • 139903 Views

1 respostas

  • Voted
  1. Best Answer
    Thomas Stringer
    2013-03-01T12:59:04+08:002013-03-01T12:59:04+08:00

    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ã).

    Isso ocorre porque você está procurando no cache de procedimento e os planos que foram usados ​​para a manhã podem não estar mais lá (devido à pressão da memória, reinicialização do servidor/instância, limpeza manual do cache do proc etc.).

    A maneira real de executar as consultas em uma instância (ou, mais especificamente, em um banco de dados) seria criar uma sessão SQL Trace ou Extended Events. Devidamente criado, qualquer um deles fornecerá a informação que você está procurando.

    Se você estiver procurando por estatísticas de execução desta manhã e somente esta manhã (ou seja, configurar as implementações de monitoramento mencionadas como uma tarefa proativa e a fazer na próxima vez não é suficiente), então, a menos que isso já tenha sido criado, não haverá maneira nativa de obter essas informações.

    Para referência futura, comece com um SQL Trace que capture o evento SQL:StmtCompleted . Em XE seria o sql_statement_completedevento.

    Na minha opinião, em vez de continuar sua busca por restos de estatísticas de execução de consulta, eu começaria a gastar tempo para descobrir como reexecutar a carga de trabalho que você está tentando medir. Mas desta vez antes disso, configure o rastreamento/monitoramento adequado.

    • 12

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve