Je dois actuellement gérer un journal de transactions SQL Server devenu incontrôlable. Avertissement: je ne suis pas un dba et ce n'est pas mon domaine d'expertise, alors soyez indulgent avec moi.
Actuellement, j'ai un fichier journal de transactions de 115 Go pour une base de données de 500 Mo qui (évidemment) a été mal géré depuis un certain temps pour qu'il puisse se retrouver dans cet état.
La priorité absolue est de récupérer l'espace sur le disque occupé par ce fichier avant de manquer! On m'a dit que l'augmentation de la taille du disque n'est pas une option, même temporaire, et en fonction de la croissance passée, nous devons agir très rapidement.
Si je comprends bien, la meilleure approche consiste à garder la base de données en mode de récupération complète, mais à effectuer des sauvegardes régulières du fichier journal, à surveiller cela sur une période de temps et à ajuster la taille initiale et l'incrémentation en fonction. Tout va bien.
Étant donné que nous effectuons régulièrement des sauvegardes complètes de la base de données à minuit, serais-je en sécurité de mettre temporairement la base de données en mode de récupération simple (après l'exécution de l'une de ces sauvegardes), de réduire le fichier journal pour récupérer (pratiquement tout) l'espace et puis le remettre dans Full Recovery avec la stratégie de sauvegarde mentionnée ci-dessus?
Je pense que si quelque chose arrivait à cette époque, nous pourrions simplement restaurer la sauvegarde complète sans utiliser les journaux.
MISE À JOUR
Quelques détails supplémentaires en réponse à certaines des réponses et commentaires:
Nous souhaitons conserver la possibilité d'effectuer une restauration ponctuelle afin que la base de données reste en mode de récupération complète.
La raison pour laquelle le fichier t-log est devenu si volumineux est qu'il n'a jamais été sauvegardé . Vérifié car log_reuse_wait_desc renvoie 'LOG_BACKUP'.