2010-12-09 11 views

Répondre

14

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!).

  1. Faites un clic droit sur votre base de données
  2. Choisissez Propriétés
  3. Choisissez options
  4. 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 
+7

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

+0

Encore +1 pour une réponse complète. Aussi +1 pour votre commentaire utile. –