Aller au contenu

Gérer les fichiers de log de SQL Server

Dans SQL Server, la taille des fichiers de log et de bases de données peut grandir très vite, ce qui peut causer un problème d'espace de stockage. Dans ce tutoriel, je vous montre comment gérer les fichiers de log et de bases de données dans SQL Server.

Le disque C de votre machine est preque plein. SQL Server y est pour quelque chose.

Nous avons deux options:

  1. Déplacer les fichiers
  2. Réduire la taille des fichiers

Arrêter SQL Server#

Nous allons d'abord arrêter SQL Server avant de copier/déplacer les fichiers.

Option 1 : Déplacer les fichiers de log de SQL Server#

Rendez-vous dans le dossier C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA. Puis Copiez et collez les fichiers dans le nouvel emplacement D:\MSSQL\DATA\pour mon cas.

Modifier les métadonnés#

SELECT name, physical_name 
FROM sys.master_files 
WHERE database_id = DB_ID('datamart');

#

ALTER DATABASE datamart
SET OFFLINE WITH ROLLBACK IMMEDIATE;


ALTER DATABASE datamart
MODIFY FILE (NAME = 'datamart', FILENAME = 'D:\MSSQL\DATA\datamart.mdf');

ALTER DATABASE datamart
MODIFY FILE (NAME = 'datamart_log', FILENAME = 'D:\MSSQL\DATA\datamart_log.ldf');


ALTER DATABASE datamart 
SET ONLINE;

Option 2 : Réduire la taille des fichiers#

La première chose est vérifier le mode de récupération

SELECT name, recovery_model_desc 
FROM sys.databases 
WHERE name = 'datamart';

Si en mode FULL, change-le temporairement en SIMPLE

USE datamart;
GO
ALTER DATABASE datamart SET RECOVERY SIMPLE;

Tronque le log

DBCC SHRINKFILE(datamart_log, 100);

100 = taille cible en Mo (mets ce que tu veux selon l'espace que tu veux libérer)

Vérifions la taille actuelle du fichier de logs

USE datamart;
GO
EXEC sp_helpfile;


J'espère que vous avez pu résoludre votre problème d'espace.

Partagez sur les réseaux sociaux

Commentaires