Θέματα που αφορούν τις ρυθμίσεις "autogrow" και "autoshrink" στον SQL Server

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 315512 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Οι προεπιλεγμένες ρυθμίσεις autogrow και autoshrink θα λειτουργήσουν για εσάς χωρίς καμία ρύθμιση σε πολλά συστήματα του SQL Server. Ωστόσο, υπάρχουν περιβάλλοντα στα οποία δεν χρειάζεται να ενεργοποιήσετε τις ρυθμίσεις ή στα οποία μπορεί να χρειαστεί να προσαρμόσετε τις παραμέτρους autogrow και autoshrink. Αυτό το άρθρο σάς παρέχει ορισμένες πληροφορίες ιστορικού για να σας καθοδηγήσει όταν επιλέγετε τις ρυθμίσεις για το περιβάλλον σας.

Περισσότερες πληροφορίες

Τα παρακάτω είναι μερικά πράγματα που θα πρέπει να σκεφτείτε προτού αποφασίσετε να ρυθμίσετε τις παραμέτρους autogrow και autoshrink.

Πώς μπορώ να ρυθμίσω τις παραμέτρους;

  1. Μπορείτε να ρυθμίσετε τις παραμέτρους autogrow και autoshrink χρησιμοποιώντας ένα από τα εξής:
    • Μια πρόταση ALTER DATABASE (δεν διατίθεται στο SQL Server 7.0)
    • SQL Server Management Studio ή SQL Enterprise Manager
    • Η αποθηκευμένη διαδικασία sp_dboption (υπό απόσυρση στον SQL Server 2005)
    Σημείωση Εάν χρησιμοποιείτε τον SQL Server 2005, χρησιμοποιήστε το SQL Server Management Studio αντί για το SQL Enterprise Manager. Για περισσότερες πληροφορίες σχετικά με τη διαδικασία ρύθμισης αυτών των παραμέτρων στον SQL Server 2005, επισκεφτείτε τις ακόλουθες τοποθεσίες του Microsoft Developer Network (MSDN) στο Web:
    Πώς να: Προσθέσετε δεδομένα ή αρχεία καταγραφής σε μια βάση δεδομένων (SQL Server Management Studio)
    http://msdn.microsoft.com/el-gr/library/ms189253.aspx
    Ιδιότητες βάσης δεδομένων (Αρχεία σελίδας)
    http://msdn.microsoft.com/el-gr/library/ms180254.aspx
    Μπορείτε, επίσης, να ρυθμίσετε την επιλογή autogrow κατά τη δημιουργία μιας βάσης δεδομένων.

    Μπορείτε να προβάλετε τις τρέχουσες ρυθμίσεις μέσω των ιδιοτήτων της βάσης δεδομένων στον SQL Enterprise Manager (SEM). Εναλλακτικά, μπορείτε να εκτελέσετε την ακόλουθη εντολή Transact-SQL:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Να θυμάστε ότι οι τις ρυθμίσεις της παραμέτρου autogrow πραγματοποιούνται ανά αρχείο. Επομένως, πρέπει να τις ρυθμίσετε σε τουλάχιστον δύο φορές για κάθε βάση δεδομένων (μία για το πρωτεύον αρχείο δεδομένων και μία για το πρωτεύον αρχείο καταγραφής). Εάν έχετε πολλά αρχεία δεδομένων ή/και καταγραφής, πρέπει να ρυθμίσετε τις επιλογές σε κάθε αρχείο. Ανάλογα με το περιβάλλον σας, μπορεί να καταλήξετε να έχετε διαφορετικές ρυθμίσεις για κάθε αρχείο βάσης δεδομένων.

Ποιες είναι οι επιπτώσεις στην απόδοση;

  • Εάν εκτελείτε κάποια συναλλαγή η οποία απαιτεί μεγαλύτερο χώρο καταγραφής από αυτόν που είναι διαθέσιμος και έχετε ενεργοποιήσει την επιλογή autogrow για το αρχείο καταγραφής συναλλαγής της συγκεκριμένης βάσης δεδομένων, ο χρόνος που θα χρειαστεί για την ολοκλήρωση της συναλλαγής θα περιλαμβάνει τον χρόνο που απαιτείται για τη μεγέθυνση του αρχείου καταγραφής συναλλαγής ώστε να φτάσει το μέγεθος που έχει καθοριστεί. Εάν η πρόοδος αύξησης του μεγέθους είναι μεγάλη και υπάρχει ακόμη ένας παράγοντας που προκαλεί καθυστέρηση, το ερώτημα στο οποίο ανοίγετε τη συναλλαγή ενδέχεται να αποτύχει εξαιτίας κάποιου σφάλματος ορίου χρόνου. Η ίδια ταξινόμηση θέματος μπορεί να προκύψει από ένα autogrow από το τμήμα δεδομένων της βάσης δεδομένων σας. Για να αλλάξετε τις ρυθμίσεις της παραμέτρου autogrow, ανατρέξτε στο θέμα "ALTER DATABASE" στα ηλεκτρονικά βιβλία SQL Server Books Online.
  • Εάν εκτελέσετε μια μεγάλη συναλλαγή η οποία απαιτεί μεγέθυνση του αρχείου καταγραφής, άλλες συναλλαγές οι οποίες απαιτούν εγγραφή στο αρχείο καταγραφής συναλλαγών μέχρι την ολοκλήρωση της διαδικασίας μεγέθυνσης.
  • Εάν συνδυάσετε τις επιλογές autogrow και autoshrink, ίσως δημιουργήσετε μια περιττή επιβάρυνση. Βεβαιωθείτε ότι τα όρια που ενεργοποιούν τις διαδικασίες μεγέθυνσης και σμίκρυνσης δεν θα προκαλέσουν συχνές μεταβολές στα μεγέθη. Για παράδειγμα, μπορεί να εκτελέσετε κάποια συναλλαγή η οποία θα προκαλέσει αύξηση του μεγέθους του αρχείου καταγραφής κατά 100 MB μέχρι τη στιγμή της ολοκλήρωση του αρχείου. Λίγο αργότερα, η παράμετρος autoshrink αρχίζει να εκτελείται και να συρρικνώνει το αρχείο καταγραφής συναλλαγών κατά 100 MB. Στη συνέχεια, μπορείτε να εκτελέσετε την ίδια συναλλαγή, ενέργεια που προκαλεί μεγέθυνση του αρχείου καταγραφής συναλλαγών κατά 100 MB. Σε αυτό το παράδειγμα, προκαλείτε ανεπιθύμητο κόστος και πιθανόν να προκαλείτε κατακερματισμό του αρχείου καταγραφής. Και στις δύο περιπτώσεις η απόδοση επηρεάζεται αρνητικά.
  • Ο φυσικός κατακερματισμός εξαιτίας της αλλαγής του μεγέθους των δεδομένων ή των αρχείων καταγραφής μπορεί να έχει σοβαρές επιπτώσεις στην απόδοσή σας. Αυτό ισχύει είτε κάνετε χρήση των αυτόματων ρυθμίσεων, είτε πραγματοποιείτε τακτική μεγέθυνση και σμίκρυνση των αρχείων με μη αυτόματο τρόπο.
  • Εάν μεγεθύνετε τη βάση δεδομένων με μικρά βήματα, ή αν κάνετε μεγέθυνση και μετά σμίκρυνση, ενδέχεται να προκληθεί κατακερματισμός του σκληρού δίσκου. Ο κατακερματισμός του σκληρού δίσκου μπορεί να προκαλέσει ζητήματα στην επίδοση σε ορισμένες περιπτώσεις. Ένα σενάριο μεγέθυνσης με μικρά βήματα μπορεί, επίσης, να μειώσει τις επιδόσεις του συστήματός σας.
  • Στον SQL Server 2005 ή σε νεότερες εκδόσεις, μπορείτε να ενεργοποιήσετε την άμεση προετοιμασία αρχείου. Η άμεση προετοιμασία αρχείου επιταχύνει τις εκχωρήσεις αρχείων μόνο για αρχεία δεδομένων. Η άμεση προετοιμασία αρχείου δεν ισχύει για αρχεία καταγραφής.
  • Εάν έχετε πραγματοποιήσει πολλές μεγεθύνσεις αρχείων στα αρχεία καταγραφής, μπορεί να εμφανιστεί υπερβολικά μεγάλος αριθμός εικονικών αρχείων καταγραφής (virtual log files - VLF). Αυτό μπορεί να προκαλέσει προβλήματα στην απόδοση με τις λειτουργίες βάσης δεδομένων εκκίνησης/με σύνδεση, την αναπαραγωγή, τον κατοπτρισμό και την αλλαγή καταγραφής δεδομένων (change data capture - CDC). Επιπλέον, κάποιες φορές αυτό μπορεί να προκαλέσει προβλήματα στην απόδοση με τροποποιήσεις δεδομένων.

Οι καλύτερες πρακτικές

  • Για ένα σύστημα διαχείρισης παραγωγής, πρέπει να λάβετε υπόψη την παράμετρο autogrow ως μια απλή περίπτωση έκτακτης ανάγκης για μια μη αναμενόμενη μεγέθυνση. Μην διαχειρίζεστε τα δεδομένα σας και τη μεγέθυνση αρχείων καταγραφής σε καθημερινή βάση με autogrow.
  • Μπορείτε να χρησιμοποιήσετε ειδοποιήσεις ή προγράμματα παρακολούθησης για την παρακολούθηση μεγεθών αρχείων και για την προληπτική μεγέθυνση των αρχείων. Αυτό σας βοηθά να αποφύγετε τυχόν κατακερματισμό και σας επιτρέπει να μεταφέρετε αυτές τις δραστηριότητες συντήρησης σε ώρες εκτός αιχμής.
  • Οι παράμετροι AutoShrink και autogrow πρέπει να αξιολογηθούν προσεκτικά από κάποιον εκπαιδευμένο Διαχειριστή βάσης δεδομένων (Database Administrator - DBA). Δεν θα πρέπει να μείνουν χωρίς διαχείριση.
  • Η προσαύξηση autogrow πρέπει να είναι αρκετά μεγάλη ώστε να αποφύγετε τις κυρώσεις στην απόδοση, οι οποίες αναφέρονται στην προηγούμενη ενότητα. Η ακριβής τιμή για χρήση στη ρύθμιση παραμέτρων σας και η επιλογή μεταξύ του ποσοστού μεγέθυνσης και κάποιου συγκεκριμένου μεγέθους MB εξαρτάται από πολλούς παράγοντες στο περιβάλλον σας. Υπάρχει ένας γενικός κανόνας τον οποίο μπορείτε να χρησιμοποιήσετε για έλεγχο και ο οποίος χρησιμεύει στη ρύθμιση της παραμέτρου autogrow περίπου στο ένα όγδοο του μεγέθους του αρχείου.
  • Ενεργοποιήστε τη ρύθμιση <MAXSIZE> για κάθε αρχείο, για να αποτρέψετε τυχόν μεγέθυνση οποιουδήποτε αρχείου σε τέτοιο σημείο ώστε να κάνει χρήση ολόκληρου του διαθέσιμου χώρου του σκληρού δίσκου.
  • Διατηρήστε το μέγεθος των συναλλαγών σας σε όσο το δυνατόν μικρότερο μέγεθος για να αποτρέψετε απρόβλεπτη μεγέθυνση του αρχείου.

Γιατί χρειάζεται να ανησυχώ για το χώρο στο σκληρό δίσκο, εφόσον το μέγεθος των ρυθμίσεων ελέγχονται αυτόματα;

  • Η ρύθμιση autogrow δεν μπορεί να μεγεθύνει τη βάση δεδομένων εκτός των ορίων του διαθέσιμου χώρου του σκληρού δίσκου στα προγράμματα οδήγησης για τα οποία έχουν καθοριστεί τα αρχεία. Επομένως, εάν στηριχτείτε στη λειτουργικότητα autogrow για να καθορίσετε το μέγεθος των βάσεων δεδομένων σας, θα πρέπει να ελέγχετε το διαθέσιμο χώρο του σκληρού σας δίσκου ανεξάρτητα. Η ρύθμιση της παραμέτρου autogrow περιορίζεται, επίσης, από την παράμετρο MAXSIZE που επιλέγετε για κάθε αρχείο. Για να μειωθεί η πιθανότητα εξάντλησης του διαθέσιμου χώρου, μπορείτε να παρακολουθείτε τον μετρητή εποπτείας απόδοσης του SQL Server: Αντικείμενο βάσης δεδομένων: Μέγεθος (KB) αρχείων δεδομένων και να ορίσετε μια ειδοποίηση για τις περιπτώσεις στις οποίες η βάση δεδομένων φτάνει σε ένα συγκεκριμένο μέγεθος.
  • Τυχόν απρόβλεπτη μεγέθυνση των αρχείων δεδομένων και καταγραφής ενδέχεται να καταλάβει το χώρο που θα καταλάμβαναν άλλες εφαρμογές, γεγονός που μπορεί να προκαλέσει προβλήματα στις άλλες εφαρμογές.
  • Το μέγεθος της προσαύξησης του αρχείου καταγραφής συναλλαγών πρέπει να είναι αρκετό ώστε να ικανοποιεί πλήρως τις ανάγκες των μονάδων συναλλαγής. Ακόμα και όταν η παράμετρος autogrow είναι ενεργοποιημένη, ενδέχεται να λάβετε κάποιο μήνυμα το οποίο θα σας ενημερώνει ότι το αρχείο καταγραφής συναλλαγών είναι πλήρες, εάν δεν μπορεί να αναπτυχθεί τόσο γρήγορα ώστε να ικανοποιεί τις ανάγκες του ερωτήματός σας.
  • Ο SQL Server δεν ελέγχει συνεχώς για την εύρεση βάσεων δεδομένων που έχουν φτάσει το ρυθμισμένο όριο για την παράμετρο autoshrink. Αντιθέτως, εξετάζει τις διαθέσιμες βάσεις δεδομένων και βρίσκει την πρώτη βάση δεδομένων που έχει ρυθμιστεί για αυτόματη σμίκρυνση. Ελέγχει τη βάση δεδομένων και τη συρρικνώνει, εάν είναι απαραίτητο. Στη συνέχεια, περιμένει για αρκετά λεπτά πριν τον έλεγχο της επόμενης βάσης δεδομένων που έχει ρυθμιστεί για autoshrink. Με άλλα λόγια, ο SQL Server δεν ελέγχει και δεν συρρικνώνει όλες τις βάσεις δεδομένων ταυτόχρονα. Λειτουργεί μέσω των βάσεων δεδομένων εκ περιτροπής για την κλιμάκωση της φόρτωσης σε ένα ορισμένο χρονικό διάστημα. Επομένως, ανάλογα με το πλήθος των βάσεων δεδομένων που εντοπίζονται σε μια συγκεκριμένη εμφάνιση του SQL Server που έχετε ρυθμίσει για αυτόματη συρρίκνωση, ενδέχεται να περάσουν αρκετές ώρες από τη στιγμή που η βάση δεδομένων θα φτάσει το όριο μέχρι να συρρικνωθεί στην πραγματικότητα.

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τον τρόπο μεγέθυνσης και σμίκρυνσης των αρχείων βάσης δεδομένων και καταγραφής, κάντε κλικ στους αριθμούς των άρθρων που ακολουθούν, για να προβάλετε τα άρθρα της Γνωσιακής βάσης της Microsoft (Knowledge Base):
256650 Πώς μπορείτε να συρρικνώσετε το αρχείο καταγραφής συναλλαγών του SQL Server 7.0
272318 Συρρίκνωση του αρχείου καταγραφής συναλλαγών στον SQL Server 2000 με DBCC SHRINKFILE
317375 Ένα αρχείο καταγραφής συναλλαγών αυξάνεται απροσδόκητα ή γίνεται πλήρες σε έναν υπολογιστή που εκτελεί SQL Server
247751 ΣΦΑΛΜΑ: Το σχέδιο συντήρησης βάσης δεδομένων δεν προκαλεί σμίκρυνση της βάσης δεδομένων.
305635 Εμφανίζεται λήξη χρονικού ορίου όταν μια βάση δεδομένων αναπτύσσεται αυτόματα
949523 Ο λανθάνων χρόνος κάποιας αναπαραγωγής συναλλαγών είναι υψηλή στον SQL Server 2005, όταν η τιμή της ιδιότητας "Αρχικό μέγεθος" (Initial Size) και η τιμή της ιδιότητας "Autogrowth" είναι μικρή
Για περισσότερες πληροφορίες σχετικά με την προετοιμασία των αρχείων βάσης δεδομένων, επισκεφθείτε την ακόλουθη τοποθεσία του MSDN (Microsoft Developer Network) στο Web:
Προετοιμασία του αρχείου βάσης δεδομένων
Για περισσότερες πληροφορίες σχετικά με την ενεργοποίηση της άμεσης προετοιμασίας αρχείου, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
Τρόπος και αιτία ενεργοποίησης άμεσης προετοιμασίας αρχείου
Για περισσότερες πληροφορίες σχετικά με τη φυσική αρχιτεκτονική αρχείου καταγραφής συναλλαγής, επισκεφτείτε την ακόλουθη τοποθεσία MSDN στο Web:
Ηλεκτρονικά βιβλία SQL Server Books Online. Θέματα: "Αρχείο καταγραφής φυσικής αρχιτεκτονικής", "Συρρίκνωση του αρχείου καταγραφής συναλλαγών"

Ιδιότητες

Αναγν. άρθρου: 315512 - Τελευταία αναθεώρηση: Σάββατο, 17 Σεπτεμβρίου 2011 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Λέξεις-κλειδιά: 
kbsqlsetup kbinfo KB315512

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com