none
Banco de Dados em Recovery Model Simple continua crescendo o arquivo Log RRS feed

  • Pergunta

  • Prezados,

     

           Tenho um banco de dados que está em Recovery Model "Simple" realizei o Shrink, o arquivo LDF reduz, porém após alguns dias aumenta consideravelmente comparado a outros que tenho, exemplo o Banco possui 30GB ( MDF ) o LDF sai de 10MB para 5GB em 1 semana, tenho outro banco com 20GB que pra chegar em 500mb demora mais de 2 meses. Normal isto ?

    Grato

    Cláudio Bruno


    Bruno Avanso

    quarta-feira, 17 de julho de 2013 21:14

Respostas

  • Bruno,

    Sim, pode ser normal, o banco de dados em modo simple não quer dizer que o arquivo de log nunca irá crescer e sim que os VLF (Virtual Log Files) serão reutilizados de forma ciclica, porem para isso será necessario o atingimento de um tamanho suficiente para o log de todas as transações do banco de dados. Lembre-se que tamanho das transações não está nada relacionado com o tamanho da base de dados, um update por exemplo não aumenta o tamanho da base de dados mas gera informação no arquivo de log fazendo com que ele cresca. Caso seu arquivo de log chegue a 5GB em 1 semana e estabilize, não há problema nenhum.

    Outra coisa que pode estar acontecendo para o arquivo de log de uma base em modo simple crescer é a base de dados conter uma transação aberta fazendo com que seja impossivel o posicionamento corretos dos 3 cursores interno do arquivo de log não gerando a liberação dos VLF e consequentemente sua reutilização, neste caso faça uma busca na procedure sp_who ou sp_who2 e veja por transações antigas abertas.


    <b>Fabrizzio A. Caputo</b><br/> Certificações:<br/> MCT<br/> MCC<br/> Oracle OCA 11g<br/> MCITP SQL Server 2008 BI<br/> MCITP SQL Server 2008 Implementation and Maintenance<br/> MCITP SQL Server 2008 Developer<br/> ITIL V3 Foundation <br/> Blog Pessoal: <a href="http://fabrizziocaputo.wordpress.com">www.fabrizziocaputo.wordpress.com</a><br/> Email: fabrizzio.antoniaci@gmail.com

    quinta-feira, 18 de julho de 2013 12:33
    Moderador

Todas as Respostas

  • Bruno, como esta configurado o crescimento do seu arquivo de log ? Existe a opção de limitar este crescimento a um determinado limite que voce pode definir.

    Comparando estas 2 bases que voce citou, a quantidade de transações e volume de dados na que aumenta mais é muito maior do que na outra ?


    Alexandre Matayosi Conde Mauricio.

    quarta-feira, 17 de julho de 2013 21:36
  • Bruno,

    Sim, pode ser normal, o banco de dados em modo simple não quer dizer que o arquivo de log nunca irá crescer e sim que os VLF (Virtual Log Files) serão reutilizados de forma ciclica, porem para isso será necessario o atingimento de um tamanho suficiente para o log de todas as transações do banco de dados. Lembre-se que tamanho das transações não está nada relacionado com o tamanho da base de dados, um update por exemplo não aumenta o tamanho da base de dados mas gera informação no arquivo de log fazendo com que ele cresca. Caso seu arquivo de log chegue a 5GB em 1 semana e estabilize, não há problema nenhum.

    Outra coisa que pode estar acontecendo para o arquivo de log de uma base em modo simple crescer é a base de dados conter uma transação aberta fazendo com que seja impossivel o posicionamento corretos dos 3 cursores interno do arquivo de log não gerando a liberação dos VLF e consequentemente sua reutilização, neste caso faça uma busca na procedure sp_who ou sp_who2 e veja por transações antigas abertas.


    <b>Fabrizzio A. Caputo</b><br/> Certificações:<br/> MCT<br/> MCC<br/> Oracle OCA 11g<br/> MCITP SQL Server 2008 BI<br/> MCITP SQL Server 2008 Implementation and Maintenance<br/> MCITP SQL Server 2008 Developer<br/> ITIL V3 Foundation <br/> Blog Pessoal: <a href="http://fabrizziocaputo.wordpress.com">www.fabrizziocaputo.wordpress.com</a><br/> Email: fabrizzio.antoniaci@gmail.com

    quinta-feira, 18 de julho de 2013 12:33
    Moderador
  • Bruno,

    Posso dizer com tranquilidade que isso acontece em alguns casos, mas todo e qualquer processo de Insert ou Select não gera este crescimento, normalmente comandos como Update e Delete uma movimentação nas estruturas de dados acabam fazendo o Log crescer até um certo ponto.

    Faça um teste, crie um novo banco de dados, com limite de crescimento até 5Gbs para os arquivos de dados e log, defina o modelo de Recuperação para Simple, adicione uma simples table com duas colunas, faça uma série de Insert e depois Updates e Deletes, você vai acompanhando o arquivo de log.

    Observe que somente quando os Update e Delete são processados que o log aumento, mesmo com o banco em Simple Model.

     


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 18 de julho de 2013 19:00
    Moderador