J'ai un fichier journal qui a atteint 32gig et rempli mon disque dur. J'ai donc fait une sauvegarde du journal des transactions, et maintenant, lorsque je fais "DBCC SQLPERF ( LOGSPACE )", il indique que 99% de mon fichier journal est un espace vide, ce qui est génial :
DBCC SQLPERF ( LOGSPACE )
Database Name Log Size (MB) Log Space Used (%) Status
abc 32140.02 0.3069714 0
Maintenant je veux réduire le fichier (il ne devrait être que de quelques mégas ! !!), donc je le fais :
DBCC SHRINKFILE ( abc_log )
Dans les résultats de la requête dans SSMS, j'obtiens ce qui suit :
Results tab:
DbId FileId CurrentSize MinimumSize UsedPages EstimatedPages
14 2 4113923 128 4113920 128
Et dans l'onglet "Messages", cette petite information :
Cannot shrink log file 2 (abc_log) because all logical log files are in use.
(1 row(s) affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Qu'est-ce qui se passe ?
0 votes
Oui, il est en modèle de récupération "complet", ce qui est nécessaire, car il s'agit d'une base de données miroir.
1 votes
Et oui, j'ai dit à nos DBA de s'assurer qu'ils effectuent des sauvegardes quotidiennes du journal des transactions à l'avenir !
0 votes
De plus, DBCC OPENTRAN renvoie le message "Aucune transaction ouverte active".
0 votes
Ok, une demi-heure plus tard, la base de données (dans le système de fichiers) s'est réduite d'elle-même. Je n'arrive pas à comprendre pourquoi il a fait ça. Donc je suppose que je suis encore plus confus maintenant !
1 votes
Regardez le log_reuse_wait_desc dans sys.databases c'est ce que votre journal attend.