Si le fichier de LOG d'une database SQL atteint une taille "ingérable" et que toutes les méthodes de compactage échouent, il est possible, via la procédure ci-dessous décrite, de créer un nouveau fichier de LOG, ce qui permettra de supprimer définitivement l'ancien.
Cette procédure utilise les fonctionnalités de DETACH / ATTACH d'une base de données. Si cette procédure est mal appliquée, elle peut conduire à une perte irrémédiable de données. Elle ne doit donc être utilisée que par du personnel qualifié et sous l'entière responsabilité de l'intervenant.
Procédure à effectuer sur le serveur qui héberge le serveur SQL :
- Fermer Mercator sur l'ensemble des postes et fermer toute application utilisant la base de données en question
- Dans le "Microsoft SQL Server Management Studio", clic-droit sur cette base de données : "Tâches / Détacher"
- Renommer dans le répertoire DATA de SQL Server le fichier LOG de cette base de données
- Introduire la requête suivante : sp_attach_single_file_db 'MERCATORINEO','D:\DataSql\MSSQL\Data\MERCATORINEO.mdf'
en adaptant le nom de la base de données (ici MERCATORINEO), le chemin d'accès et le nom du fichier principal MDF. - Cliquer sur le bouton "Executer"
- L'exécution doit renvoyer ce message d'avertissement :
Device activation error. The physical file name 'd:\datasql\MSSQL\data\MERCATORINEO_log.LDF' may be incorrect.
New log file 'D:\DataSql\MSSQL\Data\MERCATORINEO_log.LDF' was created. - A partir de ce moment, la database est à nouveau opérationnelle et dispose d'un nouveau de fichier LOG. L'ancien fichier renommé au point 3 peut être supprimé.
Pour plus d'informations, voir Installation / configuration optimale de SQL Server.