none
Arquivo de log grande demais. RRS feed

  • Pergunta

  • Tenho uma base de dados com cerca de 300MB e um arquivo de log com quase 30GB! Não posso ficar com esse arquyivo desse tamanho; o que eu posso fazer para diminuí-lo?
    André Corrêa
    • Movido Gustavo Maia Aguiar segunda-feira, 14 de junho de 2010 19:43 (De:SQL Server - Desenvolvimento Geral)
    segunda-feira, 14 de junho de 2010 14:18

Todas as Respostas

  • Alter Database dbTeste set recovery simple
    
    DBCC ShrinkFile (<Nome do LOG>, 2000, TruncateOnly)
    
    Alter Database dbTeste set recovery Full

    Andre

    vc pode fazer um shirink

     Este assunto é recorrente no forum, faça uma pesquisa aqui no forum... pesquise sobre o "truncateonly", o gustavo maia tem otimos textos sobre o assunto

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    segunda-feira, 14 de junho de 2010 14:45
    Moderador
  • Olá André, como vai?

    Cara, é o seguinte. Seu banco está crescendo e você tem que olhar as configurações dele. Por exemplo, se você tem importações muito grandes que faz diariamente no seu databases, pode ser esse o problema dele está crescendo o log rapidamente assim. Com isso a configuração do seu recovery model deve está setado como  FULL e não deve está fazendo backup do banco diariamente, correto?

    Primeiro, execute os comandos que o Marcelão comentou e depois check as configurações do seu banco de dados.

    Lá nas propriedades do banco de dados, na opção option, há o recovery model, verifique se ele está como full, simple ou bulk-insert. Depois de uma olhada se está fazendo backup dos databases certo.

    Abraço 


    Clayton Santos
    clayton1745@gmail.com
    http://clayton1745.spaces.live.com
    http://www.blogdoclayton.blog.com.es
    segunda-feira, 14 de junho de 2010 18:26
  • André,

    Me responda uma coisa, você necessita armazenar o Log do seu banco de dados?

    Caso sua resposta seja Não, então é o caso de alterar o modelo de recuperação do seu banco(Recovery Model) para Simples, sendo assim, todas as vezes que você realiza um backup do seu banco o log de transações e zerado, com isso, você não terá um arquivo de log tão grande.

    Esse seria o procedimento mais indicado, pois trabalhar com o DBCC ShrinkFile pode representar em algumas situações possíveis perdas de dados.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    segunda-feira, 14 de junho de 2010 22:52
    Moderador
  • Bom Dia,

    Ao meu ver, truncar o log ou mudá-lo para SIMPLE é trocar um pequeno problema hoje por um grande problema amanhã o que significa que essa não é a melhor solução na maioria dos casos (principalmente aqueles em que não se tem a idéia exata das consequências desses comandos).

    O TRUNCATE, ou melhor, o ALTER para RECOVERY SIMPLE irá resolver o seu problema e o log irá diminuir. O problema é que ao fazer isso você está atestando o descarte do log e isso o impedirá futuramente de efetuar restores point in time (o que pode ser requerido futuramente). Essa é a parte que normalmente "não te contam". Você simplesmente irá descobrir na pior hora possível, ou seja, a hora que você precisar dos logs e não tiver.

    Sugiro a leitura dos links abaixo:

    Piores Práticas – Utilizar o comando BACKUP LOG com a opção WITH TRUNCATE ONLY - Parte I
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!670.entry

    Piores Práticas – Utilizar o comando BACKUP LOG com a opção WITH TRUNCATE ONLY - Parte II
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!671.entry

    [ ]s,

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

    Simulado para o Exame 70-433 - MCTS: Microsoft SQL Server 2008 - Database Development – Parte 03
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1077.entry


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 15 de junho de 2010 15:32