none
Como verificar se o sql está criando fila de espera RRS feed

  • Pergunta

  • Pessoal,

    não sei muito bem se a forma como escrevi está correta, mas o que preciso saber é se o sql em algum momento está aguardando alguma coisa como locks ou falta de conexão disponível ( pool cheia ) , para iniciar uma consulta.

    Se alguem puder me informar como averiguar, serei muito grato.

    Obrigado

    terça-feira, 7 de maio de 2013 02:52

Respostas

  • Junior,

    como executar a query eu sei mas não entendi como vejo o que está em fila.

    Aquela query me mostra apenas o que está sendo executado e o estado atual.
    O que preciso saber é uma estatistica de quantas execuções estão aguardando em fila para poderem ser executadas, ao longo de um tempo.

    O servidor roda centenas de querys por segundo, se eu rodo isso nunca vou ter uma idéia geral para saber se as querys sempre estão aguardando algo antes de serem executadas ou se todas estão indo direto para execução, entende ?

    Fala Rafael.

    Considere montar um baseline para conhecer seu ambiente. Veja como monitorar os contadores do SQL Server aqui:

    http://sqldicas.com.br/dicas/perfmon-e-sql-server/

    http://sqlserverplanet.com/optimization/performance-counters

    Para saber se existem filas de espera no seu servidor vai ter que consultar diversas informações e combiná-las. Filas sempre existem, só não podem ser grandes ou demoradas.

    Procure saber sobre os "wait types".

    Abs!


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    quinta-feira, 9 de maio de 2013 04:00

Todas as Respostas

  • Rafael,

    Basicamente você poderá utilizar o comando sp_who ou sp_who2, como também, a sysprocesses.

    Em relação ao lock através da sp_lock, você poderá ver se existe alguma coisa em lock ou select * from sys.dm_tran_locks


    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]

    terça-feira, 7 de maio de 2013 17:52
    Moderador
  • Junior, desculpe mas poderia ser mais claro sobre onde eu devo olhar para saber se existem conexões na fila para qualquer coisa.. 

    o que quero saber é se tudo esta rodando bem ou se tem alguma consulta aguardando o sql concluir qualquer coisa, para poder iniciar, entende ?

    terça-feira, 7 de maio de 2013 18:32
  • Rafael,

    Através do Management Studio fazendo uso de uma query, você poderá rodar os comandos que eu apresentei acima, ou atráves também da ferramenta Activity Monitor.


    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]

    terça-feira, 7 de maio de 2013 18:49
    Moderador
  • Junior,

    como executar a query eu sei mas não entendi como vejo o que está em fila.

    Aquela query me mostra apenas o que está sendo executado e o estado atual.
    O que preciso saber é uma estatistica de quantas execuções estão aguardando em fila para poderem ser executadas, ao longo de um tempo.

    O servidor roda centenas de querys por segundo, se eu rodo isso nunca vou ter uma idéia geral para saber se as querys sempre estão aguardando algo antes de serem executadas ou se todas estão indo direto para execução, entende ?

    terça-feira, 7 de maio de 2013 19:23
  • Junior,

    como executar a query eu sei mas não entendi como vejo o que está em fila.

    Aquela query me mostra apenas o que está sendo executado e o estado atual.
    O que preciso saber é uma estatistica de quantas execuções estão aguardando em fila para poderem ser executadas, ao longo de um tempo.

    O servidor roda centenas de querys por segundo, se eu rodo isso nunca vou ter uma idéia geral para saber se as querys sempre estão aguardando algo antes de serem executadas ou se todas estão indo direto para execução, entende ?

    Fala Rafael.

    Considere montar um baseline para conhecer seu ambiente. Veja como monitorar os contadores do SQL Server aqui:

    http://sqldicas.com.br/dicas/perfmon-e-sql-server/

    http://sqlserverplanet.com/optimization/performance-counters

    Para saber se existem filas de espera no seu servidor vai ter que consultar diversas informações e combiná-las. Filas sempre existem, só não podem ser grandes ou demoradas.

    Procure saber sobre os "wait types".

    Abs!


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    quinta-feira, 9 de maio de 2013 04:00