Comme tout bon programme, le SGBD Microsoft SQL Server garde un historique des actions et des erreurs rencontrées par le serveur de base de données. Ces fichiers nommés ERRORLOG peuvent être très volumineux selon les erreurs archivées. Mais pour faire du ménage ou récupérer de l’espace disque, on peut vouloir supprimer ces gros fichiers. Malheureusement, il n’est pas possible de supprimer tous les fichiers, du moins pas le fichier ERRORLOG en cours d’utilisation. SQL Server empêche de supprimer un fichier ERRORLOG qui est actuellement utilisé par le serveur de BDD.

On peut bien sûr arrêter le service MSSQLSERVER ou redémarrer l’ordinateur mais ce n’est pas une solution dans un environnement de production. Ce tutoriel explique donc comment effacer un très gros fichier ERRORLOG sans arrêt de production de SQL Server.

Remarque : les fichiers errorlogs ne sont pas là par hasard, il convient d’abord de vérifier ce qui remplit cet historique d’erreurs et de corriger les bases, requêtes ou applications qui les génèrent.

 

Supprimer un fichier log ERRORLOG de SQL Server

1. Aller dans le dossier d’installation de Microsoft SQL Server, par défaut un chemin du type C:\Program Files\Microsoft SQL Server

2. Ouvrir le dossier numéro de la version SQL Server, par exemple MSSQL13.MSSQLSERVER pour SQL 2016.

3. Aller ensuite dans MSSQL, Log pour voir quels fichiers pèsent plusieurs Go.

tutoriel Microsoft SQL Server log errorlog cycle

4. Si ce sont des fichiers ERRORLOG.1, ERRORLOG.2, ERRORLOG.3, ERRORLOG.4… qui sont très gros, il suffira de les supprimer (avec ou sans sauvegarde préalable).

Dans le cas où ERRORLOG « tout court » est volumineux, il ne sera possible de le supprimer depuis l’Explorateur qu’à une condition : si on arrête ou redémarre le service « SQL Server (MSSQLSERVER) » depuis les Services Windows. Autre solution, découper le fichier courant ERRORLOG pour que le serveur SQL en crée un nouveau, vide, afin que l’on puisse récupérer les Go inutilement occupés par des logs.

 

Découper un fichier ERRORLOG

1. Ouvrir une connexion de type Administrateur (sa) avec le logiciel Microsoft SQL Server Management Studio ou autre outil pour exécuter des requêtes sur le serveur (pas juste sur une base).

2. Copier / coller / exécuter la requête suivante pour créer un nouveau cycle de logs, c’est-à-dire une rotation pour écrire le journal dans un nouveau fichier error log :

EXEC sp_cycle_errorlog ;
GO

tutoriel Microsoft SQL Server log errorlog cycle

3. Le résultat renvoyé doit être celui-ci : « Exécution de DBCC terminée. Si DBCC vous a adressé des messages d’erreur, contactez l’administrateur système. »

4. Le fichier courant ERRORLOG est passé à une numérotation (ERRORLOG.1) que l’on peut maintenant supprimer en toute sécurité, sans affecter les applications et connexions maintenues sur le serveur SQL et ses bases de données.

tutoriel Microsoft SQL Server log errorlog cycle