Question Comment réduire le fichier LOG de 40 Go


J'ai un problème qui est que mon fichier journal dans SQL Server 2008 est passé à 40 Go et je voulais le réduire. La requête que j'utilise est

    ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
use DatabaseName
GO
CHECKPOINT
GO
DBCC SHRINKFILE(transactionloglogicalfilename,TRUNCATEONLY)
GO
ALTER DATABASE DatabaseName SET RECOVERY FULL

ne réduit pas le fichier journal à un niveau supérieur et le fichier journal de réduction se développe immédiatement très rapidement.

Alors, où est le problème ?

Je voulais réduire le fichier journal jusqu'à 1 Go et la taille de ma base de données est de 16 Go.

J'ai SQL Server 2008 R2

S'il vous plaît, aidez-moi


7
2018-04-29 07:46


origine




Réponses:


Allez dans Management studio, cliquez avec le bouton droit de la souris sur la base de données, Tâches> Réduire> Fichiers.

Sous Type de fichier, sélectionnez le fichier journal. Assurez-vous que Libérer de l’espace inutilisé est sélectionné comme action de réduction, cliquez sur OK.

Le fichier journal rétréci connaît une nouvelle croissance rapide, probablement parce que vous êtes configuré pour un modèle de récupération complète. Si vous le définissez à simple, les modifications seront immédiatement validées et non enregistrées dans le journal. Simple n’est utile que si vous effectuez régulièrement des sauvegardes complètes.


9
2018-04-29 15:03





Si vous souhaitez empêcher toute nouvelle croissance, vous devez définir la journalisation de votre base de données sur simple (mais uniquement si vous effectuez des sauvegardes complètes de votre base de données!).

  1. Clic-droit sur votre base de données
  2. Choisir Propriétés
  3. Choisir Les options
  4. Définir le mode de récupération sur simple

Cela fonctionnera et est préférable si votre programme de sauvegarde est Sauvegarde complète tous les jours. Parce que dans un tel scénario, votre journal ne sera pas coupé et il montera en flèche.

Si vous utilisiez la technique de sauvegarde Grand-père, père et fils. Ce qui signifie Sauvegarde complète mensuelle, Sauvegarde hebdomadaire complète, puis tous les sauvegarde incrémentielle quotidienne. Alors pour cela vous avez besoin Mode de récupération complet. Par conséquent, étant donné que vous définissez votre base de données sur Sauvegarde complète, vous devez cesser de le faire, basculer la sauvegarde en mode de récupération simple ou commencer à effectuer des sauvegardes correctement. Votre journal sera coupé par les sauvegardes.

Dans le cas où vous basculez sur simple puis sur complet, vos journaux augmenteront à nouveau.

Combinez cela avec la suggestion de DanBig de réduire la base de données en procédant comme suit:

  1. Ouvrez Sql Management Studio
  2. Cliquez avec le bouton droit sur la base de données, Tâches> Réduire> Fichiers.
  3. Sous Type de fichier, choisissez le fichier journal. Assurez-vous de cocher l'option Release unused space comme action de réduction, cliquez sur OK.

5
2018-04-29 15:05



Merci. Avait le même problème. Changer le modèle de récupération en simple puis en rétrécissement fonctionne comme un charme.