Diminuir arquivo de Transaction-log (LDF) do SQL Server nas versões 2000 e 2005
Vamos entender seu problema primeiramente. Se o arquivo de Transaction Log está crescendo provavelmente você ativou o Recovery Full (padrão, quando você cria um novo database no SQL Server) e não está fazendo seus backups incrementais.
Se você quiser alterar seu banco para não gerar mais esses logs, você pode entrar em propriedades no database, selecionar a opção Options e mudar no combo recovery para a opção Simple. Outra possibilidade, e a mais correta em ambientes de produção seria a implementação dos backups incrementais.
IMAGEM:1a.jpg
Ao conectar no banco de dados, execute o comando abaixo, trocando o <DATABASE> pelo nome do banco de dados que você quer.
1 – Eliminando o log
USE
<DATABASE>
<DATABASE>
BACKUP
LOG
<DATABASE>
with truncate_only
2- Diminuindo o arquivo físicoLOG
<DATABASE>
with truncate_only
Ao executar o comando abaixo pegue o nome do arquivo de log e troque no comando a seguir:
Para fazer isso execute o comando a procedure SP_helfile pegando a coluna name, lembre-se que todo banco tem 2 arquivos 1 de dados e outro de log, para isso olhe na coluna usage, se é Log mesmo.
IMAGEM:1b.jpg
DBCC Shrinkfile(<ARQUIVO_LOG>,1)
Ele vai fazer com que seu arquivo físico fique com 1Mb, esse numero poderá ser alterado conforme a necessidade do tamanho inicial do log.Veja o exemplo abaixo com o meu banco "Auditoria":
use auditoria
backup
log auditoria with truncate_only
log auditoria with truncate_only
dbcc shrinkfile('Auditoria_log',1)
Esse arquivo poderá crescer novamente, portanto você poderá incluir no backup full o comando "Backup log <DATABASE> with truncate_only" pois em caso de perda você poderá usar o seu backup full para restore, e como resultado seu arquivo de log só ira crescer o suficiente do dia.
Comentários
Postar um comentário