none
Dúvida em "Recovery Model" RRS feed

  • Pergunta

  • Bom dia amigos...
    Não sou DBA, apenas um programador que faz uns selects no SQL, por isso desculpe pela simplicidade da pergunta.
    Temos aqui na empresa o ERP da Totvs rodando no SQL 2008. Verifiquei que o arquivo mdf está com 1gb e o ldf com 9gb.
    Lendo alguns artigos na Web vi que isso ocorre devido a opção "Recovery Model" do banco estar como "Full".
    Minha dúvida é o seguinte, é aconselhável eu trocar para "Simple"? Aqui temos 2 bkps diários FULL. O que aconselham, fazer um diário e de log mais vezes por dia? Se eu trocar para "Simple" num banco em produção vai impactar em algo?
    Agradeço pela atenção.
    Abs.
    • Movido Gustavo Maia Aguiar quinta-feira, 21 de julho de 2011 17:19 (De:SQL Server - Desenvolvimento Geral)
    quinta-feira, 21 de julho de 2011 15:37

Respostas

  • Fabiano,

     

    Não havera impacto e essa operação pode ser feita online.

    Veja meu blog, escrevi um texto que ao meu ver ficou bem interessante sobre Recovery Models: http://fabrizziocaputo.wordpress.com/2011/07/14/sql-server-basico-1-recovery-models/


    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
    • Marcado como Resposta Fabiano Nalin quinta-feira, 21 de julho de 2011 18:28
    quinta-feira, 21 de julho de 2011 15:40
    Moderador
  • FAbiano,

           O problema é que o recovery model determina o quanto vocë pode recuperar de informações no caso de uma falha na base de dados. O Backup FULL deveria resolver o seu problema diariamente, mas, pelo que posso notar é que em algum momento vocës tiveram uma grande importação de dados que ele cresceu tanto assim.

          Por uma questão de segurança, vocë pode reduzir o tamanho do seu log (shrink) e depois disso, verifique se os seus backups estao rodando diariamente.

          Respondendo a sua pergunta: é aconselhavel trocar para "Simple"? a resposta é: "Depende". O que vocë precisa levar em consideração é o quanto vocë pode perder do seu banco de dados. Se voce colocar ele em SIMPLE e perder a base durante o dia, vocë poderá recuperar apenas do seu ultimo backup da última noite. Se vocë tem o recovery model como FULL vocé poderá recuperar até a última transação inserida na base antes da falha da base.

          Espero ter ajudado.

     


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
    quinta-feira, 21 de julho de 2011 15:45
    Moderador
  • Bom Dia Fabiano,

    Há vários posts nos fóruns sobre esse assunto (extensivamente debatido aqui). Você poderá encontrar muitas informações interessantes já que um mesmo assunto discutido em muitas threads será mais rico do que a mesma dúvida em uma única thread.

    A troca do Recovery Model é escolher entre um benefício e se você quer ou não pagar por ele. Se você optar pelo Recovery Model Simple, provavelmente seu log nunca mais irá encher a ponto de incomodá-lo, mas no momento de uma falha você só restaura backups full e diferenciais. Isso significa que se você tem um backup de 9h por exemplo e um diferencial de 11h poderá restaurar ou 9h ou 11h, mas nunca 10h ou ainda 10:30:21.947, ou seja, não será possível restaurar em nenhum momento diferente de um backup. Se você optar pelo Recovery Model Full, poderá restaurar a base em qualquer momento passado (mesmo que às 10:30:21.947 não tenha um backup, o backup de log copia todas as transações e permitirá que você pare em um momento específico). Entretanto, tenha em mente que o log irá crescer e será necessário backupeá-lo.

    O que você deseja ? Menos trabalho ou mais possibilidades na hora de restaurar ? A resposta a essa pergunta vai determinar qual Recovery Model escolher.

    [ ]s,

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


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Fabiano Nalin quinta-feira, 21 de julho de 2011 18:28
    quinta-feira, 21 de julho de 2011 17:18

Todas as Respostas

  • Fabiano,

     

    Não havera impacto e essa operação pode ser feita online.

    Veja meu blog, escrevi um texto que ao meu ver ficou bem interessante sobre Recovery Models: http://fabrizziocaputo.wordpress.com/2011/07/14/sql-server-basico-1-recovery-models/


    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
    • Marcado como Resposta Fabiano Nalin quinta-feira, 21 de julho de 2011 18:28
    quinta-feira, 21 de julho de 2011 15:40
    Moderador
  • FAbiano,

           O problema é que o recovery model determina o quanto vocë pode recuperar de informações no caso de uma falha na base de dados. O Backup FULL deveria resolver o seu problema diariamente, mas, pelo que posso notar é que em algum momento vocës tiveram uma grande importação de dados que ele cresceu tanto assim.

          Por uma questão de segurança, vocë pode reduzir o tamanho do seu log (shrink) e depois disso, verifique se os seus backups estao rodando diariamente.

          Respondendo a sua pergunta: é aconselhavel trocar para "Simple"? a resposta é: "Depende". O que vocë precisa levar em consideração é o quanto vocë pode perder do seu banco de dados. Se voce colocar ele em SIMPLE e perder a base durante o dia, vocë poderá recuperar apenas do seu ultimo backup da última noite. Se vocë tem o recovery model como FULL vocé poderá recuperar até a última transação inserida na base antes da falha da base.

          Espero ter ajudado.

     


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
    quinta-feira, 21 de julho de 2011 15:45
    Moderador
  • Bom Dia Fabiano,

    Há vários posts nos fóruns sobre esse assunto (extensivamente debatido aqui). Você poderá encontrar muitas informações interessantes já que um mesmo assunto discutido em muitas threads será mais rico do que a mesma dúvida em uma única thread.

    A troca do Recovery Model é escolher entre um benefício e se você quer ou não pagar por ele. Se você optar pelo Recovery Model Simple, provavelmente seu log nunca mais irá encher a ponto de incomodá-lo, mas no momento de uma falha você só restaura backups full e diferenciais. Isso significa que se você tem um backup de 9h por exemplo e um diferencial de 11h poderá restaurar ou 9h ou 11h, mas nunca 10h ou ainda 10:30:21.947, ou seja, não será possível restaurar em nenhum momento diferente de um backup. Se você optar pelo Recovery Model Full, poderá restaurar a base em qualquer momento passado (mesmo que às 10:30:21.947 não tenha um backup, o backup de log copia todas as transações e permitirá que você pare em um momento específico). Entretanto, tenha em mente que o log irá crescer e será necessário backupeá-lo.

    O que você deseja ? Menos trabalho ou mais possibilidades na hora de restaurar ? A resposta a essa pergunta vai determinar qual Recovery Model escolher.

    [ ]s,

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


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Fabiano Nalin quinta-feira, 21 de julho de 2011 18:28
    quinta-feira, 21 de julho de 2011 17:18