Aujourd'hui, je vois qu'un fichier .ldf d'une base de données SQL Server a une taille de 66 Go. MDF est seulement 200 Mo de large. Comment puis-je désactiver la journalisation dans le fichier .ldf?Gestion de la croissance du fichier .LDF de SQL Server
Répondre
Votre base de données est probablement en mode de récupération complète, donc votre moyen le meilleur et le plus simple pour l'obtenir est de faire une sauvegarde complète suivie de sauvegardes incrémentielles qui la diminueront considérablement. Si vous ne voulez pas faire de sauvegardes incrémentales (à cause d'un manque de logiciel de sauvegarde par exemple) et que vous ne voulez pas que LDF soit si gros, vous devez définir le mode de récupération sur Simple.
Pour définir la journalisation de votre base de données sur simple (mais seulement si vous faites des sauvegardes complètes de votre base de données!).
- Faites un clic droit sur votre base de données
- Choisissez Propriétés
- Choisissez options
- Régler le mode de récupération pour simple,
Pour la base de données fichier journal garniture ne suit étapes:
Obtenez les noms physiques de votre fichier de base de données (MDF) et le fichier journal (LDF): Exécutez le système suivant la procédure stockée:
use <yourdatabasename>
exec sp_helpfile
Cette commande renvoie une variété d'informations, y compris la taille physique (la colonne size
) et le chemin et le nom de votre base de données et des fichiers journaux (dans la colonne filename
).
Enregistrez le nom du fichier à partir du colunm « nom de fichier », à l'exclusion du chemin et extension de fichier (par exemple si le nom de fichier contient C:\sqldatabases\yourdatabase_data.mdf
que vous souhaitez enregistrer la chaîne yourdatabase_data
)
tronquer la base de données et réduire la base de données La l'ensemble suivant de SQL réduira votre base de données et truncate
le fichier journal. Fichier dans les parmaters entourés par < ...>. Notez que vous aurez besoin des deux valeurs filename
de l'étape 1.
USE <yourdatabasename>
GO
BACKUP LOG <yourdatabasename> WITH TRUNCATE_ONLY
GO
DBCC SHRINKFILE (<yourdatabaselogfilename>, 1)
GO
DBCC SHRINKFILE (<yourdatabasedatafilename>, 1)
GO
exec sp_helpfile
Cette réponse est obsolète (avec SQL Server Server 2008). SAUVEGARDE AVEC TRUNCATE SEULEMENT ne fonctionne plus. Pour 2008, vous voulez DBCC SHRINKFILE ('ExampleDB_log', 0, TRUNCATEONLY) – mhenry1384
Encore +1 pour une réponse complète. Aussi +1 pour votre commentaire utile. –