Quelle est la commande pour tronquer un fichier journal de SQL Server?
J'ai besoin de vider un fichier LDF avant de l'envoyer à un collègue. Comment puis-je la force de SQL Server pour tronquer le journal?
Vous devez vous connecter pour publier un commentaire.
si je me souviens bien... dans l'analyseur de requêtes ou équivalent:
WITH TRUNCATE_ONLY
.BACKUP LOG DatabaseNameHere TO DISK='NUL:'
.Dans management studio:
Properties
, puisOptions
.Tasks
->Shrink
->Files
Sinon, le SQL, c':
Ref: http://msdn.microsoft.com/en-us/library/ms189493.aspx
use mydatabase
avant l'exécution dedbcc shrinkfile
DatabaseName_log
mais il peut varier. Vous pouvez trouver le nom du fichier pour la base de données actuelle avecSELECT name FROM sys.master_files WHERE database_id = db_id() AND type = 1
1
dans le film de commande se réfère à la taille prévue du journal après la réduction. La valeur par défaut est l'original de la taille du fichier journal, c'est pourquoi quelques réponses à cette question ont une valeur, et certains ne le font pas. docs.microsoft.com/en-us/sql/t-sql/database-console-commands/...Pour SQL Server 2008, la commande est:
Cela réduit mon 14GO du fichier journal à 1 mo.
Pour SQL 2008, vous pouvez sauvegarder le journal de
nul
appareil:Et ensuite utiliser
DBCC SHRINKFILE
à tronquer le fichier journal.journal de sauvegarde logname avec truncate_only suivie par une commande dbcc shrinkfile
Une autre option, est de détacher la base de données en passant par le Management Studio. Puis il suffit de supprimer le fichier journal, ou de le renommer et supprimer plus tard.
De retour dans Management Studio attacher la base de données à nouveau. Dans la fenêtre joindre supprimer le fichier journal à partir de la liste de fichiers.
La DB s'attache et crée un nouveau fichier journal. Après avoir vérifier que tout est correct, vous pouvez supprimer le renommé le fichier de log.
Vous probablement ne devrait pas l'utiliser pour les bases de données de production.