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

 

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

πώς μπορώ να μικρύνω το log file?

Îåêßíçóå áðü ôï ìÝëïò agmarios. Τελευταία δημοσίευση από το μέλος KelMan στις 17-07-2006, 11:09. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-07-2006, 16:01 14475

    πώς μπορώ να μικρύνω το log file?

    Έχω μια βάση που αυτή τη στιγμή έχει 4 ΜΒ data και 40 ΜΒ log file. Δεν μπορώ να κάνω κάτι; Το shrink είχε ελάχιστα αποτελέσματα αφού το logfile δεν έχει άδειο χώρο, γέμισε από μαζικές ενέργειες (insert,update,delete).

    Δεν υπάρχει ένας τρόπος να ορίσω ένα "checkpoint" της βάσης και να αδειάζω το Logfile μέχρι εκείνη τη στιγμή;

  •  06-07-2006, 21:50 14484 σε απάντηση της 14475

    Απ: πώς μπορώ να μικρύνω το log file?

    To transaction log αποτελείται από active και inactive entries. Ένα entry χαρακτηρίζεται inactive όταν πλέον δεν χρειάζεται προκειμένου να γίνει restore η βάση, είναι προφανές ότι τα entries που έχουν γίνει *πριν* από ένα backup δεν χρειάζονται.

    Για να μπορέσεις να κάνεις shrink το TL θα πρέπει πρώτα να το κάνεις truncate. Tο truncate μαρκάρει τις εγγραφές ως inactive συγκρίνοντας πότε έγινε η κάθε εγγραφή σε σχέση με το τελευταίο backup. Άρα, για να μπορέσεις να κάνεις truncate το TL θα πρέπει να κάνεις πρώτα τη βάση ένα full backup. Το shrink δεν είναι κάτι σαν defrag, δεν αφαιρεί τον άδειο χώρο αλλά τις άχρηστες εγγραφές από το TL. Χωρίς να έχεις κάνει backup και truncate τη βάση, ο server θεωρεί ότι είναι απαραίτητες για τυχόν restore και έτσι το shrink αποτυγχάνει. Έτσι λοιπόν, η διαδικασία έχει ως εξής:

    1. full backup της βάσης
    2. κάνε ένα BACKUP LOG
           ή
      EXEC sp_dboption dbname, 'trunc. log on chkpt.', 'True'    
      CHECKPOINT                                                                            
      DBCC SHRINKFILE (dbname_Log,100,Truncateonly)

    Υπάρχει περίπτωση να μην παίξουν τα παραπάνω, οπότε θα δούμε εναλλακτικούς τρόπους. Μπορείς να διαβάσεις τα topics "Truncating the Transaction Log" και "Shrinking the Transaction Log" στα BOL για να καταλάβεις επακριβώς τι γίνεται.


    Vir prudens non contra ventum mingit
  •  07-07-2006, 10:09 14496 σε απάντηση της 14475

    Απ: πώς μπορώ να μικρύνω το log file?

    Ευχαριστώ πολύ, ήσουν κατατοπιστικότατος. Θα το δοκιμάσω και βλέπουμε.

    Τα άρθρα τα είχα διαβάσει πριν κάνω το post αλλά δεν έλεγαν ποια είναι η διαδικασία.

    Μάριος
  •  07-07-2006, 10:21 14497 σε απάντηση της 14496

    Απ: πώς μπορώ να μικρύνω το log file?

    έπεξε, το μόνο που άλλαξα ήταν το target size
  •  07-07-2006, 10:29 14498 σε απάντηση της 14497

    Απ: πώς μπορώ να μικρύνω το log file?

    Έκανες 'trunc. log on chkpt.' ?
    Vir prudens non contra ventum mingit
  •  07-07-2006, 12:28 14508 σε απάντηση της 14475

    Απ: πώς μπορώ να μικρύνω το log file?

    ναι
  •  07-07-2006, 21:43 14518 σε απάντηση της 14508

    Απ: πώς μπορώ να μικρύνω το log file?

    Τότε έχε υπόψην σου ότι πλέον το log file θα είναι auto-truncated ωστόσο μπορείς να παίξεις μόνο με full και differential backups. Που σημαίνει ότι αν συμβεί οποιοδήποτε "καταστροφικό" event θα χάσεις όλες τις αλλαγές στα data από το τελευταίο backup μέχρι το event (αν δεν έχεις ενεργοποιήσει το "truncate log on checkpoint" τότε μπορείς να επαναφέρεις τα data μέχρι και πχ ένα sec πριν το event).
    Vir prudens non contra ventum mingit
  •  17-07-2006, 10:55 14832 σε απάντηση της 14518

    Απ: πώς μπορώ να μικρύνω το log file?

    Οπως θα κατάλαβες από batadase administration έχω μαύρα μεσάνυχτα, αλλά αυτό είναι πολύ σοβαρό για οποιαδήποτε εφαρμογή.

    Τώρα που μίκρυνε το log file αρκει να δώσω την "αντίστροφη εντολή"
    EXEC sp_dboption dbname, 'trunc. log on chkpt.', 'False'    
    ή χρειάζεται κάτι άλλο;

    Ευχαριστώ
    Μάριος

  •  17-07-2006, 11:09 14834 σε απάντηση της 14832

    Απ: πώς μπορώ να μικρύνω το log file?

    Ναι, αρκεί ή μπορείς να πας στα properties της βάσης και να ορίσεις το Recover Model σε Bulk-Logged
    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems