Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Γιατί αυξάνει συνεχώς το log αρχείο της βάσης?

Îåêßíçóå áðü ôï ìÝëïò jimenez. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 18-07-2008, 21:16. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  17-07-2008, 20:54 43517

    Γιατί αυξάνει συνεχώς το log αρχείο της βάσης?

    Καλησπέρα, Έχω μία βάση στην οποία συνδέεται ένας client και αποθηκεύει τιμολόγια. ο αριθμός αυτών δεν υπερβαίνει τα 50 ημερησίως. Το log αρχείο της βάσης έχει φτάσει 14GB και συνεχώς αυξάνει. γιατί? Πως γίνεται και αυξάνεται? Τι μπορώ να κάνω να μειώσω αυτόν τον όγκο.? Παρεπιπτόντως έχω εγκαταστήσει και sp2 στον sql server.
    Dimitris S.
    FIRST TEST THEN CODE....
  •  18-07-2008, 03:18 43519 σε απάντηση της 43517

    Απ: Γιατί αυξάνει συνεχώς το log αρχείο της βάσης?

    Καλημερα,

    Αν και δεν δινεις πολλα στοιχεια για να σε βοηθησω, θα υποθεσω οτι αναφερεσαι σε SQL Server 2005, και θα υποθεσω ακομα οτι αμα πας στα Database Properties της βασης, και συγκεκριμενα στο tab Options, θα δεις οτι το Recovery model της βασης ειναι full.

    Εαν μεχρι εδω ειναι ετσι, γυρισε την επιλογη στο Recovery model σε simple (δεν νομιζω να σε πειραξει καπως (υποθετω)). Μετα κανε ενα shrink των αρχειων της βασης σου.

    Εαν οντως ετσι εχουν τα πραγματα κανε τον κοπο να το αναφερεις.

  •  18-07-2008, 08:37 43520 σε απάντηση της 43519

    Απ: Γιατί αυξάνει συνεχώς το log αρχείο της βάσης?

    Το θέμα είναι αν χρειάζεσαι ή όχι να παίρνεις backup τη βάση και πόσα data αντέχεις να χάσεις σε περίπτωση που γίνει η στραβή. Με το recovery model σε simple, πρέπει να παίρνεις backup όλη τη βάση και χάνεις όλα τα data από το τελευταίο backup και μετά. Στο bulk-logged και στο full recovery model, όταν γίνει η στραβή μπορείς να σώσεις τα data μετά το τελευταίο backup καθώς έχουν γραφτεί στο log. Αν σε ενδιαφέρει το δεύτερο τότε θα πρέπει να φτιάξεις ένα backup πλάνο γιατί αν δεν παίρνεις backup το log file δεν αδειάζει ποτέ. Φυσικά, όταν μιλάμε για backup, εννούμε SQL Server backup και όχι εξωτερικό φυσικό back up των αρχείων της βάσης.

    Το "50 τιμολόγια" δεν λέει και πολλά ως προς το γιατί αυξάνεται τόσο πολύ το log file καθώς εκεί καταγράφονται ένα σωρό πληροφορίες που ενδεχομένως να δημιουργούνται χωρίς να το γνωρίζεις από την εφαρμογή σου.


    Vir prudens non contra ventum mingit
  •  18-07-2008, 21:16 43536 σε απάντηση της 43520

    Απ: Γιατί αυξάνει συνεχώς το log αρχείο της βάσης?

    Ο Μάνος έχει δίκιο. Πρέπει να επιλέξεις το recovery model με βάση τις ανάγκες της εφαρμογής σου και όχι με το αν γεμίζουν το log ή όχι. Όσον αφορά το backup, δεν αρκεί να κάνεις backup της βάσης, πρέπει να κάνεις περιοδικά backup και το transaction log ξεχωριστά. Έτσι ελευθερώνονται οι υπάρχουσες εγγραφές στο transaction log και μπορούν να χρησιμοποιηθούν ξανά. Μπορείς επίσης να κάνεις και Shrink το log file μετά από ένα log backup για να μειώσεις το μέγεθος του.

    Το ότι μπαίνουν μόνο 50 τιμολόγια δεν λέει και πολλά. Μπορεί να μην έχει γίνει log backup εδώ και χρόνια, οπότε το log να έφτασε σε αυτό το μέγεθος. Μπορεί η εγγραφή των τιμολογίων να γίνεται με περίεργο τρόπο και να δημιουργεί πολλές εγγραφές στο log. Μπορεί ο πίνακας των τιμολογίων να έχει πάρα πολλά columns. Στο log αποθηκεύονται δύο rows για κάθε update, ένα με τις αρχικές τιμές και ένα με τις αλλαγμένες. Στην περίπτωση του insert αποθηκεύεται μόνο μία. Όσο μεγαλύτερο είναι το row τόσο μεγαλύτερο θα βγει το log.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems