Nesse primeiro post sobre SQL Server vou explicar como reduzir o log do SQL Server 2005 e 2008. No log contêm as instruções que foram executadas ultimamente no banco de dados. Para quem trabalha com recuperação em log pode preferir manter o log por algum período antes de fazer uma redução. Mas para outros bancos de dados que realizam inserções e atualizações constantes pode ficar inviável manter o log por grandes períodos devido a prover um crescimento exarcebado. Bem isso você pode ver melhor a depender da política de backup que você for utilizar. Considerando que o log para você não tem importância de mantê-lo por muito tempo e não quer mexer nas configurações no SQL Server, essa é uma boa dica de fazer a redução através de comandos SQL.
Pelo próprio SQL Server Management Studio você pode utilizar da função Shrink e fazer a redução do banco de dados e log. Muitas vezes a redução (vamos nos atentar ao do log) chega a ser pouca pois ele mantêm ainda algumas das instruções mais recentes. Mas para forçosamente realizar a redução execute a seguinte intrução:
SQL Server 2005
USE Banco_Dados
GO
BACKUP LOG Banco_Dados WITH TRUNCATE_ONLY
DBCC SHRINKFILE (Banco_Dados_log, 1)
SQL Server 2008
USE Banco_Dados;
GO
ALTER DATABASE Banco_Dados
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (Banco_Dados_Log, 1);
GO
ALTER DATABASE Banco_Dados
SET RECOVERY FULL;
GO
Ambos os procedimentos fazem com que o log seja reduzido a 1Mb. Nota-se que a instrução de redução é a mesma. A única diferença é que para realizar a trucamento, no 2005 é preciso informar que o backup de log será truncado explicitamente e no 2008 deve mudar o status para recuperação simples antes de truncá-lo. Se quiser realizar o truncamento automático de todos os bancos do servidor basta fazer um SELECT com cursor sobre todos os bancos pegando o name deles e executando o script acima. Mas isso deixarei para mostrar outro dia...
Reduzir Log SQL Server
Postado por
Thiago Marçal
on terça-feira, 27 de abril de 2010
/
Marcadores:
banco de dados,
log,
sql server
8 comentários:
Post muito bom!
Estava com problema em um Banco da minha empresa e executei o script para reduzir o tamanho do Log e tudo certo!
Obrigado!
Parabens;
Useu e relamente Funciona
Obrigado
Show de Bola! Muito obrigado!
FUNCIONOU PERFEITAMENTE, OBRIGADO!
Muito bom, deu certo, fiz na empresa que eu trabalho e deu tudo certo.
Excelente!!
Te AMO!!! auhsahushuahusauhsuhahusa
Otimo post, mas cuidado pois não é a melhor pratica em certos ambientes.
Se o arquivo de log esta crescendo muito, e mesmo com backup de log não esta resolvendo o problema, tente gerenciar o tamanho de suas transações.
Não execute deletes ou updates muito longo.Execute commit aos poucos, isso vai resolver seu problema.
Postar um comentário