2010-04-20 6 views
2

Je sais comment créer une base de données et développer un site web qui l'utilise. Au-delà de ça, l'administration db est complètement perdue sur moi :(SQL Server 2005 Database Logfile est énorme, plein

Cela étant dit je suis coincé Mon fichier journal pour deux de mes bases de données est devenu ridiculement grand: l'un est 650MB, et l'autre est de 16 GB c'est GIGABYTES! les données dans ces deux bases de données est inférieure à 10mb, donc je ne peux pas imaginer comment dieu bon est arrivé ...

J'ai fait quelques recherches sur ce qui m'a amené à croire que faire soit une sauvegarde complète de la base de données ou une sauvegarde de journal transactionnel permettrait de résoudre ce problème ...

en essayant de faire une sauvegarde complète de la base de données J'ai reçu une erreur en me disant que le journal des transactions était plein, donc j'ai essayé la sauvegarde du journal à la place

qui a fonctionné, et maintenant si je fais une sauvegarde complète de la base de données, je ne reçois plus cette erreur. Cependant, les fichiers journaux de la base de données sont toujours de la même taille qu'avant. Je suis aussi allé dans le rétrécissement qui dit que 650mb ou plus de l'espace est un espace libre, mais quand je lui ai dit de libérer l'espace, il n'a rien fait. Je n'ai reçu aucun message d'erreur, il s'est juste fermé et n'a rien fait. au moins, je crois que cela n'a rien fait parce que mes fichiers journaux sont encore gimongous ...

alors tout d'abord, comment diable est-ce arrivé ?! tout ce que j'ai fait, c'est ouvrir ma base de données, changer une colonne ici et là. et sur l'autre base de données je n'ai même pas fait ça !!

Enfin, comment puis-je résoudre ce problème pour pouvoir effacer ce journal?

toute aide est appréciée, merci!

+0

de cours il a travaillé à la seconde j'ai posté ceci. J'ai de nouveau réduit le fichier journal et cette fois-ci cela a fonctionné ... mais j'aimerais quand même savoir exactement pourquoi les fichiers journaux sont si comiquement grands ... – SelAromDotNet

Répondre

3

Sauf si vous avez besoin d'une restauration ponctuelle ou si vous devez effectuer des sauvegardes fréquentes, il semble que vous puissiez vous passer des fichiers journaux. Passer en mode de récupération simple. Le journal sera tronqué après chaque transaction validée au lieu d'attendre une sauvegarde de fichier journal.

+1

cela semble idéal, je sauvegarde manuellement sur une base régulière. Comment puis-je changer en mode de récupération simple? oop n'a pas d'importance Je l'ai trouvé dans les propriétés de la base de données. J'espère que cela fait l'affaire, merci! – SelAromDotNet

2
USE MyDatabase 
GO 
Backup Log MyDatabase WITH TRUNCATE_ONLY 
GO 
DBCC SHRINKFILE (MyDatabase_Log, 1) 
GO 

Remarque, cela invalide votre historique de sauvegarde, donc après avoir utilisé TRUNCATE_ONLY vous devez effectuer une sauvegarde complète.