J'ai une base de données qui contient un fichier de données de 350 Mo (.mdf) et un fichier journal de 4,9 Go (.ldf). Le modèle de récupération est défini sur FULL
.
Lorsque j'essaie de réduire le fichier journal, il ne rétrécit pas.
Je sais que réduire une base de données n'est pas bon et cela ne devrait pas être fait. Mais j'essaie toujours de le faire pour réduire le fichier journal.
Quand j'ai couru
DBCC SQLPerf(logspace)
J'ai trouvé que la taille du journal est de 4932 Mo et que l'espace utilisé pour le journal est de 98,76% !
J'ai ensuite essayé cette commande
USE <databasename>;
DBCC loginfo;
Maintenant, presque tous les VLF ont le «statut 2», ce qui signifie que tous sont en cours d'utilisation.
J'ai essayé de faire une sauvegarde du journal, puis de réduire le fichier journal. Le rétrécissement n'a pas réduit la taille.
J'ai changé le modèle de récupération SIMPLE
et j'ai essayé de réduire à nouveau, mais cela n'a pas aidé non plus.
J'ai vérifié les transactions ouvertes
DBCC opentran (database);
et a constaté qu'aucune transaction n'est ouverte actuellement.
Qu'est-ce qui m'empêche de réduire le fichier journal? Comment puis-je résoudre ça?
log_reuse_wait_desc
a donnéACTIVE_TRANSACTION
. Dès que la transaction a été conclue, le retrait a très bien fonctionné.