189 votes

Quelle est la commande pour tronquer un fichier journal SQL Server?

Je dois vider un fichier LDF avant de l'envoyer à un collègue. Comment forcer SQL Server à tronquer le journal?

301voto

Blorgbeard Points 38991

Dans management studio:

  • Ne pas le faire sur un environnement réel, mais pour vous assurer que vous réduisez votre dev db autant que vous le pouvez:
    • Cliquez-droit sur la base de données, choisissez propriétés, puis sur options.
    • Assurez-vous que "le modèle de Récupération" est réglé sur "Simple", pas "Complet"
    • Cliquez Sur Ok
  • Cliquez-droit sur la base de données à nouveau, choisir des tâches -> réduire fichiers
  • Changement de type de fichier "log"
  • Cliquez sur ok.

Sinon, le SQL pour le faire:

 ALTER DATABASE mydatabase SET RECOVERY SIMPLE
 DBCC SHRINKFILE (mydatabase_Log, 1)

Ref: http://msdn.microsoft.com/en-us/library/ms189493.aspx

129voto

ila Points 2507

si je me souviens bien ... dans l'analyseur de requêtes ou équivalent:

 BACKUP LOG  databasename  WITH TRUNCATE_ONLY

DBCC SHRINKFILE (  databasename_Log, 1)
 

60voto

Nathan R Points 560

Pour SQL Server 2008, la commande est la suivante:

 ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
 

Cela a réduit mon fichier journal de 14 Go à 1 Mo.

35voto

Matej Points 1921

Pour SQL 2008, vous pouvez sauvegarder le journal sur le périphérique nul :

 BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
 

Et puis, utilisez DBCC SHRINKFILE pour tronquer le fichier journal.

3voto

SQLMenace Points 68670

journal de sauvegarde logname avec truncate_only suivi d'une commande dbcc shrinkfile

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X