codeDB
EntrarTestar 7 dias grátis
Erros

Erro 9002 no SQL Server: log de transação cheio

26 de agosto de 2026 · 5 min de leitura

Mensagem completa: "The transaction log for database 'X' is full due to 'ACTIVE_TRANSACTION'." — Msg 9002, Level 17. O motivo entre aspas no final muda (ACTIVE_TRANSACTION, LOG_BACKUP, REPLICATION, entre outros) e é a pista mais importante da mensagem — ele vem direto da coluna log_reuse_wait_desc de sys.databases.

O que aconteceu

O arquivo de log (.ldf) atingiu o espaço alocado e o SQL Server não consegue mais escrever novas entradas nele. Diferente do TempDB cheio, que afeta principalmente quem usa tabela temporária ou ordenação, log cheio trava TODAS as escritas do banco — incluindo o rollback de transações em andamento — até o espaço ser liberado.

Onde olhar primeiro

SELECT name, log_reuse_wait_desc, recovery_model_desc
FROM sys.databases
WHERE name = 'SeuBanco';

log_reuse_wait_desc diz exatamente por que o SQL Server não está reaproveitando o espaço já usado do log — não é preciso adivinhar.

Causas mais comuns (por log_reuse_wait_desc)

  • LOG_BACKUP — banco em recovery model FULL sem job de backup de log rodando. O log só é liberado depois de um backup do LOG, backup FULL sozinho não libera espaço.
  • ACTIVE_TRANSACTION — uma transação (mesmo pequena) ficou aberta tempo demais, segurando o reuso de tudo que foi escrito no log durante ela.
  • REPLICATION / AVAILABILITY_REPLICA — replicação, log shipping ou um secundário de Always On atrasado represam o log na origem até o destino processar.
  • Autogrowth do log desabilitado, ou disco sem espaço pro arquivo crescer quando precisa.
Não confunda com TempDB cheio — causas e prevenção são diferentes →

O codeDB monitora o tamanho do log e o log_reuse_wait_desc de cada banco continuamente, avisando antes do log encher — em vez de você descobrir quando a aplicação já parou de escrever.

Artigos relacionados

Quer ser avisado antes do log encher, não depois?

7 dias grátis para monitorar isso automaticamente no seu próprio ambiente.

Começar gratuitamente