Arquivo de log grande no SQL Server

Em ambientes de desenvolvimento, testes e implantação de sistemas é comum o banco de dados sofrer grandes alterações, importações de dados massivas, exclusões de grande porcentagem de dados e transações com milhares de operações que aumentam o arquivo de log do banco de dados consideravelmente.

Uma saída no SQL Server para estes ambientes que não precisam de backups, é utilizar bancos de dados no modo de recuperação simples (recovery model, simple), onde o arquivo de log do banco de dados (*.ldf) somente será utilizado para gerenciar as transações correntes (e operações de replicação), diminuindo bastante a necessidade de espaço no HD.

Então, nas propriedades do “bando” de dados, aba “Options”, temos a propriedade “Recovery Model”, onde alteramos para Simple e damos OK!

É só isso? Sim!

Mas se você possui um arquivo de log que já esta ocupando muito espaço em disco, não seria interessante diminuir um pouco ele? Então após aplicar o modo de recuperação simples, vá na aba “Files” altere o “Initial Size (MB)” para um valor que você considere adequado para seu banco de dados e dê OK!

Mas algumas vezes só alterar esta propriedade não ajuda muito…

Então, nas “Tasks”, temos a opção “Shrink”, “Files”:

Neste nova janela, escolha a propriedade “File type” “Log” e dê OK:

Pronto, agora você tem um banco de dados com log reduzido.

Obs.: Até mesmo em ambientes de desenvolvimento não recomendo realizar shrink de qualquer outro tipo de arquivo que não seja o de log, então somente utilize shrink em arquivos de dados se realmente for necessário (ex.: exclusão de tabelas gigantes), pois shrink em arquivos de dados pode afetar consideravelmente o desempenho do banco de dados, por fragmentar de índices e arquivos de dados, e também no caso do arquivo de log, gerar processamento desnecessário para alocar mais espaço em disco em futuras operações.

Anúncios

9 pensamentos sobre “Arquivo de log grande no SQL Server

  1. Bom dia,
    Gostei da sua explicação e gostaria de uma outra.
    Na minha empresa o LOG está com 75 gigas e preciso agir nesse arquivo, posso truncar o log e começar novamente?
    Quando alguém fala que se der problema o log retorna é em que sentido, prq no meu caso, eu fiz o processo em base de teste e logo após fiz o bkp e consegui restaurar normalmente, não consigo entender onde pode ocorrer algum problema, obrigado.

  2. Amigo, fiz todo o procedimento como você sugeriu, mas quando fiz um novo backup o tamanho continuou a crescer. Você tem alguma ideia do motivo?

    • Carlos, você pode manter o Recovery Model em Simple, assim o Log só usará o necessário para realizar as transações do seu ambiente.

      Outro motivo, pode ser alguma rotina de replicação configurada neste banco de dados.

    • Este procedimento só irá diminuir o arquivo de Log que guarda logs internos do database (*.LDF) (ex.: logs de transações realizadas, dados para replicação), assim não afetará o ‘Management -> SQL Server Logs’.

      O ‘Management -> SQL Server Logs’ tem seu próprio armazenado no SQL Server em:
      %Program-Files%\Microsoft SQL Server\MSSQL.1MSSQL\LOG\ERRORLOG

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s