none
Wait Types de uma query RRS feed

  • Pergunta

  • Boa tarde

     

    Gostaria de saber se há alguma maneira de se obetr todos os wait types e wait times de uma query?

    • Movido Gustavo Maia Aguiar terça-feira, 26 de julho de 2011 20:33 (De:SQL Server - Desenvolvimento Geral)
    terça-feira, 26 de julho de 2011 19:40

Respostas

  • Olá José,

    Analisar as esperas (eventos de Wait) do servidor para efetuar um tuning é sim um trabalho de muito alto nível e totalmente factível de ser feito. Uma vez que as DMVs acumulam essas esperas, você pode analisar as esperas mais frequentes e investigar suas causas (as DMVs são uma excelente fonte para esse trabalho). Entretanto, você irá encontrar os valroes em um nível mais global e não Query a Query. Ainda assim, as estatísticas de espera são uma fonte muito valiosa em um trabalho de tuning do servidor

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Jose Marcelo segunda-feira, 1 de agosto de 2011 18:37
    segunda-feira, 1 de agosto de 2011 04:57

Todas as Respostas

  • Jose,

     

    Eu utilizo a procedure SP_WHOISACTIVE, é muito boa e gratuita, e pode ser baixada aqui: http://sqlblog.com/files/default.aspx

    Em relação a explicação deles, um que utilizo de vez em quando, mas que infelizmente não esta completo é este link: http://sqlserverpedia.com/wiki/Wait_Types


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCTS SQL Server 2008
    Developer Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 26 de julho de 2011 19:43
    Moderador
  • outro link

    http://msdn.microsoft.com/pt-br/library/ms179984.aspx

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    terça-feira, 26 de julho de 2011 20:50
    Moderador
  • Bom dia

     

    Acho que não fui bem claro. Suponha que durante a execução de uma query, ocorram 2 waits, 1 de OLEDB e outro de WRITELOG por exemplo, o que eu preciso saber é se existe alguma maneira de ler quantos e quais foram os eventos de wait ocorridos durante a execução da Query.

     

    Obrigado

    quarta-feira, 27 de julho de 2011 10:09
  • Bom Dia,

    A menos que você esteja coletando a atividade da sua session_id com base nas DMVs eu não vejo como fazer isso. Desconheço também se o Extended Events tem essa possibilidade (o Profiler não tem). O Data Collector poderia ajudar, mas não trabalharia em um nível tão micro.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 27 de julho de 2011 13:18
  • Pelo que eu vi, usando Extends Events é possível capturar essas informações mas estão disponíveis apenmas à partir do SQL 2008. Será que usando o ETW seria possível capturar essas informações no SQL 2005?
    quinta-feira, 28 de julho de 2011 13:43
  • Boa Tarde,

    Infelizmente o ETW trabalha em um nível mais baixo e não há "tradução" do SQL Server 2005 para o ETW em nível de SPID para saber quais threads do SQL Server geraram quais entradas no ETW, além do que os logs do ETW são de Windows e não vão listar os Wait Types de SQL Server.

    Qual seria a necessidade de listar os Wait Types de uma consulta específica ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 28 de julho de 2011 18:15
  • Jose,

    Particularmente eu desconheço qualquer possibilidade de utilizar o ETW no SQL Server 2005 para obter este tipo de recurso. Tanto que o SQL Server Profiler, ferramenta específica para monitoramento em tempo real não consegui capturar este tipo de resultado.

    O Extended Events é um sistema específico para coleta de dados por parte do SQL Server e Windows, armazenando sua informações nos logs do sistema operacional, o que o deixa em um nível mais superior para coleta de informações com base nos resultados retornados pelos eventos que estão sendo executados no SQL Server, sem qualquer tipo de interação direta com o SO.

    A pergunta do Gustavo é importante, qual a sua necessidade em listar estes valores?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quinta-feira, 28 de julho de 2011 20:35
    Moderador
  • Bom dia

     

    A finalidade é fazer uma a análise detalhada dos eventos de wait que estão afetando as queries do banco pois pretendo usar esse método para o tunning dos meus servidores.

     

    Grato.

    sexta-feira, 29 de julho de 2011 10:28
  • José,

    Mas isso é muito relativo com o seu ambiente, algo que pode variar bastante de acordo com o uso do SQL Server.

    Talvez a sp_who2 ou sp_who3 poderia ser o caminho inicial. Como também a sys.sysprocesses.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 30 de julho de 2011 20:42
    Moderador
  • Olá José,

    Analisar as esperas (eventos de Wait) do servidor para efetuar um tuning é sim um trabalho de muito alto nível e totalmente factível de ser feito. Uma vez que as DMVs acumulam essas esperas, você pode analisar as esperas mais frequentes e investigar suas causas (as DMVs são uma excelente fonte para esse trabalho). Entretanto, você irá encontrar os valroes em um nível mais global e não Query a Query. Ainda assim, as estatísticas de espera são uma fonte muito valiosa em um trabalho de tuning do servidor

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Jose Marcelo segunda-feira, 1 de agosto de 2011 18:37
    segunda-feira, 1 de agosto de 2011 04:57