none
Definir consumo de processo. RRS feed

  • Pergunta

  • Olá a todos,

    por gentileza, alguém pode me esclarecer uma dúvida??? No SQL Server 2005 Standard, eu consigo definir o consumo de memória, processador, etc para um processo??? Por exemplo, eu tenho vários SELECTs rodando em uma base, para um desses SELECTs (processo) eu quero definir que ele consuma menos recurso do que os demais. Há uma forma de fazer isso???

    []´s

    Paulo Henrique.

    terça-feira, 14 de abril de 2009 19:10

Respostas

  • Caro,

     Acredito que no SQL Server 2005 não.  NO 2008, vc conseguiria fazer isso, usando o Resource Governor.

    Abraços
    Gilberto Neto
    Gilberto Neto Blog: http://gilberto-neto.spaces.live.com/default.aspx
    • Marcado como Resposta phscuritiba quarta-feira, 15 de abril de 2009 11:27
    terça-feira, 14 de abril de 2009 19:17
  • Boa Tarde,

    No SQL Server 2005 é possível utilizar um limite de tempo para todos os processos de forma que se algum ultrapassar esse limite ele é cancelado (Query Cost Governor). Infelizmente no 2005 não é possível individualizar o consumo por processo (a menos que você use ferramentas de terceiros). Outra alternativa é separar bases com comportamentos diferentes em instâncias diferentes.

    No SQL Server 2008 essa segmentação de recursos por processo (Resource Governor). Embora seja um excelente recurso para definir alocações de recursos por usuários, grupos, etc ainda não está 100%, pois, a segmentação é restrita a processador e memória. Acredito que nas versões futuras teremos outras segmentações como utilização de TempDB, número máximo de consultas ou de linhas retornadas, etc (isso já está presente em alguns concorrentes).

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!532.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Alex Rosa terça-feira, 14 de abril de 2009 22:43
    • Marcado como Resposta phscuritiba quarta-feira, 15 de abril de 2009 11:27
    terça-feira, 14 de abril de 2009 19:34
  • Olá Gilberto,

    Sim, você está correto. É o segundo caso.

    O SQL Server não irá tentar até o último segundo para cancelar a consulta. Ele estima o custo e já decide cancelar ou não.
    Isso é benéfico, pois, evita os custos de execução (potencialmentei inúteis se o tempo for atingido). Em contra partida, um erro de estimativa pode cancelar algumas consultas que potencialmente estariam dentro da margem permitida.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!532.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta phscuritiba quarta-feira, 15 de abril de 2009 11:27
    terça-feira, 14 de abril de 2009 20:00

Todas as Respostas

  • Caro,

     Acredito que no SQL Server 2005 não.  NO 2008, vc conseguiria fazer isso, usando o Resource Governor.

    Abraços
    Gilberto Neto
    Gilberto Neto Blog: http://gilberto-neto.spaces.live.com/default.aspx
    • Marcado como Resposta phscuritiba quarta-feira, 15 de abril de 2009 11:27
    terça-feira, 14 de abril de 2009 19:17
  • Boa Tarde,

    No SQL Server 2005 é possível utilizar um limite de tempo para todos os processos de forma que se algum ultrapassar esse limite ele é cancelado (Query Cost Governor). Infelizmente no 2005 não é possível individualizar o consumo por processo (a menos que você use ferramentas de terceiros). Outra alternativa é separar bases com comportamentos diferentes em instâncias diferentes.

    No SQL Server 2008 essa segmentação de recursos por processo (Resource Governor). Embora seja um excelente recurso para definir alocações de recursos por usuários, grupos, etc ainda não está 100%, pois, a segmentação é restrita a processador e memória. Acredito que nas versões futuras teremos outras segmentações como utilização de TempDB, número máximo de consultas ou de linhas retornadas, etc (isso já está presente em alguns concorrentes).

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!532.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Alex Rosa terça-feira, 14 de abril de 2009 22:43
    • Marcado como Resposta phscuritiba quarta-feira, 15 de abril de 2009 11:27
    terça-feira, 14 de abril de 2009 19:34
  • Gustavo,

     Já tenho essa dúvida.  Você se refere que o query cost governor, irá cancelar.  Mas tipo, essa é uma dúvida: Ele cancelará a query em execução ou não permitirá que uma query com um custo estimado de execução tal, não permitirá.  Eu acredito que seja o segundo caso.

    Abraços
    Gilberto Neto


    Gilberto Neto Blog: http://gilberto-neto.spaces.live.com/default.aspx
    terça-feira, 14 de abril de 2009 19:42
  • Olá Gilberto,

    Sim, você está correto. É o segundo caso.

    O SQL Server não irá tentar até o último segundo para cancelar a consulta. Ele estima o custo e já decide cancelar ou não.
    Isso é benéfico, pois, evita os custos de execução (potencialmentei inúteis se o tempo for atingido). Em contra partida, um erro de estimativa pode cancelar algumas consultas que potencialmente estariam dentro da margem permitida.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!532.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta phscuritiba quarta-feira, 15 de abril de 2009 11:27
    terça-feira, 14 de abril de 2009 20:00
  • É, eu sei... quis apenas complementar pra sanar qualquer dúvida do usuário. :)

    Abraços
    Gilberto Neto


    Gilberto Neto Blog: http://gilberto-neto.spaces.live.com/default.aspx
    quarta-feira, 15 de abril de 2009 11:14
  • Muito obrigado pelo esclarecimento Gilberto e Gustavo.

    []´s

    Paulo Henrique.

    quarta-feira, 15 de abril de 2009 11:27