DBAtlas · Atlas d'exploitation des bases de données

9002: The transaction log for database is full due to ... (le journal des transactions de la base est plein)

SQL Server

Que signifie cette erreur ?

Le fichier journal des transactions de la base de données est plein et les nouvelles transactions ne peuvent pas être journalisées. La base de données rejette les écritures et peut se comporter comme si elle était en lecture seule.

Cause

Absence de sauvegardes du journal dans le mode de récupération FULL, transaction ouverte depuis longtemps, retard de réplication/AlwaysOn, ou journal incapable de croître (autogrow désactivé ou disque plein). log_reuse_wait_desc indique la raison.

Comment la corriger

Vérifiez log_reuse_wait_desc dans sys.databases. S'il vaut LOG_BACKUP en mode FULL, effectuez une sauvegarde du journal (BACKUP LOG). S'il vaut ACTIVE_TRANSACTION, trouvez la transaction ouverte et validez-la/annulez-la (DBCC OPENTRAN). Libérez de l'espace disque ou corrigez le paramètre autogrow du fichier journal. Si le journal a réellement grossi, réduisez-le avec DBCC SHRINKFILE après la sauvegarde. Si vous n'avez pas besoin de la chaîne de journaux, revoyez le mode de récupération.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur