locked
Scripts de Manutenção base sql RRS feed

  • Pergunta

  • Boa tarde,

    Gostaria de saber se toda base sql server deve ser executado os scripts (schedules) de update statistics, reindex, reorganize, etc... ou se isso é específico para bases de grande porte que tem muita transação?

    Obrigado,

    Ralph
    Ralph Nogueira Haddad
    segunda-feira, 1 de março de 2010 18:47

Respostas

  • Olá Ralph,

    Se há redundância, então vamos "normalizar" (rs).

    A escolha entre o Maintenance Plan ou o script é apenas uma questão de opção. O Maintenance Plan fará quase tudo enquanto que o script fará tudo, mas enquanto Maintenance Plan já tem tudo pronto, o script necessita codificação. Avaliar os prós e contras do ponto de visto de flexibilidade, manutenção, etc é a chave para optar por um ou por outro.

    O Rebuild e o Reorganize fazem as mesmas coisas só que de formas um pouco diferentes. Se há muito fragmentação, opte pelo Rebuild. Se há pouca fragmentação, o Reorganize é uma melhor opção (normalmente o limite é 30% para escolher entre um e outro). A atualização das estatísticas não é necessária se a opção update statistics estiver marcada nas tabelas (normalmente está). Você pode colocá-la por "precaução", mas não é indispensável.

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry
    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 2 de março de 2010 14:49

Todas as Respostas

  • Boa Tarde,

    Por padrão não há necessidade de atualizar as estatísticas como parte da manutenção, pois, o próprio SQL Server o faz (a menos que você tenha configurado para ele não fazer isso automaticamente).

    A questão do Reindex / Reorganize não é feita automaticamente e pode ser necessário agendar esse processo. Ele não é obrigatório e nem imprescindível se sua base for somente leitura por exemplo.

    A questão do porte não reflete se é necessário ou não, pois, normalmente quando há escrita é necessário sim fazer as tarefas de reindex / rebuild. A questão é que para bases pequenas você pode se dar ao luxo de não fazer ou de demorar mais tempo pra fazer ou de fazer quando quiser. Em bases de grande porte você não terá essas regalias. Você terá que planejar bem como e quando fazer.

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry
    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 1 de março de 2010 19:03
  • Bom dia Gustavo, Obrigado pela ajuda. Eu gostaria de saber se posso utilizar o management plan do sql para realizar estas atividades (reorganize/rebuild index, update statistics), se a própria ferramenta do sql serve para qualquer tipo de base ou se para cada tipo de base deve ser feito um script diferente ? Obrigado, Ralph Nogueira Haddad
    Ralph Nogueira Haddad
    terça-feira, 2 de março de 2010 12:00
  • Bom Dia Ralph,

    O Maintanence Plan já é um ótimo começo, mas o detalhe não é bem escolher entre o maintenance plan ou entre um script, mas sim verificar o comportamento de suas bases. Se elas tiverem o mesmo comportamento, atingirem taxas de fragmentação mais ou menos na mesmo hora e tiverem as mesmas janelas então um único maintenance plan ou script já atende. Se elas tiverem comportamentos completamente diferentes e o desempenho for afetado por fragmentação em momentos diferentes, você pode necessitar criar planos (ou) scripts separados.

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry
    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 2 de março de 2010 12:21
  • Bom dia Gustavo,

    Desculpe a redundância, minha dúvida é a seguinte, por mais diferentes que sejam as bases de dados, eu posso apenas utilizar a ferramenta do sql como o management plan para realizar essa manutenção?
    E quais managemente plan você recomenda que eu agende em uma base de dados qué há bastante processamento, normalmente me informaram que o rebuild index, reorganize index e update statistics são os normalmente utilizados, existe mais algum management plan que você recomenda ?

    Obrigado,

    Ralph
    Ralph Nogueira Haddad
    terça-feira, 2 de março de 2010 13:38
  • Olá Ralph,

    Se há redundância, então vamos "normalizar" (rs).

    A escolha entre o Maintenance Plan ou o script é apenas uma questão de opção. O Maintenance Plan fará quase tudo enquanto que o script fará tudo, mas enquanto Maintenance Plan já tem tudo pronto, o script necessita codificação. Avaliar os prós e contras do ponto de visto de flexibilidade, manutenção, etc é a chave para optar por um ou por outro.

    O Rebuild e o Reorganize fazem as mesmas coisas só que de formas um pouco diferentes. Se há muito fragmentação, opte pelo Rebuild. Se há pouca fragmentação, o Reorganize é uma melhor opção (normalmente o limite é 30% para escolher entre um e outro). A atualização das estatísticas não é necessária se a opção update statistics estiver marcada nas tabelas (normalmente está). Você pode colocá-la por "precaução", mas não é indispensável.

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry
    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 2 de março de 2010 14:49
  • Muito Obrigado Gustavo.

    Atenciosamente,

    Ralph Nogueira Haddad


    Ralph Nogueira Haddad
    terça-feira, 2 de março de 2010 17:04