locked
Como saber se o banco está com lentidão RRS feed

  • Pergunta

  • Bom dia Pessoal !!!

    Estou numa empresa e sou novo na area de banco tanto que estou fazendo o primeiro curso de SQL SERVER 2778, gostaria de saber como faço para saber se a lentidão e do banco ou da rede, existe algum codigo de retorno de consulta (referente o tempo em leva a consulta), alguma ferramenta do SQL SERVER 2005 para saber se o banco está com lentidão, essas coisas ou me da o caminho das pedras

    Fico No Aguardo Abraços !!!

     

    • Movido Gustavo Maia Aguiar quarta-feira, 6 de julho de 2011 13:52 (De:SQL Server - Desenvolvimento Geral)
    quarta-feira, 6 de julho de 2011 13:24

Respostas

  • Bom Dia,

    Diagnosticar e tratar problemas de desempenho correspondem a assuntos tão vastos que não conseguiríamos tratar em um único post. Existem várias variáveis a se considerar e milhares de motivos que um banco (ou uma solução) pode apresentar lentidão. Tradicionalmente a rede tem menos incidentes de lentidão do que o banco, pois, é um "Commodity" além do que as aplicações normalmente não codificam como transmitir via rede, mas sim as consultas dentro da base.

    Sugiro começar a pesquisar sobre DMVs, Profiler, Index Tuning Advisor, Active Monitor, etc.
    Adicionalmente, tente pesquisar problemas de lentidão nos posts anteriores desse fórum, para ver que problemas aconteceram e que soluções foram apresentadas. Irá acrescentar bastante.

    Quando terminar o curso 2778, procure os cursos 6231 e 6232. Poderão ajudar muito no seu objetivo.

    [ ]s,

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


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 6 de julho de 2011 13:48
  • Bom Dia Gilson,

    As DMVs e o Performance & Reability Monitor podem lhe dar essa informação. Ainda assim, saber o consumo de memória é uma informação que sozinha não tem nenhum valor. Um banco pode consumir pouca memória porque há pouco trabalho e ainda assim ter um baixo tempo de resposta porque suas consultas são ineficientes. Um banco pode consumir toda a memória do servidor colocando muitos objetos em memória e apresentar um desempenho notável. Podemos ainda ter situações em que o subsistema de disco está lento e com isso a memória tem de trabalhar mais. O diagnóstico será problema de memória, mas ao investigar a causa raiz podemos descobrir que não era a memória o real problema.

    Se um banco consome pouca ou muita memória não se pode afirmar absolutamente nada sobre o seu desempenho. É necessário combinar essa informação com outras para diagnosticar algo mais preciso. Como pode ver é preciso analisar muitos itens para diagnosticar de forma completa um problema de lentidão.

    Via DMVs você pode efetuar o seguinte SELECT (2008 somente).

    select * from sys.dm_os_sys_memory
    


    No SQL Server 2005, você pode consultar o system monitor procurando pelo contador SQL Server: Memory Manager - Total Server Memory

    [ ]s,

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


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 6 de julho de 2011 14:43

Todas as Respostas

  • Bom Dia,

    Diagnosticar e tratar problemas de desempenho correspondem a assuntos tão vastos que não conseguiríamos tratar em um único post. Existem várias variáveis a se considerar e milhares de motivos que um banco (ou uma solução) pode apresentar lentidão. Tradicionalmente a rede tem menos incidentes de lentidão do que o banco, pois, é um "Commodity" além do que as aplicações normalmente não codificam como transmitir via rede, mas sim as consultas dentro da base.

    Sugiro começar a pesquisar sobre DMVs, Profiler, Index Tuning Advisor, Active Monitor, etc.
    Adicionalmente, tente pesquisar problemas de lentidão nos posts anteriores desse fórum, para ver que problemas aconteceram e que soluções foram apresentadas. Irá acrescentar bastante.

    Quando terminar o curso 2778, procure os cursos 6231 e 6232. Poderão ajudar muito no seu objetivo.

    [ ]s,

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


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 6 de julho de 2011 13:48
  • Bom dia Gustavo !!!

    Obrigado por responder, vou fazer esses outros cursos sim, vou da uma olhada nas outras consultas, mas de bate pronto eu consigo saber o quanto o banco está consumindo em memória do servidor nessas ferramentas. 

    DMVs, Profiler,  Active Monitor

    Fico no Aguardo

     


    quarta-feira, 6 de julho de 2011 14:20
  • Bom Dia Gilson,

    As DMVs e o Performance & Reability Monitor podem lhe dar essa informação. Ainda assim, saber o consumo de memória é uma informação que sozinha não tem nenhum valor. Um banco pode consumir pouca memória porque há pouco trabalho e ainda assim ter um baixo tempo de resposta porque suas consultas são ineficientes. Um banco pode consumir toda a memória do servidor colocando muitos objetos em memória e apresentar um desempenho notável. Podemos ainda ter situações em que o subsistema de disco está lento e com isso a memória tem de trabalhar mais. O diagnóstico será problema de memória, mas ao investigar a causa raiz podemos descobrir que não era a memória o real problema.

    Se um banco consome pouca ou muita memória não se pode afirmar absolutamente nada sobre o seu desempenho. É necessário combinar essa informação com outras para diagnosticar algo mais preciso. Como pode ver é preciso analisar muitos itens para diagnosticar de forma completa um problema de lentidão.

    Via DMVs você pode efetuar o seguinte SELECT (2008 somente).

    select * from sys.dm_os_sys_memory
    


    No SQL Server 2005, você pode consultar o system monitor procurando pelo contador SQL Server: Memory Manager - Total Server Memory

    [ ]s,

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


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 6 de julho de 2011 14:43
  • Valeu Gustavo

    quarta-feira, 6 de julho de 2011 14:49