Entendendo o Crescimento do Transaction Log no SQL Server


O crescimento excessivo do arquivo de Transaction Log (.ldf
) é uma das dúvidas mais comuns entre administradores de bancos de dados SQL Server. Em muitos casos, ele cresce de forma inesperada, comprometendo espaço em disco e causando lentidão.
Neste post, vamos esclarecer de forma direta:
Por que o Transaction Log cresce
Como identificar as causas do crescimento
Boas práticas para evitar problemas
🧠 O que é o Transaction Log?
O Transaction Log é um arquivo essencial que registra todas as operações de modificação no banco de dados. Ele garante a consistência das transações e é fundamental para recuperação em caso de falhas.
Ele é usado para:
Rollback de transações
Recuperação automática do banco após falhas
Backups de log (em FULL e BULK_LOGGED)
⚠️ Por que o Log Cresce?
O crescimento anormal do .ldf
ocorre, principalmente, por:
Falta de backup de log
- No Recovery model FULL, se você não faz backups do log, ele nunca é truncado.
Transações longas ou abertas
- Transações grandes mantêm o log ativo por muito tempo.
Operações de carga massiva ou manutenção
- Como
INSERT INTO
,UPDATE
,DELETE
,SELECT INTO
,INDEX REBUILD
, entre outras.
- Como
🔍 Como Monitorar o Espaço Usado no Log
Use a função DBCC SQLPERF
para visualizar o espaço de log utilizado:
DBCC SQLPERF(LOGSPACE)
Ela retorna:
Nome do banco
Tamanho total do log (MB)
Percentual de espaço usado
Status do log
🛠️ Como Liberar Espaço do Log
Dependendo do modelo de recuperação do seu banco:
1. Banco em FULL:
- Faça backup do log para liberar espaço:
BACKUP LOG NomeDoBanco TO DISK = 'C:\Backups\NomeDoBanco_Log.trn'
2. Banco em SIMPLE:
O log é truncado automaticamente, mas pode crescer se houver:
Transações longas
Transações em aberto
🧼 Evite usar SHRINKFILE
com frequência:
USE NomeDoBanco
DBCC SHRINKFILE(NomeDoLog_LDF, 100)
Use apenas em casos pontuais e nunca como rotina. Isso fragmenta o arquivo e prejudica a performance.
✅ Boas Práticas
Agende backups de log frequentes para bancos com Recovery Model FULL
Monitore transações longas (
sys.dm_tran_session_transactions
)Acompanhe o uso do log com
DBCC SQLPERF
ou via Performance MonitorEstabeleça tamanho inicial e incremento fixo para o arquivo
.ldf
(evite autogrowth com porcentagem)
Saber controlar o crescimento do Transaction Log é essencial para garantir um ambiente SQL Server estável, seguro e performático.
Fui, mas volto com mais SQL Server em breve!
✍️ Sobre o autor
O Prof. Landry é especialista em Microsoft SQL Server desde 1999, Microsoft Trainer, Professor Universitário e criador do canal SQL Server Expert no YouTube, com conteúdo técnico semanal para DBAs e profissionais de dados.
🚀 Quer aprender mais sobre SQL Server?
👉 Me acompanhe no LinkedIn e inscreva-se no canal para não perder nenhuma dica prática!
Subscribe to my newsletter
Read articles from SQL Server Expert directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

SQL Server Expert
SQL Server Expert
O Prof. Landry Duailibe é especialista em Microsoft SQL Server desde 1999, Microsoft Certified Trainer, professor universitário e criador do canal SQL Server Expert no YouTube, onde compartilha conteúdo técnico semanal para DBAs e profissionais de dados. Já ajudou milhares de alunos a evoluírem suas habilidades com SQL Server e conquistarem melhores oportunidades na área de dados.