9002: The transaction log for database is full due to ...
SQL ServerO que significa?
O arquivo de transaction log do banco de dados está cheio e novas transações não podem ser registradas. O banco de dados rejeita gravações e pode se comportar como se fosse somente leitura.
Por que acontece?
Ausência de backups de log no recovery model FULL, uma transação aberta há muito tempo, lag de replicação/AlwaysOn, ou o log incapaz de crescer (autogrow desabilitado ou disco cheio). log_reuse_wait_desc mostra o motivo.
Como resolver
Verifique log_reuse_wait_desc em sys.databases. Se for LOG_BACKUP no modelo FULL, faça um backup de log (BACKUP LOG). Se for ACTIVE_TRANSACTION, encontre a transação aberta e faça commit/rollback dela (DBCC OPENTRAN). Libere espaço em disco ou corrija a configuração de autogrow do arquivo de log. Se o log realmente cresceu, reduza-o com DBCC SHRINKFILE após o backup. Se você não precisa da cadeia de log, revise o recovery model.
Mais entradas deste banco
- 8152String or binary data would be truncated
- 2628String or binary data would be truncated in table, column ...; truncated value
- 1222Lock request time out period exceeded
- 1105Could not allocate space for object in database because the filegroup is full
- 208Invalid object name
- 229The SELECT/EXECUTE permission was denied on the object
- 4060Cannot open database requested by the login. The login failed