Bonjour,
J'ai mis en place un datawarehouse de recette, en copiant le datawarehouse de production. Suite à plusieurs alimentations, mon fichier .mdf fait 16 Go, ce qui correspond à la taille de la prod et ne me pose pas de problème. Par contre, le fichier _log.ldf pèse 54 Go ! De plus, ce sont des données de test, sur un datawarehouse qui est uniquement alimenté par ETL et n'a donc besoin d'aucune sauvegarde ni même d'aucun mécanisme transactionnel.
J'ai tenté de faire un DBCC SHRINKFILE, par l'interface graphique et par SQL, mais ça n'a absolument aucun effet. J'ai aussi tenté de faire un BACKUP LOG TO DISK, mais ça m'a juste créé un fichier .trn de 54 Go, sans réduire le moins du monde la taile du fichier .ldf.
J'ai fait un DBCC SQLPERF(LOGSPACE), voici les résultats :
Je comprends bien qu'il refuse de réduire la taille du fichier de log parce qu'il considère que toutes ces infos sont absolument indispensable, mais j'aimerais lui expliquer qu'il se trompe...Log size : 50247,99 MB
Log space used : 99,92655 %
Status : 0
J'aurais donc deux questions :
1) dans l'immédiat, comment je sors de cette situation, à part détruire et re-créer la database (ce qui reste une option envisageable).
2) à l'avenir, quels réglages je dois faire pour qu'il arrête de conserver inutilement les transactions après le commit ?
EDIT :
Bon, j'ai fini par comprendre qu'il fallait faire une sauvegarde Full avant le shrink. Ça m'a permis de régler le point 1, et je me suis empressé d'envoyer la sauvegarde à la corbeille.
Je suis cependant preneur de conseil sur le point 2, parce que j'avoue que je suis un peu perdu dans tout ça !
Merci pour toute info !
Partager