1. Εισαγωγή στο SQL Server Εποπτεία επιδόσεων
1.1 Τι είναι SQL Server Παρακολούθηση απόδοσης;
SQL Server Η παρακολούθηση απόδοσης είναι η διαδικασία παρακολούθησης, ανάλυσης και διαχείρισης της απόδοσης και της εύρυθμης λειτουργίας του SQL Server βάσεις δεδομένων. Περιλαμβάνει τη συλλογή και ερμηνεία δεδομένων σχετικά με διάφορες πτυχές του συστήματος βάσεων δεδομένων σας, για να διασφαλιστεί η βέλτιστη απόδοση, να αποτραπούν προβλήματα και να διατηρηθεί η εύρυθμη λειτουργία της βάσης δεδομένων.
Η παρακολούθηση της απόδοσης περιλαμβάνει την παρακολούθηση των χρόνων εκτέλεσης ερωτημάτων, της αξιοποίησης των πόρων, της απόδοσης του ευρετηρίου, των αποκλεισμών και των αδιεξόδων, καθώς και των μοτίβων ανάπτυξης της βάσης δεδομένων. Αυτή η συνεχής εποπτεία βοηθά τους διαχειριστές να εντοπίζουν πιθανά προβλήματα προτού επηρεάσουν τους χρήστες ή τις επιχειρηματικές δραστηριότητες.
1.2 Βασικά οφέλη της παρακολούθησης απόδοσης
Αποτελεσματικός SQL Server Η παρακολούθηση επιδόσεων προσφέρει πολλά σημαντικά πλεονεκτήματα:
- Προληπτική ανίχνευση προβλημάτων: Εντοπίστε και αντιμετωπίστε πιθανά προβλήματα προτού επηρεάσουν τους χρήστες ή τις επιχειρηματικές δραστηριότητες
- Βελτιστοποίηση απόδοσης: Εντοπίστε σημεία συμφόρησης και αναποτελεσματικότητα για να βελτιώσετε τη συνολική απόδοση της βάσης δεδομένων
- Σχεδιασμός χωρητικότητας: Πρόβλεψη αναγκών σε πόρους και σχεδιασμός μελλοντικής ανάπτυξης με βάση ιστορικά δεδομένα
- Συμμόρφωση και ασφάλεια: Διασφάλιση της συμμόρφωσης με τις κανονιστικές απαιτήσεις και εντοπισμός ύποπτων δραστηριοτήτων
1.3 Συνήθεις Προκλήσεις Απόδοσης
Χωρίς την κατάλληλη παρακολούθηση απόδοσης βάσης δεδομένων SQL, οι οργανισμοί αντιμετωπίζουν διάφορους κινδύνους:
- Απροσδόκητη διακοπή λειτουργίας που διαταράσσει τις επιχειρηματικές δραστηριότητες
- Κακή απόδοση εφαρμογής που επηρεάζει την εμπειρία χρήστη
- Απώλεια δεδομένων ή καταστροφή
- Αναποτελεσματική αξιοποίηση πόρων που οδηγεί σε περιττά κόστη
- Απογοητευμένοι χρήστες και πιθανή απώλεια εσόδων
Σύμφωνα με μια μελέτη της IDC του 2023, το 65% των προβλημάτων απόδοσης βάσεων δεδομένων προέρχεται από κακές πρακτικές παρακολούθησης ή βελτιστοποίησης.
2. Κατανόηση της Εποπτείας Επιδόσεων των Windows (PerfMon)
2.1 Τι είναι η Εποπτεία Επιδόσεων των Windows;
Το Windows Performance Monitor (PerfMon) είναι ένα ενσωματωμένο εργαλείο των Windows που παρακολουθεί τους πόρους του συστήματος και την απόδοση των εφαρμογών. SQL Server διαχειριστές, το PerfMon παρέχει πολύτιμες πληροφορίες τόσο για το λειτουργικό σύστημα όσο και για SQL Server μετρήσεις, καθιστώντας την απαραίτητη για μια ολοκληρωμένη ανάλυση απόδοσης.
Το PerfMon μετρά τα στατιστικά στοιχεία απόδοσης σε τακτά χρονικά διαστήματα και αποθηκεύει αυτά τα στατιστικά στοιχεία σε αρχεία για μελλοντική ανάλυση. Οι διαχειριστές βάσεων δεδομένων μπορούν να επιλέξουν το χρονικό διάστημα, τη μορφή αρχείου και ποια στατιστικά στοιχεία θα παρακολουθούν. Το εργαλείο δεν είναι... SQL Server-ειδικό—οι διαχειριστές συστημάτων το χρησιμοποιούν για την παρακολούθηση των ίδιων των Windows, του Exchange, των διακομιστών αρχείων και οποιασδήποτε εφαρμογής που μπορεί να αντιμετωπίσει σημεία συμφόρησης.
2.2 Εκκίνηση της Παρακολούθησης Επιδόσεων
Μπορείτε να ξεκινήσετε το Performance Monitor χρησιμοποιώντας διάφορες μεθόδους:
- Πατήστε Αρχική, τύπου Perfmon στο πλαίσιο αναζήτησης, κάντε κλικ στο "Performand Monitor" στο αποτέλεσμα αναζήτησης:
- Τύπος Των Windows + R, τύπου Perfmon, και πατήστε εισάγετε
- Πλοηγηθείτε στο Πίνακας ελέγχου -> Σύστημα και Ασφάλεια -> διοικητική Εργαλεία -> Εποπτεία επιδόσεων
3. ουσιώδης SQL Server Μετρητές απόδοσης
3.1 Μετρητές απόδοσης μνήμης
Οι μετρητές μνήμης είναι κρίσιμοι για την παρακολούθηση SQL Server απόδοση, καθώς υποδεικνύουν εάν η βάση δεδομένων σας διαθέτει επαρκείς πόρους μνήμης.
Διαθέσιμα MByte
Αυτός ο μετρητής δείχνει την ποσότητα φυσικής μνήμης που είναι άμεσα διαθέσιμη για κατανομή. Θα πρέπει να παραμένει αρκετά σταθερή και ιδανικά να μην πέσει κάτω από τα 4096 MB. Οι χαμηλές τιμές μπορεί να υποδηλώνουν ότι SQL ServerΗ ρύθμιση μέγιστης μνήμης παραμένει στην προεπιλεγμένη τιμή ή δεν είναιSQL Server Οι εφαρμογές καταναλώνουν μνήμη.
Προσδόκιμο ζωής σελίδας
Το Προσδόκιμο Ζωής Σελίδας μετρά πόσο καιρό (σε δευτερόλεπτα) μια σελίδα παραμένει στην περιοχή buffer χωρίς να γίνεται αναφορά. Μια κανονική τιμή είναι 300 δευτερόλεπτα ή περισσότερο. Χαμηλότερες τιμές υποδηλώνουν πίεση μνήμης και υπερβολική εναλλαγή buffer, μειώνοντας την αποτελεσματικότητα της προσωρινής μνήμης.
Αναλογία επισκέψεων προσωρινής μνήμης buffer
Αυτός ο μετρητής υποδεικνύει το ποσοστό των αιτημάτων δεδομένων που απαντώνται χρησιμοποιώντας την προσωρινή μνήμη buffer SQL (μνήμη) αντί για την ανάγνωση από τον δίσκο. Συνήθως πληροί ή υπερβαίνει το 99%. Χαμηλότερες τιμές υποδηλώνουν ότι SQL Server χρειάζεται περισσότερη μνήμη ή εξακολουθεί να προθερμαίνεται μετά από επανεκκίνηση.
Επιχορηγήσεις μνήμης σε εκκρεμότητα
Αυτό δείχνει τον αριθμό των διεργασιών που περιμένουν μνήμη εντός SQL ServerΥπό κανονικές συνθήκες, αυτή η τιμή θα πρέπει να είναι σταθερά 0. Οι υψηλότερες τιμές υποδεικνύουν ανεπαρκή κατανομή μνήμης για SQL Server.
Μνήμη διακομιστή προορισμού έναντι συνολικής μνήμης διακομιστή
Η μνήμη του διακομιστή προορισμού υποδεικνύει την ιδανική ποσότητα μνήμης SQL Server θέλει να χρησιμοποιήσει. Η συνολική μνήμη διακομιστή δείχνει τι SQL Server χρησιμοποιεί αυτήν τη στιγμή. Η αναλογία μεταξύ αυτών των τιμών θα πρέπει να είναι περίπου 1. Σημαντικές διαφορές μπορεί να υποδηλώνουν πίεση μνήμης ή ανεπαρκή διαθέσιμη μνήμη.
3.2 Μετρητές απόδοσης επεξεργαστή
Οι μετρητές CPU βοηθούν στον εντοπισμό σημείων συμφόρησης του επεξεργαστή και στην κατανόηση του τρόπου λειτουργίας του. SQL Server χρησιμοποιεί υπολογιστικούς πόρους.
% Χρόνος Επεξεργαστή
Αυτό μετρά το ποσοστό του χρόνου που αφιερώνει ο επεξεργαστής στην εκτέλεση μη αδρανειακών νημάτων. Σε ενεργούς διακομιστές, οι τιμές μπορούν να φτάσουν στο 100%, αλλά η συνεχής χρήση άνω του 70-75% συνήθως υποδηλώνει προβλήματα απόδοσης για τους χρήστες. Τα ελλείποντα ή ανεπαρκή ευρετήρια συχνά προκαλούν υψηλή χρήση της CPU.
% Προνομιούχου Χρόνου
Ο χρόνος επεξεργαστή χωρίζεται σε λειτουργία χρήστη και σε λειτουργία με δικαιώματα (πυρήνα). Όλη η πρόσβαση στον δίσκο και οι είσοδοι/έξοδοι πραγματοποιούνται σε λειτουργία πυρήνα. Εάν αυτός ο μετρητής υπερβεί το 25%, το σύστημα πιθανότατα εκτελεί πάρα πολλές εισόδους/εξόδους. Οι κανονικές τιμές κυμαίνονται μεταξύ 5% και 10%.
Μήκος ουράς επεξεργαστή
Αυτός ο μετρητής εμφανίζει νήματα που περιμένουν πόρους CPU. Τιμές σταθερά πάνω από 1 (εκτός από κατά τη διάρκεια SQL Server συμπίεση αντιγράφων ασφαλείας) υποδεικνύουν πίεση στην CPU. Αυτό συχνά σημαίνει ότι υπάρχουν εγκατεστημένες άλλες εφαρμογές στον SQL Server μηχανή, η οποία παραβιάζει τις βέλτιστες πρακτικές.
Διακόπτες περιβάλλοντος/δευτ.
Αυτό μετρά πόσο συχνά ο επεξεργαστής εναλλάσσεται μεταξύ νημάτων. Η υπερβολική εναλλαγή περιβάλλοντος μπορεί να επηρεάσει την απόδοση και υποδηλώνει υψηλό φόρτο συστήματος.
3.3 Μετρητές απόδοσης εισόδου/εξόδου δίσκου
Οι μετρητές δίσκων είναι απαραίτητοι για την παρακολούθηση της απόδοσης του SQL, καθώς η είσοδος/έξοδος δίσκου συχνά αποτελεί το κύριο σημείο συμφόρησης στα συστήματα βάσεων δεδομένων.
% Χρόνος Δίσκου
Αυτό καταγράφει το ποσοστό του χρόνου που ο δίσκος ήταν απασχολημένος με λειτουργίες ανάγνωσης/εγγραφής. Τιμές σταθερά πάνω από 85% υποδεικνύουν συμφόρηση εισόδου/εξόδου. Δεδομένου ότι ο δίσκος είναι πολύ πιο αργός από τη μνήμη, η μείωση αυτής της μέτρησης βελτιώνει την απόδοση.
Μέσος όρος δευτ. δίσκου/ανάγνωση και μέσος όρος δευτ. δίσκου/εγγραφή
Αυτοί οι μετρητές μετρούν τον μέσο χρόνο (σε δευτερόλεπτα) για λειτουργίες ανάγνωσης και εγγραφής. Εάν οι μέσες τιμές υπερβαίνουν τα 10-20ms, ο δίσκος χρειάζεται πολύ χρόνο για να επεξεργαστεί δεδομένα. Οι μονάδες καταγραφής συναλλαγών απαιτούν ιδιαίτερα γρήγορη απόδοση εγγραφής.
Μήκος ουράς δίσκου
Αυτό δείχνει εκκρεμή αιτήματα για ανάγνωση/εγγραφή στο δίσκο. Τιμές σταθερά υψηλότερες από 2 (ή 2 ανά δίσκο για συστοιχίες RAID) υποδεικνύουν ότι ο δίσκος δεν μπορεί να ανταποκριθεί στα αιτήματα εισόδου/εξόδου.
Bytes/δευτ. δίσκου
Αυτό παρακολουθεί τον ρυθμό μεταφοράς δεδομένων από/προς τον δίσκο. Εάν αυτός ο ρυθμός υπερβαίνει την ονομαστική χωρητικότητα του δίσκου, τα δεδομένα αρχίζουν να συσσωρεύονται, όπως υποδεικνύεται από την αύξηση του μήκους ουράς δίσκου.
Μεταφορές δίσκου/δευτ.
Αυτό παρακολουθεί τον αριθμό των λειτουργιών ανάγνωσης/εγγραφής που εκτελούνται στον δίσκο. SQL Server Η πρόσβαση στα δεδομένα είναι συνήθως τυχαία, κάτι που είναι πιο αργό λόγω της κίνησης της κεφαλής της μονάδας δίσκου. Βεβαιωθείτε ότι αυτή η τιμή παραμένει κάτω από τη μέγιστη ταχύτητα της μονάδας δίσκου σας (συνήθως 100/δευτ. για τυπικές μονάδες δίσκου).
3.4 SQL Server Συγκεκριμένοι μετρητές
3.4.1 Μετρητές Διαχείρισης Buffer
Οθόνη μετρητών Buffer Manager SQL ServerΛειτουργίες προσωρινής αποθήκευσης μνήμης:
- Αναγνώσεις σελίδας/δευτ.: Συνολικός αριθμός αναγνώσεων φυσικής σελίδας βάσης δεδομένων
- Εγγραφές σελίδας/δευτ.: Συνολικός αριθμός εγγραφών σε φυσική σελίδα βάσης δεδομένων
- Ο Lazy γράφει/δευτ.: Αριθμός buffer που γράφτηκαν από τον lazy writer για να ελευθερώσουν μνήμη
- Σελίδες σημείου ελέγχου/δευτ.: Σελίδες που καθαρίστηκαν από σημείο ελέγχου ή άλλες λειτουργίες που απαιτούν την εκκαθάριση όλων των βρώμικων σελίδων
3.4.2 Μετρητές Στατιστικών SQL
Αυτοί οι μετρητές παρέχουν πληροφορίες σχετικά με SQL Server επεξεργασία ερωτημάτων:
- Αιτήματα παρτίδας/δευτ.: Αριθμός αιτημάτων SQL σε παρτίδες που ελήφθησαν από τον διακομιστή. Αυτό χρησιμεύει ως σημείο αναφοράς για τη δραστηριότητα του διακομιστή.
- Μεταγλωτίσεις SQL/δευτ.: Αριθμός μεταγλωττίσεων SQL. Θα πρέπει να είναι 10% ή λιγότερο του συνόλου των αιτημάτων παρτίδας/δευτερόλεπτο.
- Επαναμεταγλωττίσεις SQL/δευτ.: Αριθμός επαναμεταγλωττίσεων SQL. Θα πρέπει επίσης να είναι 10% ή λιγότερο του συνόλου των αιτημάτων παρτίδας/δευτερόλεπτο.
3.4.3 Μετρητές Γενικών Στατιστικών
- Συνδέσεις χρηστών: Αριθμός χρηστών που είναι συνδεδεμένοι στο σύστημα. Χρησιμοποιείται ως σημείο αναφοράς για την παρακολούθηση της αύξησης των συνδέσεων με την πάροδο του χρόνου.
- Αποκλεισμένες διεργασίες: Τρέχων αριθμός αποκλεισμένων διεργασιών. Ιδανικά θα πρέπει να είναι 0
3.4.4 Μετρητές Διαχείρισης Μνήμης
- Επιχορηγήσεις Μνήμης σε Εκκρεμότητα: Συνολικός αριθμός διεργασιών που αναμένουν την παραχώρηση μνήμης χώρου εργασίας. Ιδανικά θα πρέπει να είναι 0.
4. Ρύθμιση της Παρακολούθησης Επιδόσεων για SQL Server(Windows Vista / Server 2008 και νεότερες εκδόσεις)
Πρώτα απ 'όλα, πρέπει να δημιουργήσουμε ένα κοντέινερ για να διαχειριζόμαστε τους μετρητές πιο εύκολα:
- Για τα Windows Vista / Server 2008 και νεότερες εκδόσεις, μπορείτε να δημιουργήσετε σύνολα συλλεκτών δεδομένων σε αυτήν την ενότητα.
- Για Windows XP / Server 2003 και παλαιότερες εκδόσεις, μπορείτε να δημιουργήσετε αρχεία καταγραφής μετρητών στο την επόμενη ενότητα.
4.1 Τι είναι τα σύνολα συλλεκτών δεδομένων;
Τα σύνολα συλλογής δεδομένων οργανώνουν τους μετρητές απόδοσης, τα δεδομένα ιχνηλάτησης συμβάντων και τις πληροφορίες διαμόρφωσης συστήματος σε μία ενιαία μονάδα συλλογής. Παρέχουν μεγαλύτερη ευελιξία από τα απλά αρχεία καταγραφής μετρητών και επιτρέπουν την αυτοματοποιημένη, προγραμματισμένη συλλογή δεδομένων για ολοκληρωμένη παρακολούθηση της απόδοσης της βάσης δεδομένων SQL.
4.2 Δημιουργία συνόλου συλλέκτη δεδομένων
Δημιουργήστε ένα προσαρμοσμένο σύνολο συλλεκτών δεδομένων για παρακολούθηση SQL Server μετρητές απόδοσης:
- Άνοιγμα Παρακολούθησης Επιδόσεων
- Ανάπτυξη Σετ συλλεκτών δεδομένων
- Κάντε δεξί κλικ Ορίζεται Χρήστη
- Αγορά Νέα -> Σετ συλλογής δεδομένων
- Εισαγάγετε ένα περιγραφικό όνομα (π.χ., "SQL Server Μετρήσεις απόδοσης»)
- Αγορά Μη αυτόματη δημιουργία (Για προχωρημένους)
- Πατήστε Επόμενο
- Έλεγχος Δημιουργία αρχείων καταγραφής δεδομένων -> Μετρητής απόδοσης
- Πατήστε Επόμενο
- Πατήστε Πρόσθεση για να επιλέξετε μετρητές
- Πρόσθεση επιθυμητή SQL Server και μετρητές συστήματος.
- σετ Διάστημα δειγμάτων
- Για τακτική παρακολούθηση, χρησιμοποιήστε 1 λεπτό (60 δευτερόλεπτα)
- Για ενεργή αντιμετώπιση προβλημάτων, χρησιμοποιήστε 15-30 δευτερόλεπτα
- Αποφύγετε την εκτέλεση καταγραφών υψηλής συχνότητας μακροπρόθεσμα, καθώς μπορούν να επηρεάσουν την απόδοση και να δημιουργήσουν υπερβολικά πολλά δεδομένα.
- Πατήστε Επόμενο
- Επιλέξτε την τοποθεσία για να αποθηκεύσετε τα αρχεία καταγραφής
- Πατήστε φινίρισμα, θα δημιουργηθεί ένα νέο σύνολο συλλέκτη δεδομένων.
- Από προεπιλογή, το νέο σύνολο συλλέκτη δεδομένων θα ΔΕΝ θα ξεκινήσει αυτόματα. Θα πρέπει να το βρείτε στον αριστερό πίνακα, κάτω από 💪 Βελτίωση της απόδοσης στην άσκηση -> Σετ συλλεκτών δεδομένων -> Ορίζεται Χρήστη -> Ο Συλλέκτης Δεδομένων σας, κάντε δεξί κλικ και επιλέξτε Αρχική
4.3 Μετρητές πλήκτρων για προσθήκη
- Μνήμη -> Διαθέσιμα MBytes
- Φυσικός Δίσκος -> Μέσος όρος δευτ. δίσκου/ανάγνωση (όλες οι παρουσίες εκτός από _Total)
- Φυσικός Δίσκος -> Μέσος όρος δευτ./εγγραφής δίσκου (όλες οι παρουσίες εκτός από _Total)
- Φυσικός Δίσκος -> Αναγνώσεις Δίσκου/δευτ. (όλες οι εμφανίσεις εκτός από _Total)
- Φυσικός Δίσκος -> Εγγραφές/δευτ. δίσκου (όλες οι εμφανίσεις εκτός από _Total)
- Επεξεργαστής -> % Χρόνος Επεξεργαστή (όλες οι παρουσίες εκτός από _Total)
- SQLServer: Γενικά Στατιστικά -> Συνδέσεις Χρηστών
- SQLServer: Διαχείριση μνήμης -> Εκκρεμείς επιχορηγήσεις μνήμης
- SQLServer: Στατιστικά SQL -> Αιτήματα παρτίδας/δευτ.
- SQLServer: Στατιστικά SQL -> Μεταγλωττίσεις SQL/δευτ.
- SQLServer: Στατιστικά SQL -> Επαναμεταγλωττίσεις SQL/δευτ.
- Σύστημα -> Μήκος ουράς επεξεργαστή
4.4 Ρύθμιση Συνθηκών Διακοπής
Διαμορφώστε τις συνθήκες διακοπής για να αποτρέψετε την απεριόριστη αύξηση δεδομένων:
- Αφού δημιουργήσετε το σύνολο συλλέκτη δεδομένων, κάντε δεξί κλικ σε αυτό και επιλέξτε Ιδιοκτησίες
- Κάντε κλικ στο Συνθήκη διακοπής αυτί
- Ενεργοποίηση Συνολική διάρκεια
- Ορισμός διάρκειας σε 1 ημέρα (24 ώρες)
- Πατήστε OK για να αποθηκεύσετε
Αυτό διασφαλίζει ότι το αρχείο καταγραφής δεν θα μεγαλώσει πολύ και θα επανεκκινηθεί αυτόματα εάν έχει προγραμματιστεί.
4.5 Προγραμματισμός συλλογής δεδομένων
Αυτοματοποιήστε τη συλλογή δεδομένων για να διασφαλίσετε συνεπή παρακολούθηση:
- Κάντε δεξί κλικ στο σύνολο συλλέκτη δεδομένων σας και επιλέξτε Ιδιοκτησίες
- Κάντε κλικ στο Πρόγραμμα αυτί
- Πατήστε Πρόσθεση για να δημιουργήσετε ένα νέο χρονοδιάγραμμα
- Ρύθμιση ημερομηνίας και ώρας έναρξης
- Ορισμός μοτίβου επανάληψης (π.χ., καθημερινά)
- Πατήστε OK για να αποθηκεύσετε το πρόγραμμα
Για αυτόματη εκκίνηση, ρυθμίστε το σύνολο συλλέκτη δεδομένων ώστε να ξεκινά κατά την εκκίνηση του διακομιστή, δημιουργώντας ένα έναυσμα εκκίνησης στο Χρονοδιάγραμμα εργασιών των Windows.
5. Ρύθμιση της Παρακολούθησης Επιδόσεων για SQL Server(Windows XP / Server 2003 και παλαιότερες εκδόσεις)
Για τα Windows XP / Server 2003 και παλαιότερες εκδόσεις, μπορείτε να δημιουργήσετε αρχεία καταγραφής μετρητών, τα οποία σας επιτρέπουν να επιλέξετε ένα σύνολο μετρητών απόδοσης και να τους καταγράφετε σε ένα αρχείο περιοδικά.
5.1 Δημιουργία αρχείων καταγραφής μετρητών
Ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε ένα νέο αρχείο καταγραφής μετρητή:
- Άνοιγμα Παρακολούθησης Επιδόσεων
- Ανάπτυξη Αρχεία καταγραφής επιδόσεων και ειδοποιήσεις στο αριστερό παράθυρο
- Κάντε δεξί κλικ Καταμετρητές κορμών
- Αγορά Νέες ρυθμίσεις καταγραφής
- Ονομάστε το αρχείο καταγραφής με το όνομα του διακομιστή βάσης δεδομένων σας (π.χ., "ProductionSQL01")
- Πατήστε OK για να ξεκινήσετε τη διαμόρφωση
Η δημιουργία ξεχωριστών αρχείων καταγραφής μετρητών για κάθε διακομιστή σάς επιτρέπει να ελέγχετε την απόδοση σε μεμονωμένους διακομιστές χωρίς να συλλέγετε δεδομένα για όλους τους διακομιστές ταυτόχρονα.
5.2 Προσθήκη μετρητών απόδοσης
Αφού δημιουργήσετε ένα αρχείο καταγραφής μετρητών, προσθέστε τους συγκεκριμένους μετρητές απόδοσης που θέλετε να παρακολουθείτε:
- Κάντε κλικ στο Προσθήκη μετρητών κουμπί
- Αλλάξτε το όνομα του υπολογιστή ώστε να δείχνει προς το δικό σας SQL Server παράδειγμα
- Τύπος Tab για να φορτώσετε τα διαθέσιμα αντικείμενα απόδοσης
- Επιλέξτε ένα αντικείμενο απόδοσης από το αναπτυσσόμενο μενού (π.χ., Μνήμη)
- Επιλέξτε συγκεκριμένους μετρητές από η λίστα
- Επιλέξτε παρουσίες, εάν είναι εφικτό (π.χ., μεμονωμένοι επεξεργαστές ή δίσκοι)
- Πατήστε Πρόσθεση για να συμπεριλάβετε τον μετρητή
- Επαναλάβετε για όλους τους επιθυμητούς μετρητές
- Πατήστε Κλεισιμο όταν τελειώσει
5.3 Ρύθμιση Διαστημάτων Δείγματος
Το διάστημα δειγματοληψίας καθορίζει πόσο συχνά συλλέγει δεδομένα το Performance Monitor. Διαμορφώστε κατάλληλα διαστήματα με βάση τις ανάγκες παρακολούθησης:
- Στις ιδιότητες του καταγραφικού μετρητή, εντοπίστε Δείγμα δεδομένων κάθε
- Ορίστε το διάστημα (η προεπιλογή είναι 15 δευτερόλεπτα)
- Για την παρακολούθηση της αρχικής κατάστασης, χρησιμοποιήστε διαστήματα 1 λεπτού για την καθημερινή συλλογή
- Για την αντιμετώπιση προβλημάτων, χρησιμοποιήστε διαστήματα 15-30 δευτερολέπτων για σύντομες εκρήξεις
- Πατήστε OK να εφαρμόσει
Να θυμάστε ότι τα μικρότερα χρονικά διαστήματα δημιουργούν περισσότερα δεδομένα, τα οποία μπορεί να είναι πιο δύσκολο να αποδοθούν και να αναλυθούν. Τα μεγαλύτερα χρονικά διαστήματα ενδέχεται να μην εμφανίσουν σημαντικές αιχμές. Εξισορροπήστε την λεπτομέρεια των δεδομένων με τις απαιτήσεις αποθήκευσης και ανάλυσης.
5.4 Ρύθμιση παραμέτρων αρχείων καταγραφής
Η σωστή διαμόρφωση του αρχείου καταγραφής διασφαλίζει ότι τα δεδομένα αποθηκεύονται αποτελεσματικά και προσβάσιμα:
- Κάντε κλικ στο Αρχεία tab στις ιδιότητες του καταγραφέα μετρητή
- Αλλαγή τύπου αρχείου καταγραφής σε Αρχείο κειμένου (οριοθετημένο με κόμμα) για εύκολη εισαγωγή από το Excel
- Πατήστε Διαμορφώστε
- Ορίστε τη διαδρομή αρχείου σε μια ειδική τοποθεσία (π.χ., έναν κοινόχρηστο φάκελο PerformanceLogs)
- Πατήστε OK για να επιβεβαιώσετε
Χρησιμοποιήστε ένα κοινόχρηστο στοιχείο προσβάσιμο μέσω δικτύου για την αποθήκευση αρχείων καταγραφής, ώστε να έχετε πρόσβαση σε αρχεία από απόσταση και να τα κοινοποιείτε σε άλλους χρήστες.
5.5 Ρύθμιση διαπιστευτηρίων
Ρυθμίστε τις κατάλληλες παραμέτρους διαπιστευτηρίων, ώστε το Performance Monitor να έχει απομακρυσμένη πρόσβαση στο απομακρυσμένο σύστημα. SQL Server περιπτώσεις:
- Στις ιδιότητες του καταγραφικού μετρητή, εντοπίστε Εκτέλεση ως
- Εισαγάγετε το όνομα χρήστη του τομέα σας με τη μορφή: ΤΟΜΕΑΣ\όνομα χρήστη
- Πατήστε Ορισμός κωδικού πρόσβασης
- Εισαγάγετε και επιβεβαιώστε τον κωδικό πρόσβασής σας
- Πατήστε OK για να αποθηκεύσετε
Αυτό επιτρέπει στην υπηρεσία PerfMon να συλλέγει στατιστικά στοιχεία χρησιμοποιώντας τα δικαιώματα τομέα σας αντί για τα δικά της διαπιστευτήρια.
6. Ανάλυση δεδομένων παρακολούθησης απόδοσης
6.1 Προβολή αρχείων καταγραφής στο Performance Monitor
Το Performance Monitor μπορεί να εμφανίσει ιστορικά δεδομένα από αποθηκευμένα αρχεία καταγραφής:
- Άνοιγμα Παρακολούθησης Επιδόσεων
- Στο αριστερό παράθυρο, κάντε κλικ στο Εργαλεία παρακολούθησης -> Εποπτεία επιδόσεων.
- Κάντε δεξί κλικ οπουδήποτε στην περιοχή του γραφήματος
- Αγορά Ιδιοκτησίες
- Κάντε κλικ στο Πηγή αυτί
- Αγορά Αρχεία καταγραφής κουμπί επιλογής
- Πατήστε Πρόσθεση
- Μεταβείτε στο αρχείο καταγραφής σας (.blg ή .csv)
- Επιλέξτε το αρχείο και κάντε κλικ Ανοικτό
- Χρησιμοποιήστε το Εύρος χρόνου ρυθμιστικό για να επιλέξετε την περίοδο που θέλετε να αναλύσετε
- Πατήστε OK για να κλείσετε το παράθυρο διαλόγου Ιδιότητες
- Κάντε κλικ στο πράσινο εικονίδιο συν για να προσθέσετε μετρητές από το αρχείο καταγραφής
- Επιλέξτε τους επιθυμητούς μετρητές για εμφάνιση
- Πατήστε OK
Το γράφημα θα εμφανίζει πλέον ιστορικά δεδομένα από το αρχείο καταγραφής. Χρησιμοποιήστε το ρυθμιστικό Χρονικού εύρους στις Ιδιότητες για να περιορίσετε συγκεκριμένες χρονικές περιόδους για λεπτομερή ανάλυση.
6.2 Εξαγωγή δεδομένων σε Excel
Το Excel παρέχει ισχυρές δυνατότητες ανάλυσης για δεδομένα μετρητών απόδοσης:
- Ανοίξτε την Παρακολούθηση Επιδόσεων με φορτωμένο το αρχείο καταγραφής σας
- Κάντε δεξί κλικ οπουδήποτε στην περιοχή του γραφήματος
- Αγορά Αποθήκευση δεδομένων ως
- Επιλέξτε μια τοποθεσία για το αρχείο
- Αγορά Αρχείο κειμένου (οριοθετημένο με κόμμα) (.csv) από το αναπτυσσόμενο μενού
- Πατήστε Αποθήκευση
- Άνοιγμα του αρχείου CSV στο Excel
Μορφοποιήστε τα εξαγόμενα δεδομένα για καλύτερη ανάλυση:
- Διαγράψτε τη μισοκενή γραμμή 2 και καθαρίστε το κελί A1
- Μορφοποίηση στήλης Α ως Ημερομηνία/Ώρα
- Μορφοποίηση αριθμητικών στηλών με μηδενικά δεκαδικά ψηφία και διαχωριστικό χιλιάδων
- Εύρεση και αντικατάσταση ονομάτων διακομιστών στις κεφαλίδες (π.χ., αντικατάσταση του "\\ΟΝΟΜΑ ΔΙΑΚΟΜΙΣΤΗ" με κενό)
- Καθαρισμός ονομάτων αντικειμένων στις κεφαλίδες (π.χ., "Μνήμη", "Φυσικός δίσκος", "Επεξεργαστής")
- Μειώστε το μέγεθος της γραμματοσειράς της κεφαλίδας σε 8 σημεία για καλύτερη ορατότητα
6.3 Ερμηνεία τιμών μετρητών
6.3.1 Ανάλυση μετρητή μνήμης
Όταν αναλύετε τους μετρητές μνήμης, αναζητήστε αυτούς τους δείκτες:
- Διαθέσιμα MBytes: Θα πρέπει να παραμένει σταθερά πάνω από 4096 MB
- Προσδοκώμενη διάρκεια ζωής σελίδας: Τιμές άνω των 300 δευτερολέπτων υποδεικνύουν υγιή μνήμη. Χαμηλότερες τιμές υποδηλώνουν πίεση μνήμης.
- Αναλογία επισκέψεων προσωρινής μνήμης buffer: Θα πρέπει να πληροί ή να υπερβαίνει το 99%. Οι χαμηλότερες τιμές υποδεικνύουν υπερβολική ανάγνωση δίσκου.
- Επιχορηγήσεις Μνήμης σε Εκκρεμότητα: Θα πρέπει πάντα να είναι 0. Οποιαδήποτε θετική τιμή υποδηλώνει έλλειψη μνήμης
6.3.2 Ανάλυση μετρητή CPU
Οι δείκτες απόδοσης της CPU περιλαμβάνουν:
- % Χρόνου Επεξεργαστή: Η παρατεταμένη χρήση άνω του 75% υποδηλώνει προβλήματα απόδοσης. Οι αυξήσεις στο 100% είναι φυσιολογικές, αλλά δεν θα πρέπει να επιμένουν.
- Μήκος ουράς επεξεργαστή: Τιμές άνω του 1 υποδεικνύουν πίεση στην CPU. Ελέγξτε τη Διαχείριση εργασιών για να εντοπίσετε ποιες διεργασίες καταναλώνουν CPU.
- % Προνομιούχου Χρόνου: Θα πρέπει να παραμείνει μεταξύ 5-10%. Τιμές άνω του 25% υποδηλώνουν υπερβολικές λειτουργίες εισόδου/εξόδου.
6.3.3 Ανάλυση μετρητή δίσκου
Όρια απόδοσης δίσκου:
- Μέσος όρος δευτ. δίσκου/ανάγνωση και εγγραφή: Θα πρέπει να παραμείνει κάτω από 10-20ms. Υψηλότερες τιμές υποδεικνύουν αργά υποσυστήματα δίσκου.
- Μήκος ουράς δίσκου: Οι τιμές σταθερά πάνω από 2 (ή 2 ανά δίσκο σε RAID) υποδεικνύουν σημεία συμφόρησης εισόδου/εξόδου.
- % Χρόνου Δίσκου: Οι σταθερές τιμές άνω του 85% υποδηλώνουν κορεσμό δίσκου
6.4 Χρήση Τύπων και Στατιστικών
Προσθέστε στατιστικούς τύπους στο Excel για γρήγορη ανάλυση:
- Εισαγάγετε 7 κενές γραμμές στην κορυφή του υπολογιστικού φύλλου σας
- Προσθήκη ετικετών στη στήλη Α: Μέσος όρος, Διάμεσος, Ελάχιστο, Μέγιστο, Τυπική απόκλιση
- Στο κελί B2, πληκτρολογήστε: =AVERAGE(B9:B100) (προσαρμόστε το B100 στην τελευταία γραμμή δεδομένων σας)
- Στο κελί B3, πληκτρολογήστε: =MEDIAN(B9:B100)
- Στο κελί B4, πληκτρολογήστε: =MIN(B9:B100)
- Στο κελί B5, πληκτρολογήστε: =MAX(B9:B100)
- Στο κελί B6, πληκτρολογήστε: =STDEV(B9:B100)
- Αντιγραφή τύπων σε όλες τις στήλες του μετρητή
- Επιλέξτε το κελί B9 και πατήστε Alt+W+F+Enter για να σταθεροποιήσετε τα τμήματα παραθύρου
Αυτά τα στατιστικά στοιχεία βοηθούν στον εντοπισμό τάσεων, ακραίων τιμών και κανονικών λειτουργικών εύρων για κάθε μετρητή.
7. Εργαλείο Ανάλυσης Απόδοσης για Αρχεία Καταγραφής (PAL)
7.1 Εισαγωγή στο PAL
Το Performance Analysis for Logs (PAL) είναι ένα δωρεάν εργαλείο που αναπτύχθηκε από τον Clint Huffman και το οποίο αναλύει τα αρχεία καταγραφής Performance Monitor και δημιουργεί αναφορές HTML με ανάλυση ορίων. Το PAL συγκρίνει τα δεδομένα απόδοσής σας με γνωστά όρια και παρέχει λεπτομερείς προτάσεις για... SQL Server βελτιστοποίηση απόδοσης.
Κατεβάστε το PAL από το αποθετήριο GitHub: https://github.com/clinthuffman/PAL
7.2 Ρύθμιση PAL
Εγκαταστήστε το PAL ακολουθώντας τα παρακάτω βήματα:
- Κατεβάστε το αρχείο εγκατάστασης PAL από το GitHub
- Εκτελέστε το πρόγραμμα εγκατάστασης
- Πατήστε Επόμενο στην οθόνη υποδοχής
- Ελέγξτε και αποδεχτείτε τον κατάλογο εγκατάστασης
- Πατήστε Επόμενο να συνεχίσει
- Πατήστε εγκαταστήστε για να ξεκινήσει η εγκατάσταση
- Περιμένετε να ολοκληρωθεί η εγκατάσταση
- Πατήστε φινίρισμα
7.3 Επεξεργασία αρχείων καταγραφής με PAL
Αναλύστε τα αρχεία καταγραφής Performance Monitor χρησιμοποιώντας το PAL:
- Εκκινήστε το PAL από το μενού Έναρξη ή τον κατάλογο εγκατάστασης
- Κάντε κλικ στο Αρχείο καταγραφής μετρητή αυτί
- Πατήστε Αναζήτηση για να επιλέξετε το αρχείο .blg σας
- Μεταβείτε στο αρχείο καταγραφής της Παρακολούθησης Επιδόσεων
- Πατήστε Ανοικτό
- Κάντε κλικ στο Αρχείο κατωφλίου αυτί
- Επιλέξτε ένα αρχείο κατωφλίου από το αναπτυσσόμενο μενού (π.χ., "SQL Server 2016 ")
- Κάντε κλικ στο Ερωτήσεις αυτί
- Απαντήστε σε ερωτήσεις σχετικά με τη διαμόρφωση του συστήματός σας
- Διευκρινίστε εάν το δικό σας SQL Server είναι OLTP ή Αποθήκη Δεδομένων
- Εισαγάγετε τη συνολική διαθέσιμη μνήμη RAM
- Κάντε κλικ στο Επιλογές εξόδου αυτί
- Επιλέξτε έναν κατάλογο εξόδου για την αναφορά HTML
- Έλεγχος HTML Μορφή εξόδου
- Κάντε κλικ στο Εκτέλεση αυτί
- Ελέγξτε τις επιλογές σας
- Έλεγχος Έναρξη εκτέλεσης τώρα
- Πατήστε φινίρισμα
7.4 Ανάλυση αναφορών PAL
Αφού το PAL ολοκληρώσει την ανάλυση, δημιουργεί μια αναφορά HTML που περιέχει:
- Εκτελεστική σύνοψη ζητημάτων απόδοσης
- Λεπτομερής ανάλυση αντιστάθμισης με γραφήματα
- Οι παραβιάσεις ορίων επισημαίνονται με χρώμα
- Συγκεκριμένες προτάσεις για κάθε θέμα
- Ιστορικές τάσεις και μοτίβα
Η αναφορά χρησιμοποιεί χρωματική κωδικοποίηση για να υποδείξει τη σοβαρότητα: κόκκινο για κρίσιμα ζητήματα, κίτρινο για προειδοποιήσεις και πράσινο για μετρήσεις που δεν παρουσιάζουν προβλήματα. Εξετάστε κάθε ενότητα για να κατανοήσετε τα σημεία συμφόρησης στην απόδοση και ακολουθήστε τις συστάσεις του PAL για βελτιστοποίηση.
8. Εναλλακτική λύση SQL Server Εργαλεία παρακολούθησης
8.1 Ενσωματωμένο SQL Server Κόλλα
8.1.1 SQL Server Δραστηριότητα Monitor
SQL Server Δραστηριότητα Monitor εμφανίζει πληροφορίες σε πραγματικό χρόνο σχετικά με SQL Server διαδικασίες και απόδοση:
- Ανοικτό SQL Server Management Studio (SSMS) και σύνδεση με την παρουσία του διακομιστή σας
- Κάντε δεξί κλικ στο όνομα του διακομιστή στην Εξερεύνηση αντικειμένων
- Αγορά Δραστηριότητα Monitor
Η Παρακολούθηση Δραστηριότητας εμφανίζει διεργασίες, αναμονές πόρων, είσοδο/έξοδο αρχείων δεδομένων και πρόσφατα ακριβά ερωτήματα. Παρέχει γρήγορες πληροφορίες για την τρέχουσα δραστηριότητα της βάσης δεδομένων, αλλά δεν αποθηκεύει ιστορικά δεδομένα.
8.1.2 SQL Server Πίνακας ελέγχου απόδοσης
SQL Server Το Management Studio περιλαμβάνει ενσωματωμένες αναφορές απόδοσης:
- In SQL Server Management Studio (SSMS), κάντε δεξί κλικ στο SQL Server παράδειγμα στην Εξερεύνηση Αντικειμένων
- Αγορά Εκθέσεις -> Τυπικές εκθέσεις
- Επιλέξτε από τις διαθέσιμες αναφορές όπως Πίνακας ελέγχου απόδοσης
Ο Πίνακας Ελέγχου Απόδοσης παρέχει οπτικές πληροφορίες σχετικά με SQL Server απόδοση στιγμιότυπων, συμπεριλαμβανομένης της χρήσης της CPU του συστήματος, των τρεχόντων αιτημάτων αναμονής και των μετρήσεων απόδοσης. Αποκτήστε πρόσβαση σε αυτήν μέσω του μενού Τυπικές αναφορές.
8.1.3 SQL Server Κατατομή
SQL Server Κατατομή καταγράφει και αναλύει SQL Server συμβάντα όπως εκτέλεση ερωτήματος, λειτουργίες συναλλαγών και δραστηριότητες σύνδεσης.
Να ξεκινήσω SQL Server Προφίλ:
- In SQL Server Στούντιο Διαχείρισης, κάντε κλικ στο Κόλλα -> SQL Server Κατατομή
Το Profiler δημιουργεί σημαντική επιβάρυνση απόδοσης, γι' αυτό χρησιμοποιήστε το με σύνεση και κατά προτίμηση κατά τις ώρες εκτός αιχμής. Για τα περισσότερα σενάρια, το Extended Events παρέχει καλύτερη απόδοση με μικρότερο αντίκτυπο.
8.1.4 Εκτεταμένα Συμβάντα
Εκτεταμένες εκδηλώσεις είναι ένα ελαφρύ σύστημα παρακολούθησης απόδοσης ενσωματωμένο στο SQL ServerΑντικαθιστά SQL Server Profiler με καλύτερη απόδοση και χαμηλότερα γενικά έξοδα.
Τα βασικά χαρακτηριστικά περιλαμβάνουν:
- Λεπτομερής παρακολούθηση συγκεκριμένων συμβάντων
- Ελάχιστη επίδραση στην απόδοση
- Προσαρμόσιμες συνεδρίες εκδηλώσεων
- Ενσωμάτωση με SSMS και άλλα εργαλεία
- Υποστήριξη για σύνθετο φιλτράρισμα και συγκέντρωση
Δημιουργήστε εκτεταμένες συνεδρίες συμβάντων μέσω SSMS:
- In Εξερεύνηση αντικειμένων, αναπτύξτε τον διακομιστή σας και μεταβείτε στο Διαχείριση -> Εκτεταμένα Συμβάντα -> Συνεδρίες
- Κάντε δεξί κλικ στο Συνεδρίες Και επιλέξτε Οδηγός νέας συνεδρίας
- Ακολουθήστε τις οδηγίες για να ξεκινήσετε μια νέα συνεδρία.
8.1.5 Δυναμικές Προβολές Διαχείρισης (DMV)
Τα DMV εκθέτουν λεπτομερείς πληροφορίες για την κατάσταση του διακομιστή για την παρακολούθηση της εύρυθμης λειτουργίας, τη διάγνωση προβλημάτων και τη ρύθμιση της απόδοσης. Τα βασικά DMV περιλαμβάνουν:
- sys.dm_exec_query_stats: Στατιστικά στοιχεία απόδοσης ερωτήματος
- sys.dm_os_wait_stats: Τύποι αναμονής που επηρεάζουν την απόδοση του διακομιστή
- sys.dm_os_performance_counters: SQL Server δεδομένα μετρητή απόδοσης
- sys.dm_exec_requests: Εκτελούνται αιτήματα αυτήν τη στιγμή
- sys.dm_exec_sessions: Ενεργές συνεδρίες χρηστών
Υποβάλετε ερωτήματα σε αυτές τις προβολές χρησιμοποιώντας T-SQL για πρόσβαση σε δεδομένα απόδοσης σε πραγματικό χρόνο και ιστορικά μετρικά.
Βασική χρήση
-- See all active connections
SELECT * FROM sys.dm_exec_connections;
-- View current sessions
SELECT * FROM sys.dm_exec_sessions;
-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);
8.2 Λύσεις παρακολούθησης τρίτων
Redgate SQL Monitor
Το Redgate SQL Monitor ειδικεύεται στην παρακολούθηση. SQL Server και περιβάλλοντα βάσης δεδομένων Azure SQL. Παρέχει παρακολούθηση σε ολόκληρο το estate, προσαρμόσιμες ειδοποιήσεις και πίνακες ελέγχου, δυνατότητες λεπτομερούς αναφοράς και ενσωμάτωση με άλλα εργαλεία Redgate.
SolarWinds SQL Server Εργαλείο παρακολούθησης
Οι SolarWinds SQL Server Το Εργαλείο παρακολούθησης, γνωστό και ως SQL Sentry, έχει σχεδιαστεί για τη διάγνωση, την επίλυση και την πρόληψη σοβαρών προβλημάτων απόδοσης με SQL Server.
της ΙΔΕΡΑ SQL Server Εργαλείο παρακολούθησης απόδοσης
Το IDERA SQL Diagnostic Manager είναι ένα ισχυρό SQL Server Εργαλείο παρακολούθησης απόδοσης σχεδιασμένο για να βοηθά στην προληπτική παρακολούθηση απόδοσης, τη διάγνωση και τη ρύθμιση.
Παρακολούθηση SQL του Applications Manager
Ο Διαχειριστής εφαρμογών προσφέρει μια Microsoft SQL Server Εργαλείο παρακολούθησης που παρέχει χρήσιμες λύσεις πληροφορικής. Έχει σχεδιαστεί για να επιβλέπει την απόδοση των βάσεων δεδομένων SQL, ενώ ταυτόχρονα εντοπίζει σφάλματα και επιλύει ζητήματα που θα μπορούσαν να οδηγήσουν σε διακοπή της λειτουργίας ενός οργανισμού.
8.3 Εργαλεία παρακολούθησης ανοιχτού κώδικα
DBA Dash
Το DBA Dash είναι ένα δωρεάν εργαλείο παρακολούθησης ανοιχτού κώδικα που παρέχει πληροφορίες σχετικά με SQL Server εύρυθμη λειτουργία, απόδοση και δραστηριότητα. Είναι ιδιαίτερα χρήσιμο για μικρά έως μεσαία περιβάλλοντα και περιλαμβάνει καθημερινούς ελέγχους DBA, παρακολούθηση απόδοσης και παρακολούθηση διαμόρφωσης.
SQLWATCH
Το SQLWATCH προσφέρει αποκεντρωμένη, σχεδόν σε πραγματικό χρόνο λειτουργία SQL Server Παρακολούθηση με λεπτομέρεια 5 δευτερολέπτων για την καταγραφή των αυξήσεων του φόρτου εργασίας. Υποστηρίζει το Grafana για πίνακες ελέγχου σε πραγματικό χρόνο και το Power BI για εις βάθος ανάλυση. Το εργαλείο παρέχει εκτεταμένες επιλογές διαμόρφωσης, μηδενικές απαιτήσεις συντήρησης και απεριόριστη επεκτασιμότητα.
Παρατηρητής
Αναπτυγμένο από το Stack Exchange, το Opserver παρακολουθεί πολλαπλά συστήματα, συμπεριλαμβανομένων SQL Server, Redis και Elasticsearch. Παρέχει μια προβολή "όλων των διακομιστών" για στατιστικά στοιχεία CPU, μνήμης, δικτύου και υλικού σε ολόκληρη την υποδομή σας.
sp_ΠοιοςΕίναιΕνεργός
Το sp_WhoIsActive είναι μια ολοκληρωμένη αποθηκευμένη διαδικασία παρακολούθησης δραστηριότητας που δημιουργήθηκε από τον Adam Machanic. Λειτουργεί με όλα τα SQL Server εκδόσεις από το 2005 έως τις τρέχουσες κυκλοφορίες και χρησιμοποιείται ευρέως από SQL Server Βάσεις δεδομένων (DBA) για παρακολούθηση δραστηριότητας σε πραγματικό χρόνο.
Για να χρησιμοποιήσετε το sp_WhoIsActive, κατεβάστε το από το http://whoisactive.com/, εγκαταστήστε το στη βάση δεδομένων σας και εκτελέστε:
EXEC sp_WhoIsActive
Η διαδικασία εμφανίζει τα ερωτήματα που εκτελούνται αυτήν τη στιγμή, τις πληροφορίες αναμονής, τις λεπτομέρειες αποκλεισμού και την κατανάλωση πόρων.
9. Βέλτιστες πρακτικές για SQL Server Εποπτεία επιδόσεων
9.1 Καθορισμός βασικών γραμμών απόδοσης
Οι βασικές γραμμές απόδοσης καθορίζουν τις κανονικές παραμέτρους λειτουργίας για το SQL Server περιβάλλον. Χωρίς γραμμές βάσης, δεν μπορείτε να προσδιορίσετε εάν οι τρέχουσες μετρήσεις υποδεικνύουν προβλήματα ή αντιπροσωπεύουν τυπική συμπεριφορά.
Δημιουργήστε γραμμές βάσης ως εξής:
- Συλλογή δεδομένων απόδοσης κατά τη διάρκεια των κανονικών λειτουργιών για τουλάχιστον μία εβδομάδα
- Καταγραφή μετρήσεων τόσο κατά τις ώρες αιχμής όσο και εκτός αιχμής
- Τεκμηρίωση τυπικών τιμών για μετρητές κλειδιών
- Καταγραφή εποχιακών διακυμάνσεων, εάν ισχύει
- Αποθήκευση δεδομένων βάσης για σύγκριση με μελλοντικές μετρήσεις
Ενημερώστε τις γραμμές βάσης τριμηνιαία ή μετά από σημαντικές αλλαγές στην υποδομή, ενημερώσεις εφαρμογών ή τροποποιήσεις στη βάση δεδομένων.
9.2 Ορισμός κατάλληλων ορίων συναγερμού
Ρυθμίστε έξυπνα όρια για να λαμβάνετε ουσιαστικές ειδοποιήσεις χωρίς να κατακλύζεστε από ειδοποιήσεις:
- Η ένδειξη "Εκκρεμείς επιχορηγήσεις μνήμης" > 0 υποδεικνύει πίεση μνήμης
- Μήκος ουράς επεξεργαστή > 2 ανά πυρήνα υποδηλώνει συμφόρηση CPU
- Δίσκος δευτ./Ανάγνωση ή εγγραφή > 20ms υποδεικνύει αργή είσοδο/έξοδο
- Αποκλεισμένες διεργασίες > 5 προβλήματα ανταγωνισμού σημάτων
- Η διάρκεια ζωής σελίδας < 300 δευτερόλεπτα υποδηλώνει πίεση μνήμης
Προσαρμόστε τα όρια με βάση τα δεδομένα αναφοράς και τα συγκεκριμένα χαρακτηριστικά του φόρτου εργασίας σας. Χρησιμοποιήστε προσαρμοστικά όρια που λαμβάνουν υπόψη τις κανονικές διακυμάνσεις στο περιβάλλον σας.
9.3 Τακτική Αναθεώρηση και Ανάλυση Δεδομένων
Προγραμματίστε τακτικές αξιολογήσεις απόδοσης για να εντοπίσετε τάσεις και αναδυόμενα ζητήματα:
- Καθημερινά: Αναθεώρηση μετρήσεων υψηλού επιπέδου και πρόσφατων ειδοποιήσεων
- Εβδομαδιαία: Διεξαγωγή εις βάθος ανάλυσης των τάσεων απόδοσης
- Μηνιαία: Δημιουργήστε ολοκληρωμένες αναφορές και συγκρίνετε με τις βασικές τιμές
- Τριμηνιαία: Αναθεώρηση του σχεδιασμού χωρητικότητας και των μακροπρόθεσμων τάσεων
Καταγράψτε τα ευρήματα και παρακολουθήστε τις βελτιώσεις στην απόδοση με την πάροδο του χρόνου.
9.4 Εξισορρόπηση Επιβάρυνσης Παρακολούθησης
Η ίδια η παρακολούθηση καταναλώνει πόρους, επομένως, εξισορροπήστε τη συλλογή δεδομένων με τον αντίκτυπο στην απόδοση:
- Χρησιμοποιήστε διαστήματα 30-60 δευτερολέπτων για συνεχή παρακολούθηση
- Χρησιμοποιήστε μόνο διαστήματα 15 δευτερολέπτων για ενεργή αντιμετώπιση προβλημάτων
- Όριο Συλλέκτη Δεδομένων Ορίστε διάρκεια για να αποφύγετε την υπερβολική χρήση δεδομένων
- Αποθήκευση αρχείων καταγραφής σε ξεχωριστές μονάδες δίσκου από τα αρχεία βάσης δεδομένων
- Αρχειοθετήστε παλιά δεδομένα απόδοσης για να διατηρήσετε διαχειρίσιμα μεγέθη αρχείων
Το Performance Monitor προσθέτει ελάχιστη επιβάρυνση όταν έχει ρυθμιστεί σωστά, συνήθως κάτω από το 2% των πόρων του συστήματος.
9.5 Μακροπρόθεσμη Διατήρηση Δεδομένων
Διατήρηση δεδομένων απόδοσης για ουσιαστική ανάλυση τάσεων και σχεδιασμό χωρητικότητας:
- Διατηρήστε δεδομένα απόδοσης τουλάχιστον 1-2 ετών
- Αρχειοθέτηση δεδομένων σε ξεχωριστό χώρο αποθήκευσης μετά από 3-6 μήνες
- Συμπίεση παλαιότερων αρχείων καταγραφής για εξοικονόμηση χώρου
- Καταγράψτε τυχόν σημαντικά γεγονότα ή αλλαγές που επηρεάζουν την απόδοση
Δεδομένου του σχετικά μικρού μεγέθους των δεδομένων των μετρητών απόδοσης, η διατήρησή τους επ' αόριστον είναι συχνά εφικτή και πολύτιμη για μακροπρόθεσμη ανάλυση.
9.6 Ενσωμάτωση με πρακτικές DevOps
Ενσωμάτωση παρακολούθησης απόδοσης βάσεων δεδομένων σε αγωγούς CI/CD:
- Συμπερίληψη μετρήσεων απόδοσης βάσης δεδομένων στην επικύρωση ανάπτυξης
- Αυτοματοποιήστε τις δοκιμές απόδοσης για νέες κυκλοφορίες
- Επιβεβαίωση ότι οι αλλαγές στον κώδικα δεν επηρεάζουν αρνητικά την απόδοση
- Δημιουργήστε σημεία αναφοράς απόδοσης για κάθε έκδοση
- Ενσωματώστε τις ειδοποιήσεις παρακολούθησης με συστήματα διαχείρισης συμβάντων
10. Αντιμετώπιση συνηθισμένων προβλημάτων απόδοσης
10.1 Εντοπισμός σημείων συμφόρησης της CPU
Τα σημεία συμφόρησης της CPU εκδηλώνονται ως αργοί χρόνοι απόκρισης ερωτημάτων και υψηλή χρήση του επεξεργαστή. Χρησιμοποιήστε αυτά τα βήματα για να διαγνώσετε προβλήματα CPU:
- Ελέγξτε τον μετρητή μήκους ουράς επεξεργαστή. Τιμές άνω των 2 ανά πυρήνα υποδεικνύουν πίεση CPU.
- Ανασκόπηση % Χρόνου Επεξεργαστή. Οι σταθερές τιμές άνω του 75% υποδηλώνουν συμφόρηση της CPU.
- Απομακρυσμένη επιφάνεια εργασίας προς το SQL Server
- Άνοιγμα Διαχείρισης Εργασιών (Ctrl+Shift+Esc)
- Κάντε κλικ στο διεργασίες αυτί
- Έλεγχος Εμφάνιση διεργασιών από όλους τους χρήστες
- Κάντε κλικ στο CPU κεφαλίδα στήλης για ταξινόμηση κατά χρήση CPU
- Προσδιορίστε ποιες διεργασίες καταναλώνουν πόρους CPU
Εάν μη-SQL Server εφαρμογές που καταναλώνουν σημαντική CPU, αφαιρέστε τες από τον διακομιστή βάσης δεδομένων. Εάν το sqlservr.exe χρησιμοποιεί υψηλή CPU, διερευνήστε χρησιμοποιώντας αυτές τις μεθόδους:
- Ελέγξτε τις μεταγλωττίσεις SQL/δευτ. και τις επαναμεταγλωττίσεις SQL/δευτ. Τιμές άνω του 10% των αιτημάτων παρτίδας/δευτ. υποδεικνύουν υπερβολική μεταγλώττιση.
- Υποβολή ερωτήματος στο sys.dm_exec_query_stats για τον εντοπισμό ερωτημάτων που απαιτούν μεγάλη ποσότητα CPU
- Εξετάστε τα σχέδια εκτέλεσης για ελλείποντα ευρετήρια ή αναποτελεσματικές λειτουργίες
- Εξετάστε το ενδεχόμενο προσθήκης ευρετηρίων για τη μείωση των σαρώσεων πίνακα
10.2 Διάγνωση προβλημάτων μνήμης
Τα προβλήματα μνήμης επηρεάζουν σημαντικά SQL Server απόδοση. Διαγνώστε προβλήματα μνήμης χρησιμοποιώντας αυτούς τους δείκτες:
Διαθέσιμες πτώσεις μνήμης
Εάν τα διαθέσιμα MBytes πέσουν κάτω από τα 100 MB συνεχώς, το λειτουργικό σύστημα αντιμετωπίζει έλλειψη μνήμης. Τα Windows ενδέχεται να εμφανίσουν σφάλματα σελιδοποίησης. SQL Server μνήμης στον δίσκο, προκαλώντας υποβάθμιση της απόδοσης.
Χαμηλή διάρκεια ζωής σελίδας
Η αναμενόμενη διάρκεια ζωής σελίδας κάτω από 300 δευτερόλεπτα υποδηλώνει υψηλή εναλλαγή προσωρινής μνήμης buffer. Αυτό υποδηλώνει είτε ανεπαρκή κατανομή μνήμης είτε υπερβολική πίεση μνήμης από ερωτήματα.
Χαμηλή αναλογία επισκέψεων προσωρινής μνήμης buffer
Ο λόγος επιτυχιών προσωρινής μνήμης buffer κάτω από 99% σημαίνει SQL Server διαβάζει συχνά δεδομένα από τον δίσκο αντί για τη μνήμη. Αυτό συμβαίνει όταν η δεξαμενή buffer είναι πολύ μικρή ή SQL Server εξακολουθεί να θερμαίνεται μετά την επανεκκίνηση.
Επιχορηγήσεις μνήμης σε εκκρεμότητα
Οποιαδήποτε τιμή πάνω από το 0 για την επιλογή "Εκκρεμείς επιχορηγήσεις μνήμης" υποδεικνύει ότι τα ερωτήματα αναμένουν επιχορηγήσεις μνήμης. Αυτό αντιπροσωπεύει μια κρίσιμη έλλειψη μνήμης που απαιτεί άμεση αντιμετώπιση.
Για να επιλύσετε προβλήματα μνήμης:
- Διαμορφώστε SQL Server μέγιστη ρύθμιση μνήμης για να υπάρχει επαρκής μνήμη RAM για το λειτουργικό σύστημα (συνήθως 4-8 GB ανάλογα με το μέγεθος του διακομιστή)
- Ενεργοποίηση δικαιώματος «Κλείδωμα σελίδων στη μνήμη» για SQL Server λογαριασμό υπηρεσίας
- Προσθέστε περισσότερη φυσική μνήμη RAM στον διακομιστή εάν η πίεση μνήμης παραμένει
- Προσδιορισμός και βελτιστοποίηση ερωτημάτων που απαιτούν μεγάλη μνήμη
10.3 Επίλυση προβλημάτων εισόδου/εξόδου δίσκου
Η είσοδος/έξοδος δίσκου συχνά αποτελεί το κύριο σημείο συμφόρησης στην απόδοση των συστημάτων βάσεων δεδομένων. Διαγνώστε προβλήματα δίσκου χρησιμοποιώντας αυτές τις μεθόδους:
Υψηλό μήκος ουράς δίσκου
Το μήκος ουράς δίσκου που είναι σταθερά πάνω από 2 (ή 2 ανά δίσκο για RAID) υποδηλώνει ότι το υποσύστημα δίσκου δεν μπορεί να ανταποκριθεί στις αιτήσεις εισόδου/εξόδου. Αυτό δημιουργεί μια συσσώρευση εκκρεμών λειτουργιών.
Υπερβολική καθυστέρηση δίσκου
Οι τιμές μέσου όρου δευτ. δίσκου/ανάγνωσης και μέσου όρου δευτ. δίσκου/εγγραφής άνω των 10-20ms υποδεικνύουν αργή απόκριση δίσκου. Οι μονάδες καταγραφής συναλλαγών απαιτούν ιδιαίτερα γρήγορη απόδοση, ιδανικά κάτω από 5ms για εγγραφές.
Υψηλός χρόνος δίσκου %
Ένα παρατεταμένο ποσοστό χρόνου δίσκου πάνω από 85% υποδηλώνει κορεσμό δίσκου. Ο δίσκος αφιερώνει τον περισσότερο χρόνο του στην επεξεργασία αιτημάτων εισόδου/εξόδου με μικρή αδρανής χωρητικότητα που απομένει.
Πριν αντιμετωπίσετε προβλήματα δίσκου, βεβαιωθείτε ότι δεν αποτελούν συμπτώματα προβλημάτων μνήμης. Ανεπαρκής ισχύς μνήμης SQL Server για την ανάγνωση περισσότερων δεδομένων από τον δίσκο, διογκώνοντας τεχνητά τις μετρήσεις του δίσκου.
Για να επιλύσετε γνήσια προβλήματα εισόδου/εξόδου δίσκου:
- Αναβάθμιση σε ταχύτερους δίσκους (SSD αντί για HDD)
- Υλοποίηση διαμορφώσεων RAID για καλύτερη απόδοση
- Διαχωρίστε τα αρχεία βάσης δεδομένων, τα αρχεία καταγραφής συναλλαγών και το tempdb σε διαφορετικές φυσικές μονάδες δίσκου
- Προσθέστε περισσότερη μνήμη για να μειώσετε τις αναγνώσεις στο δίσκο
- Βελτιστοποιήστε τα ευρετήρια για να μειώσετε τις περιττές εισόδους/εξόδους
- Έλεγχος και βελτιστοποίηση ερωτημάτων με χαμηλή απόδοση
10.4 Αντιμετώπιση Αποκλεισμών και Αδιεξόδων
Ο αποκλεισμός συμβαίνει όταν μια συνεδρία διατηρεί κλειδώματα που εμποδίζουν την εξέλιξη άλλων περιόδων λειτουργίας. Παρακολουθήστε αυτούς τους μετρητές για να εντοπίσετε προβλήματα αποκλεισμού:
- Αποκλεισμένες διεργασίες: Ιδανικά θα έπρεπε να είναι 0
- Κλείδωμα Αναμονή/δευτ.: Αριθμός αιτημάτων κλειδώματος που απαιτούν αναμονή
- Μέσος χρόνος αναμονής: Μέση διάρκεια αναμονής για κλειδαριά
Για να διερευνήσετε τον αποκλεισμό:
- Άνοιγμα Παρακολούθησης Δραστηριότητας στο SSMS
- Αναπτύξτε το διεργασίες τμήμα
- Αναζητήστε διεργασίες με μη μηδενικό Αποκλεισμένο από αξιών
- Προσδιορίστε το αναγνωριστικό περιόδου σύνδεσης αποκλεισμού
- Εξετάστε τα ερωτήματα που προκαλούν αποκλεισμό
Χρησιμοποιήστε το sp_WhoIsActive για πιο λεπτομερή ανάλυση αποκλεισμού. Οι υπερβολικές καταχωρήσεις wait_info συχνά υποδεικνύουν διεκδίκηση tempdb ή προβλήματα αποκλεισμού.
Για να μειώσετε το μπλοκάρισμα:
- Ελαχιστοποίηση της διάρκειας συναλλαγής
- Χρησιμοποιήστε κατάλληλα επίπεδα απομόνωσης
- Προσθήκη ευρετηρίων για μείωση της διάρκειας κλειδώματος
- Σκεφτείτε την απομόνωση READ_COMMITTED_SNAPSHOT
- Έλεγχος και βελτιστοποίηση ερωτημάτων μεγάλης διάρκειας
10.5 Προβλήματα απόδοσης ερωτημάτων
Ο εντοπισμός ακριβών ερωτημάτων είναι απαραίτητος για την παρακολούθηση της απόδοσης του SQL. Χρησιμοποιήστε αυτές τις μεθόδους για να βρείτε προβληματικά ερωτήματα:
Χρήση της Παρακολούθησης Δραστηριότητας
- Στο SSMS, κάντε δεξί κλικ στο όνομα του διακομιστή
- Αγορά Δραστηριότητα Monitor
- Ανάπτυξη Πρόσφατα ακριβά ερωτήματα
- Ερωτήματα αξιολόγησης με υψηλή CPU, διάρκεια ή λογικές αναγνώσεις
Χρήση DMV
Υποβάλετε ερώτημα στο sys.dm_exec_query_stats για να εντοπίσετε ερωτήματα που απαιτούν πολλούς πόρους:
SELECT TOP 50
total_worker_time/execution_count AS avg_cpu_time,
total_logical_reads/execution_count AS avg_logical_reads,
execution_count,
SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC
Ανάλυση Σχεδίων Εκτέλεσης
- Στο SSMS, ανοίξτε ένα νέο παράθυρο ερωτήματος
- Πατήστε Εμφάνιση εκτιμώμενου σχεδίου εκτέλεσης (Ctrl+L) ή Συμπερίληψη Πραγματικού Σχεδίου Εκτέλεσης (Ctrl+M)
- Εκτελέστε το ερώτημά σας
- Εξετάστε το σχέδιο εκτέλεσης για δαπανηρές λειτουργίες
- Αναζητήστε σαρώσεις πινάκων, σαρώσεις ευρετηρίου ή λειτουργίες υψηλού κόστους
Βελτιστοποίηση ερωτημάτων με βάση:
- Προσθήκη κατάλληλων ευρετηρίων
- Επανεγγραφή ερωτημάτων για την αποφυγή δαπανηρών λειτουργιών
- Ενημέρωση στατιστικών στοιχείων
- Χρήση συγκεκριμένων ονομάτων στηλών αντί για SELECT *
- Αποφυγή περιττών ρητρών DISTINCT ή ORDER BY
10.6 Εντοπισμός και επιδιόρθωση κατεστραμμένης βάσης δεδομένων
Η καταστροφή της βάσης δεδομένων μπορεί να προκαλέσει υποβάθμιση της απόδοσης, απώλεια δεδομένων και βλάβες συστήματος. Η γρήγορη ανίχνευση και αντιμετώπιση της καταστροφής είναι κρίσιμη για τη διατήρηση της εύρυθμης λειτουργίας της βάσης δεδομένων.
Δείκτες διαφθοράς βάσεων δεδομένων
Προσέξτε για αυτά τα σημάδια πιθανής διαφθοράς:
- Μηνύματα σφάλματος σε SQL Server αρχείο καταγραφής σφαλμάτων (σφάλμα 823, 824 ή 825)
- Μη αναμενόμενα σφάλματα εφαρμογής κατά την πρόσβαση σε συγκεκριμένους πίνακες
- Αργή απόδοση ερωτημάτων σε προηγουμένως γρήγορα ερωτήματα
- SQL Server σφάλματα ή απροσδόκητες επανεκκινήσεις
- Ύποπτες σελίδες που εμφανίζονται στον πίνακα msdb.dbo.suspect_pages
Χρήση του DBCC CHECKDB για ανίχνευση
DBCC CHECKDB είναι το κύριο εργαλείο για την ανίχνευση καταστροφής βάσης δεδομένων. Εκτελέστε το τακτικά για να εντοπίζετε προβλήματα έγκαιρα.
Παρακολούθηση ύποπτων σελίδων
SQL Server καταγράφει αυτόματα ύποπτες σελίδες στη βάση δεδομένων msdb:
SELECT
database_id,
file_id,
page_id,
event_type,
error_count,
last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)
Οποιεσδήποτε γραμμές επιστρέφονται υποδεικνύουν προβλήματα διαφθοράς που απαιτούν άμεση αντιμετώπιση.
Στρατηγικές πρόληψης της διαφθοράς
- Ενεργοποίηση επαλήθευσης σελίδας με την επιλογή CHECKSUM
- Διατηρείτε τακτικά αντίγραφα ασφαλείας της βάσης δεδομένων
- Χρησιμοποιήστε αξιόπιστο υλικό με διόρθωση σφαλμάτων
- Παρακολούθηση της εύρυθμης λειτουργίας του δίσκου χρησιμοποιώντας εργαλεία του κατασκευαστή
- Προγραμματισμός τακτικών εκτελέσεων DBCC CHECKDB
- Διατήρηση SQL Server ενημερωμένο με τις πιο πρόσφατες ενημερώσεις κώδικα
Επιλογές αποκατάστασης και επισκευής
Εάν εντοπιστούν αλλοιώσεις, μπορείτε να δοκιμάσετε το ενσωματωμένο εργαλείο DBCC CHECKDB για να τα διορθώσετε. Εάν αποτύχει, χρησιμοποιήστε εργαλεία τρίτων όπως DataNumen SQL Recovery που μπορεί να αντιμετωπίσει σοβαρές περιπτώσεις διαφθοράς.
11. Προηγμένες Τεχνικές Παρακολούθησης
11.1 Παρακολούθηση χώρου αποθήκευσης ερωτημάτων
Query Store, που παρουσιάστηκε το SQL Server Το 2016, καταγράφει αυτόματα δεδομένα απόδοσης ερωτημάτων. Παρέχει πολύτιμες πληροφορίες σχετικά με τη συμπεριφορά των ερωτημάτων, τα σχέδια εκτέλεσης και τις τάσεις απόδοσης.
Ενεργοποίηση χώρου αποθήκευσης ερωτημάτων
- Στην Εξερεύνηση αντικειμένων SSMS, κάντε δεξί κλικ σε μια βάση δεδομένων
- Αγορά Ιδιοκτησίες
- Κάντε κλικ στο Κατάστημα ερωτημάτων σελίδα
- In Τρόπος λειτουργίας (Απαιτείται), Επιλέξτε Διαβάζω γράφω
- Διαμορφώστε πρόσθετες ρυθμίσεις όπως απαιτείται
- Πατήστε OK
Παρακολούθηση απόδοσης ερωτήματος
Αναφορές του Access Query Store μέσω της Εξερεύνησης Αντικειμένων:
- Αναπτύξτε τη βάση δεδομένων στην Εξερεύνηση αντικειμένων
- Ανάπτυξη Κατάστημα ερωτημάτων
- Επιλέξτε από τις διαθέσιμες αναφορές:
- Ερωτήματα παλινδρόμησης
- Συνολική Κατανάλωση Πόρων
- Κορυφαία ερωτήματα σχετικά με την κατανάλωση πόρων
- Ερωτήματα με αναγκαστικά σχέδια
- Παρακολουθούμενα ερωτήματα
Ανίχνευση παλινδρόμησης σχεδίου
Το Query Store ανιχνεύει αυτόματα πότε αλλάζουν τα σχέδια εκτέλεσης ερωτημάτων και υποβαθμίζεται η απόδοση. Εξετάστε την αναφορά Ερωτημάτων Παλινδρόμησης για να εντοπίσετε ερωτήματα που επηρεάζονται από αλλαγές σχεδίου.
Διαχείριση Αναγκαστικού Σχεδίου
Όταν το Query Store εντοπίσει ένα καλύτερο σχέδιο εκτέλεσης, επιβάλλει SQL Server για να το χρησιμοποιήσετε:
- Άνοιγμα του ερωτήματος στο Query Store
- Κάντε δεξί κλικ στο επιθυμητό σχέδιο
- Αγορά Σχέδιο Δύναμης
Αυτό βελτιώνει άμεσα την απόδοση χωρίς να απαιτούνται αλλαγές στον κώδικα.
11.2 Παρακολούθηση Συντήρησης Ευρετηρίου
Ο κατακερματισμός του ευρετηρίου υποβαθμίζει την απόδοση των ερωτημάτων με την πάροδο του χρόνου. Παρακολουθήστε και συντηρήστε τα ευρετήρια τακτικά για να διασφαλίσετε τη βέλτιστη απόδοση.
Έλεγχος κατακερματισμού
Χρησιμοποιήστε αυτό το ερώτημα για να ελέγξετε τον κατακερματισμό του ευρετηρίου:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
ps.avg_fragmentation_in_percent,
ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id
AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC
Εκτελέστε αυτό το ερώτημα εκτός ωρών αιχμής, καθώς μπορεί να απαιτεί πολλούς πόρους.
Ανάλυση Πυκνότητας Σελίδας
Η πυκνότητα σελίδας υποδεικνύει πόσο γεμάτες είναι οι σελίδες ευρετηρίου. Η χαμηλή πυκνότητα σπαταλά χώρο και μειώνει την απόδοση:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id
AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75
Αποφάσεις Αναδιοργάνωσης έναντι Αναδόμησης
Επιλέξτε λειτουργίες συντήρησης ευρετηρίου με βάση τα επίπεδα κατακερματισμού:
- Κατακερματισμός 10-30%: Χρησιμοποιήστε ALTER INDEX REORGANIZE
- Κατακερματισμός > 30%: Χρησιμοποιήστε την εντολή ALTER INDEX REBUILD
- Κατακερματισμός < 10%: Δεν απαιτείται καμία ενέργεια
Οι λειτουργίες αναδιοργάνωσης απαιτούν λιγότερους πόρους και μπορούν να εκτελεστούν online. Οι λειτουργίες αναδόμησης είναι πιο διεξοδικές αλλά καταναλώνουν σημαντικούς πόρους.
11.3 Ενημερώσεις στατιστικών στοιχείων βάσης δεδομένων
Βοήθεια με τα στατιστικά στοιχεία της βάσης δεδομένων SQL ServerΤο εργαλείο βελτιστοποίησης ερωτημάτων του δημιουργεί αποτελεσματικά σχέδια εκτέλεσης. Τα ξεπερασμένα στατιστικά στοιχεία οδηγούν σε κακή απόδοση ερωτημάτων.
Αυτόματη ανακατασκευή στατιστικών στοιχείων
Ενεργοποίηση αυτόματων ενημερώσεων στατιστικών στοιχείων:
ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON
Στατιστικά Παρακολούθησης Υγείας
Ελέγξτε πότε ενημερώθηκαν τελευταία φορά τα στατιστικά στοιχεία:
SELECT
OBJECT_NAME(s.object_id) AS TableName,
s.name AS StatisticsName,
STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
sp.rows,
sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated
Ενημερώστε τα στατιστικά στοιχεία χειροκίνητα όταν χρειάζεται:
UPDATE STATISTICS TableName WITH FULLSCAN
11.4 Συλλογή Δεδομένων Προσαρμοσμένης Απόδοσης
Δημιουργήστε προσαρμοσμένες λύσεις παρακολούθησης απόδοσης υποβάλλοντας απευθείας ερωτήματα στο sys.dm_os_performance_counters και αποθηκεύοντας τα αποτελέσματα σε πίνακες.
Δημιουργία προσαρμοσμένων σεναρίων συλλογής
Δημιουργήστε μια αποθηκευμένη διαδικασία για τη συλλογή δεδομένων μετρητή απόδοσης:
CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
INSERT INTO dbo.PerformanceHistory (
SampleTime,
CounterName,
CounterValue
)
SELECT
GETDATE(),
counter_name,
cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name IN (
'Page life expectancy',
'Batch Requests/sec',
'Buffer cache hit ratio'
)
END
Χρήση των sys.dm_os_performance_counters
Απευθείας υποβολή ερωτημάτων σε μετρητές απόδοσης:
SELECT
object_name,
counter_name,
instance_name,
cntr_value,
cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name
Αποθήκευση ιστορικών δεδομένων
Δημιουργήστε έναν πίνακα για την αποθήκευση μετρήσεων απόδοσης με την πάροδο του χρόνου:
CREATE TABLE dbo.PerformanceHistory (
ID INT IDENTITY PRIMARY KEY,
SampleTime DATETIME2 NOT NULL,
PageLifeExpectancy BIGINT,
BatchRequestsPerSec DECIMAL(18,4),
BufferCacheHitRatio DECIMAL(5,2)
)
CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory
ON dbo.PerformanceHistory
Μέθοδοι Συγκεντρωτικής Αποθήκευσης Δεδομένων
Αποθηκεύστε δεδομένα σε συγκεντρωτική μορφή με μία γραμμή ανά χρόνο δειγματοληψίας και μία στήλη ανά μετρητή. Αυτό μειώνει τον χώρο αποθήκευσης και βελτιώνει την απόδοση των ερωτημάτων σε σύγκριση με την αποθήκευση μίας γραμμής ανά μετρητή ανά δείγμα.
11.5 Παρακολούθηση πολλαπλών διακομιστών
Για περιβάλλοντα με πολλαπλά SQL Server περιπτώσεις, εφαρμόστε κεντρική παρακολούθηση.
Κεντρική προσέγγιση παρακολούθησης
- Δημιουργήστε μια ειδική βάση δεδομένων παρακολούθησης σε ξεχωριστό διακομιστή
- Συλλογή δεδομένων από όλους τους διακομιστές στο κεντρικό αποθετήριο
- Χρήση SQL Server Εργασίες πράκτορα για την εκτέλεση σεναρίων συλλογής
- Υλοποίηση συλλογής μετρητών απόδοσης προσβάσιμων μέσω δικτύου
Απομακρυσμένη παρακολούθηση διακομιστή
Ρυθμίστε τις παραμέτρους του Performance Monitor για τη συλλογή δεδομένων από απομακρυσμένους διακομιστές, καθορίζοντας ονόματα διακομιστών κατά την προσθήκη μετρητών. Βεβαιωθείτε ότι οι κανόνες του τείχους προστασίας επιτρέπουν την κυκλοφορία του Performance Monitor.
Αναφορά μεταξύ διακομιστών
Δημιουργήστε αναφορές που συγκρίνουν την απόδοση σε πολλούς διακομιστές για να εντοπίσετε ακραίες τιμές και ανισορροπίες χωρητικότητας.
12. Παρακολούθηση SQL Server σε περιβάλλοντα cloud
12.1 Παρακολούθηση βάσης δεδομένων Azure SQL
Η βάση δεδομένων Azure SQL παρέχει ενσωματωμένες δυνατότητες παρακολούθησης που διαφέρουν από τις εσωτερικές. SQL Server.
Ενσωμάτωση Azure Monitor
Το Azure Monitor συλλέγει αυτόματα μετρήσεις από τη βάση δεδομένων Azure SQL, συμπεριλαμβανομένων:
- Χρήση DTU ή vCore
- Χρήσης του χώρου αποθήκευσης
- Στατιστικά σύνδεσης
- Αδιέξοδα και χρονικά όρια
Αποκτήστε πρόσβαση σε αυτές τις μετρήσεις μέσω του Azure Portal ή του Azure Monitor API.
Ενσωματωμένες λειτουργίες παρακολούθησης
Η βάση δεδομένων Azure SQL περιλαμβάνει:
- Προτάσεις αυτόματου συντονισμού
- Ερωτηματολόγιο απόδοσης
- Έξυπνες πληροφορίες για την ανίχνευση ανωμαλιών
- Ενσωματωμένες ειδοποιήσεις και διαγνωστικά
Ερωτηματολόγιο απόδοσης
Αυτή η λειτουργία παρέχει οπτικοποίηση των ερωτημάτων που καταναλώνουν τους περισσότερους πόρους, ανάλυση της διάρκειας των ερωτημάτων και ιστορικές τάσεις απόδοσης. Αποκτήστε πρόσβαση σε αυτήν μέσω της πύλης Azure στον πόρο της βάσης δεδομένων SQL.
12.2 Εργαλεία παρακολούθησης που βασίζονται στο cloud
Οι πλατφόρμες cloud προσφέρουν εγγενείς λύσεις παρακολούθησης βελτιστοποιημένες για τα περιβάλλοντά τους:
- Azure Monitor και Application Insights για βάση δεδομένων Azure SQL
- AWS CloudWatch για RDS SQL Server
- Παρακολούθηση Google Cloud για Cloud SQL Server
Αυτά τα εργαλεία ενσωματώνονται άψογα με την υποδομή cloud και παρέχουν ενοποιημένη παρακολούθηση σε όλους τους πόρους cloud.
Παρακολούθηση Υβριδικού Περιβάλλοντος
Για υβριδικές αναπτύξεις που εκτείνονται σε εσωτερικές εγκαταστάσεις και στο cloud, χρησιμοποιήστε εργαλεία που υποστηρίζουν και τα δύο περιβάλλοντα, όπως το Redgate SQL Monitor, το SolarWinds DPA, ή προσαρμοσμένες λύσεις που χρησιμοποιούν κεντρική συλλογή δεδομένων.
12.3 Διαφορές απόδοσης στο cloud
Backup SQL Server Τα περιβάλλοντα έχουν μοναδικά χαρακτηριστικά:
Μοντέλα Κατανομής Πόρων
Οι πάροχοι cloud χρησιμοποιούν διαφορετικές μεθόδους κατανομής πόρων (DTU, vCores, serverless) που επηρεάζουν τον τρόπο με τον οποίο ερμηνεύετε τις μετρήσεις απόδοσης. Κατανοήστε τους περιορισμούς και τα χαρακτηριστικά του επιπέδου υπηρεσιών σας.
Θέματα κλιμάκωσης
Τα περιβάλλοντα cloud προσφέρουν δυνατότητες δυναμικής κλιμάκωσης. Παρακολουθήστε την αξιοποίηση των πόρων για να προσδιορίσετε πότε θα πρέπει να αυξήσετε ή να μειώσετε την κλιμάκωση. Πολλές πλατφόρμες cloud παρέχουν αυτόματη κλιμάκωση με βάση τα όρια απόδοσης.
13. Αυτοματοποίηση της παρακολούθησης απόδοσης
13.1 SQL Server Θέσεις εργασίας πρακτόρων
Αυτοματοποιήστε τη συλλογή δεδομένων χρησιμοποιώντας SQL Server Εργασίες πράκτορα για συνεπή παρακολούθηση χωρίς χειροκίνητη παρέμβαση.
Προγραμματισμένη συλλογή δεδομένων
- Στο SSMS, αναπτύξτε SQL Server Πράκτορας
- Κάντε δεξί κλικ Θέσεις εργασίας και επιλέξτε Νέα δουλειά
- Ονομάστε την εργασία (π.χ., «Συλλέξτε μετρήσεις απόδοσης»)
- Πατήστε Βήματα και προσθέστε ένα νέο βήμα
- Ορισμός τύπου σε Σκριπτ Transact-SQL
- Εισαγάγετε το σενάριο συλλογής δεδομένων σας
- Πατήστε Δρομολόγια και προσθέστε ένα πρόγραμμα
- Ρύθμιση συχνότητας (π.χ., κάθε 5 λεπτά)
- Πατήστε OK να δημιουργήσω την εργασία
Αυτόματες αναφορές
Δημιουργήστε εργασίες που δημιουργούν και αποστέλλουν μέσω email αναφορές απόδοσης:
- Δημιουργήστε μια αποθηκευμένη διαδικασία που δημιουργεί αναφορές
- Χρησιμοποιήστε το Database Mail για την αποστολή αναφορών μέσω email
- Προγραμματίστε την εργασία ώστε να εκτελείται καθημερινά ή εβδομαδιαίως
13.2 Αυτοματοποίηση PowerShell
Το PowerShell παρέχει ισχυρές δυνατότητες αυτοματισμού για SQL Server παρακολούθηση απόδοσης.
Σενάρια συλλογής μετρητών απόδοσης
$counters = @(
'\Processor(_Total)\% Processor Time',
'\Memory\Available MBytes',
'\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)
$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append
Ερωτήματα WMI
Χρησιμοποιήστε το WMI για τη συλλογή δεδομένων απόδοσης από απομακρυσμένους διακομιστές:
$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01' $memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01' Write-Host "CPU Usage: $($cpu.LoadPercentage)%" Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"
Αυτοματοποιημένη ειδοποίηση
Δημιουργήστε σενάρια PowerShell που ελέγχουν μετρήσεις και στέλνουν ειδοποιήσεις όταν παραβιάζονται τα όρια:
$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
if ($cpu -gt $cpuThreshold) {
Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
-Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}
13.3 Δημιουργία Πινάκων Ελέγχου Παρακολούθησης
Οπτικοποιήστε δεδομένα απόδοσης με διαδραστικούς πίνακες ελέγχου για καλύτερες πληροφορίες.
Ενσωμάτωση Power BI
- Σύνδεση του Power BI με τους πίνακες δεδομένων απόδοσης
- Δημιουργήστε οπτικοποιήσεις για βασικές μετρήσεις
- Προσθήκη αναλυτών για το χρονικό εύρος και την επιλογή διακομιστή
- Δημοσίευση πινάκων ελέγχου στην υπηρεσία Power BI
- Ρύθμιση παραμέτρων αυτόματων χρονοδιαγραμμάτων ανανέωσης
Δημιουργία πίνακα ελέγχου σε πραγματικό χρόνο
Χρησιμοποιήστε εργαλεία όπως το Grafana ή προσαρμοσμένες εφαρμογές web για να δημιουργήσετε πίνακες ελέγχου σε πραγματικό χρόνο που υποβάλλουν απευθείας ερωτήματα σε DMV και μετρητές απόδοσης.
Οπτικοποίηση Ιστορικών Τάσεων
Δημιουργήστε γραφήματα γραμμών που δείχνουν τις τάσεις με την πάροδο του χρόνου για:
- Χρήση CPU
- Χρήση μνήμης
- Δίσκος I / O
- Απόδοση ερωτήματος
- Αριθμός συνδέσεων
14. Μελέτες περίπτωσης και πρακτικά παραδείγματα
14.1 Μελέτη περίπτωσης: Επίλυση της πίεσης μνήμης
Αναγνώριση συμπτωμάτων
Μια παραγωγή SQL Server αντιμετώπισαν αργούς χρόνους απόκρισης ερωτημάτων κατά τις ώρες αιχμής. Οι χρήστες παραπονέθηκαν για χρονικά όρια λήξης εφαρμογών και υποβαθμισμένη απόδοση.
Αντίστροφη Ανάλυση
Αποκαλύφθηκαν δεδομένα του Performance Monitor:
- Η διάρκεια ζωής σελίδας μειώθηκε στα 50 δευτερόλεπτα (κανονική: >300)
- Ο λόγος επισκέψεων προσωρινής μνήμης buffer μειώθηκε στο 85% (κανονικό: >99%)
- Οι Εκκρεμείς Επιχορηγήσεις Μνήμης εμφάνιζαν συχνά τιμές 5-10
- Οι αναγνώσεις/δευτερόλεπτο του φυσικού δίσκου αυξήθηκαν σημαντικά
Βήματα επίλυσης
- Τετραγωνισμένος SQL Server μέγιστη ρύθμιση μνήμης – ανακάλυψα ότι είχε οριστεί στην προεπιλεγμένη τιμή (απεριόριστη)
- Εξετάστηκε η συνολική μνήμη διακομιστή έναντι της μνήμης διακομιστή προορισμού – έδειξε σημαντικό χάσμα
- Ρυθμίστηκε η μέγιστη μνήμη διακομιστή ώστε να αφήνει 8 GB για το λειτουργικό σύστημα
- Ενεργοποιήθηκε η άδεια «Κλείδωμα σελίδων στη μνήμη» για SQL Server λογαριασμό υπηρεσίας
- Προστέθηκαν 32 GB επιπλέον μνήμης RAM στον διακομιστή
- Παρακολουθούμενη απόδοση για μία εβδομάδα – Η διάρκεια ζωής σελίδας σταθεροποιήθηκε πάνω από 500 δευτερόλεπτα
Αποτέλεσμα: Οι χρόνοι απόκρισης στα ερωτήματα βελτιώθηκαν κατά 60%, τα παράπονα των χρηστών σταμάτησαν και η απόδοση των εφαρμογών επέστρεψε στο φυσιολογικό.
14.2 Μελέτη περίπτωσης: Βελτιστοποίηση απόδοσης CPU
Αναγνώριση συμπτωμάτων
A SQL Server εμφάνιζε σταθερά αξιοποίηση της CPU πάνω από 90% κατά τις εργάσιμες ώρες, προκαλώντας αργή απόδοση των εφαρμογών και απογοήτευση των χρηστών.
Αντίστροφη Ανάλυση
Η παρακολούθηση της απόδοσης αποκάλυψε:
- Ο μέσος όρος % Χρόνου Επεξεργαστή ήταν 92% με συχνές αυξήσεις έως και 100%
- Μήκος ουράς επεξεργαστή σταθερά πάνω από 4 (ο διακομιστής είχε 8 πυρήνες)
- Οι μεταγλωττίσεις SQL/δευτ. ήταν 25% των αιτημάτων παρτίδας/δευτ. (θα έπρεπε να είναι <10%)
- Οι επαναμεταγλωττίσεις SQL/δευτ. ήταν 15% των μαζικών αιτημάτων/δευτ.
Βήματα επίλυσης
- Χρησιμοποιήθηκαν DMV για τον εντοπισμό ερωτημάτων που καταναλώνουν τα περισσότερα CPU
- Αναλύθηκαν σχέδια εκτέλεσης για εντοπισμένα ερωτήματα
- Εντοπίστηκαν πολλαπλές σαρώσεις πινάκων σε μεγάλους πίνακες λόγω ελλειπουσών ευρετηρίων
- Δημιουργήθηκαν κατάλληλα ευρετήρια με βάση τις συστάσεις του σχεδίου εκτέλεσης
- Εντοπίστηκε δυναμική SQL που προκαλεί υπερβολικές μεταγλωττίσεις
- Τροποποιημένος κώδικας εφαρμογής για χρήση παραμετροποιημένων ερωτημάτων
- Υλοποιημένος οδηγός σχεδίου για προβληματικές αποθηκευμένες διαδικασίες
- Ενημερωμένα στατιστικά στοιχεία για πίνακες που χρησιμοποιούνται πολύ
Αποτέλεσμα: Η χρήση της CPU μειώθηκε στο 45% κατά μέσο όρο κατά τις εργάσιμες ώρες. Οι χρόνοι εκτέλεσης ερωτημάτων βελτιώθηκαν κατά 70%. Η ανταπόκριση των εφαρμογών βελτιώθηκε σημαντικά.
14.3 Μελέτη περίπτωσης: Επίλυση συμφόρησης εισόδου/εξόδου δίσκου
Αναγνώριση συμπτωμάτων
Οι χρήστες ανέφεραν εξαιρετικά αργή απόκριση της εφαρμογής κατά τη διάρκεια των εργασιών φόρτωσης δεδομένων και της βραδινής μαζικής επεξεργασίας.
Αντίστροφη Ανάλυση
Τα δεδομένα απόδοσης έδειξαν:
- Ο μέσος χρόνος εγγραφής σε δευτερόλεπτα δίσκου ξεπέρασε τα 45ms στη μονάδα καταγραφής συναλλαγών
- Το μήκος ουράς δίσκου ήταν κατά μέσο όρο 12 σε μονάδα δίσκου αρχείων δεδομένων
- Το ποσοστό χρόνου δίσκου παρέμεινε πάνω από 95% για ώρες κατά τη διάρκεια εργασιών δέσμης
- Οι εγγραφές σελίδας/δευτ. ήταν εξαιρετικά υψηλές
Βήματα επίλυσης
- Οι επαληθευμένες ρυθμίσεις μνήμης ήταν κατάλληλες – δεν βρέθηκαν προβλήματα μνήμης
- Αναλύθηκε η διαμόρφωση του δίσκου – εντοπίστηκαν όλα τα αρχεία στο ίδιο σύνολο άξονα
- Ξεχωριστά αρχεία καταγραφής συναλλαγών για αποκλειστικούς γρήγορους δίσκους SSD
- Μετακινήθηκε το tempdb σε ξεχωριστές μονάδες SSD
- Υλοποιήθηκαν πολλά αρχεία δεδομένων tempdb (ένα ανά πυρήνα)
- Αναβαθμισμένες μονάδες αρχείων δεδομένων σε διαμόρφωση SSD RAID 10
- Βελτιστοποιημένες εργασίες δέσμης για χρήση μικρότερων παρτίδων συναλλαγών
- Προστέθηκαν ευρετήρια για τη μείωση των περιττών σαρώσεων πινάκων κατά τη διάρκεια των μαζικών λειτουργιών
Αποτέλεσμα: Ο μέσος χρόνος εγγραφής σε δευτερόλεπτα δίσκου μειώθηκε στα 3ms. Το μήκος ουράς δίσκου ήταν κατά μέσο όρο κάτω από 1. Ο χρόνος ολοκλήρωσης της μαζικής εργασίας μειώθηκε κατά 75%.
15. Μελλοντικές τάσεις στο SQL Server παρακολούθηση
15.1 Ενσωμάτωση τεχνητής νοημοσύνης και μηχανικής μάθησης
Η τεχνητή νοημοσύνη και η μηχανική μάθηση μετασχηματίζουν SQL Server παρακολούθηση απόδοσης.
Προγνωστικό Analytics
Τα μοντέλα μηχανικής μάθησης προβλέπουν τις μελλοντικές ανάγκες σε πόρους με βάση ιστορικά δεδομένα. Αυτά τα συστήματα μπορούν να προβλέψουν:
- Όταν εξαντληθεί η χωρητικότητα αποθήκευσης
- Αναμενόμενες απαιτήσεις CPU και μνήμης κατά τις περιόδους αιχμής
- Υποβάθμιση της απόδοσης των ερωτημάτων πριν επηρεάσει τους χρήστες
- Βέλτιστες ώρες για εργασίες συντήρησης
Ανίχνευση ανωμαλιών
Τα εργαλεία που βασίζονται στην τεχνητή νοημοσύνη εντοπίζουν αυτόματα ασυνήθιστα μοτίβα στις μετρήσεις απόδοσης. Εντοπίζουν ανωμαλίες που οι ανθρώπινοι διαχειριστές ενδέχεται να μην παραβλέψουν και διακρίνουν μεταξύ φυσιολογικών διακυμάνσεων και πραγματικών προβλημάτων.
Αυτοματοποιημένη αποκατάσταση
Τα συστήματα αυτοΐασης επιλύουν αυτόματα συνηθισμένα προβλήματα όταν εντοπίζονται:
- Επανεκκίνηση υπηρεσιών που έχουν σταματήσει
- Ανακατανομή πόρων κατά τη διάρκεια του φόρτου αιχμής
- Εφαρμογή επειγουσών επιδιορθώσεων για γνωστά προβλήματα
- Αυτόματη ανακατασκευή κατακερματισμένων ευρετηρίων
15.2 Εξέλιξη Παρακολούθησης που Βασίζεται στο Cloud
Η παρακολούθηση στο cloud συνεχίζει να εξελίσσεται με νέες δυνατότητες.
Ενοποιημένες πλατφόρμες παρακολούθησης
Οι σύγχρονες πλατφόρμες παρέχουν ορατότητα με ένα μόνο τζάμι σε:
- Εσωτερικές εγκαταστάσεις SQL Server περιπτώσεις
- Βάσεις δεδομένων που φιλοξενούνται στο cloud
- Υβριδικά περιβάλλοντα
- Απόδοση εφαρμογών
- Μετρήσεις υποδομής
Τάσεις Παρατηρησιμότητας
Η μετατόπιση από την παρακολούθηση στην παρατηρησιμότητα δίνει έμφαση:
- Κατανόηση της συμπεριφοράς του συστήματος από τις εξόδους
- Συσχέτιση μετρήσεων, αρχείων καταγραφής και ιχνών
- Βαθιά γνώση των κατανεμημένων συστημάτων
- Διάγνωση προβλημάτων σε πραγματικό χρόνο
15.3 Αυτοθεραπευόμενα Συστήματα Βάσεων Δεδομένων
Μελλοντικός SQL Server Οι εκδόσεις θα περιλαμβάνουν περισσότερες αυτόνομες δυνατότητες.
Αυτόματη Βελτιστοποίηση
Οι βάσεις δεδομένων θα βελτιστοποιούνται συνεχώς ως εξής:
- Αυτόματη δημιουργία και απόρριψη ευρετηρίων με βάση το φόρτο εργασίας
- Προσαρμογή ρυθμίσεων διαμόρφωσης για βέλτιστη απόδοση
- Επαναδιατύπωση αναποτελεσματικών ερωτημάτων με διαφάνεια
- Δυναμική διαχείριση της κατανομής πόρων
Ευφυής ρύθμιση
Τα προηγμένα συστήματα θα μαθαίνουν από τα μοτίβα απόδοσης και θα εφαρμόζουν αυτόματα προτάσεις ρύθμισης, μειώνοντας την ανάγκη για χειροκίνητη παρέμβαση DBA.
16. Συμπέρασμα και βασικά συμπεράσματα
16.1 Σύνοψη Βασικών Πρακτικών Παρακολούθησης
Αποτελεσματικός SQL Server Η παρακολούθηση της απόδοσης απαιτεί μια ολοκληρωμένη προσέγγιση που συνδυάζει εργαλεία, τεχνικές και βέλτιστες πρακτικές.
Ανακεφαλαίωση κρίσιμων μετρητών
Εστιάστε τις προσπάθειες παρακολούθησης σε αυτούς τους βασικούς μετρητές:
- Μνήμη: Προσδοκώμενη διάρκεια ζωής σελίδας, Αναλογία επισκέψεων προσωρινής μνήμης buffer, Εκκρεμείς επιχορηγήσεις μνήμης
- CPU: % Χρόνος Επεξεργαστή, Μήκος Ουράς Επεξεργαστή
- Δίσκος: Μέσος όρος δευτ. δίσκου/ανάγνωση και εγγραφή, μήκος ουράς δίσκου
- SQL Server: Αιτήματα παρτίδας/δευτ., Μεταγλωττίσεις/δευτ., Συνδέσεις χρηστών
Σύνοψη βέλτιστων πρακτικών
- Καθορισμός βασικών γραμμών κατά τη διάρκεια των κανονικών λειτουργιών
- Ορίστε όρια έξυπνης ειδοποίησης με βάση τις γραμμές βάσης
- Ελέγχετε τακτικά τα δεδομένα απόδοσης
- Εξισορρόπηση του overhead παρακολούθησης με την λεπτομέρεια των δεδομένων
- Διατήρηση μακροπρόθεσμων δεδομένων για ανάλυση τάσεων
- Χρησιμοποιήστε τα κατάλληλα εργαλεία για κάθε σενάριο παρακολούθησης
16.2 Προσέγγιση Συνεχούς Βελτίωσης
SQL Server Η παρακολούθηση της απόδοσης δεν είναι μια εφάπαξ δραστηριότητα, αλλά μια συνεχής διαδικασία που απαιτεί συνεχή βελτίωση.
Τακτικοί Κύκλοι Αναθεώρησης
- Καθημερινά: Ελέγξτε τις ειδοποιήσεις και την τρέχουσα απόδοση
- Εβδομαδιαία: Εξετάστε τις τάσεις και εντοπίστε τα αναδυόμενα ζητήματα
- Μηνιαία: Ανάλυση μακροπρόθεσμων προτύπων και αναγκών χωρητικότητας
- Τριμηνιαία: Ενημέρωση βασικών γραμμών και αξιολόγηση της αποτελεσματικότητας της παρακολούθησης
Παραμένοντας ενημερωμένοι με τα εργαλεία
Διατηρήστε τα εργαλεία και τις τεχνικές παρακολούθησης ενημερωμένα:
- Αξιολόγηση νέων λειτουργιών παρακολούθησης στο SQL Server ενημερώσεις
- Δοκιμάστε αναδυόμενα εργαλεία τρίτων
- Παρακολουθήστε εκπαιδεύσεις και συνέδρια
- Συμμετέχουν σε SQL Server φόρουμ κοινότητας
- Μοιραστείτε γνώσεις με τα μέλη της ομάδας
16.3 Επόμενα βήματα
Εφαρμογή SQL Server συστηματική παρακολούθηση της απόδοσης:
Οδικός Χάρτης Εφαρμογής
- Εβδομάδα 1: Ρύθμιση της Παρακολούθησης Επιδόσεων με βασικούς μετρητές
- Εβδομάδα 2: Δημιουργήστε σύνολα συλλεκτών δεδομένων για αυτοματοποιημένη συλλογή
- Εβδομάδα 3: Καθορισμός βασικών γραμμών κατά τη διάρκεια των κανονικών λειτουργιών
- Εβδομάδα 4: Ρύθμιση παραμέτρων ειδοποιήσεων για κρίσιμα όρια
- Μήνας 2: Εφαρμογή πρόσθετων εργαλείων παρακολούθησης (DMV, Εκτεταμένα Συμβάντα)
- Μήνας 3: Ανάπτυξη προσαρμοσμένων πινάκων ελέγχου και αναφορών
- Σε εξέλιξη: Βελτιστοποίηση της παρακολούθησης με βάση την εμπειρία και τις μεταβαλλόμενες απαιτήσεις
Επιπρόσθετοι πόροι
Συνεχίστε να μαθαίνετε για SQL Server Παρακολουθήστε την απόδοση μέσω της τεκμηρίωσης της Microsoft, των ιστολογίων της κοινότητας και της πρακτικής εξάσκησης. Πειραματιστείτε με διαφορετικά εργαλεία και τεχνικές για να βρείτε τι λειτουργεί καλύτερα για το περιβάλλον σας.
17. Συχνές Ερωτήσεις (FAQ)
17.1 Ποια είναι τα πιο σημαντικά SQL Server μετρητές απόδοσης για παρακολούθηση;
Το πιο κρίσιμο SQL Server Οι μετρητές απόδοσης περιλαμβάνουν:
- Μνήμη: Προσδόκιμο ζωής σελίδας (πρέπει να είναι >300 δευτερόλεπτα) και λόγος επισκέψεων προσωρινής μνήμης buffer (πρέπει να είναι >99%)
- CPU: % Χρόνος Επεξεργαστή (σταθερές τιμές <75%) και Μήκος Ουράς Επεξεργαστή (πρέπει να είναι <2 ανά πυρήνα)
- Δίσκος: Μέσος χρόνος ανάγνωσης και εγγραφής δίσκου (πρέπει να είναι <10-20ms) και μήκος ουράς δίσκου (πρέπει να είναι <2 ανά δίσκο)
- SQL Server: Αιτήματα παρτίδας/δευτ., Μεταγλωττίσεις SQL/δευτ. και Εκκρεμείς επιχορηγήσεις μνήμης (θα πρέπει να είναι 0)
Αυτοί οι μετρητές παρέχουν ολοκληρωμένη εικόνα για την εύρυθμη λειτουργία του συστήματος και βοηθούν στον γρήγορο εντοπισμό σημείων συμφόρησης.
17.2 Πόσο συχνά πρέπει να συλλέγω δεδομένα απόδοσης;
Η συχνότητα συλλογής εξαρτάται από τους στόχους παρακολούθησης που έχετε θέσει:
- Παρακολούθηση βασικής γραμμής: Κάθε 1 λεπτό (60 δευτερόλεπτα)
- Ενεργή αντιμετώπιση προβλημάτων: Κάθε 15-30 δευτερόλεπτα για σύντομα χρονικά διαστήματα
- Μακροπρόθεσμη τάση: Κάθε 5 λεπτά
Αποφύγετε τη συνεχή εκτέλεση συλλογής δεδομένων υψηλής συχνότητας, καθώς αυτό μπορεί να επηρεάσει την απόδοση και να δημιουργήσει υπερβολικά πολλά δεδομένα. Χρησιμοποιήστε μεγαλύτερα χρονικά διαστήματα για τακτική παρακολούθηση και μικρότερα χρονικά διαστήματα μόνο όταν διερευνάτε συγκεκριμένα ζητήματα.
17.3 Ποια είναι η διαφορά μεταξύ του Performance Monitor και του SQL Server Προφίλ;
Παρακολούθηση απόδοσης και SQL Server Το Profiler εξυπηρετεί διαφορετικούς σκοπούς:
Εποπτεία επιδόσεων:
- Σύστημα παρακολούθησης και SQL Server μετρητές απόδοσης
- Παρακολουθεί την αξιοποίηση των πόρων (CPU, μνήμη, δίσκος)
- Χαμηλό overhead, κατάλληλο για συνεχή παρακολούθηση
- Παρέχει συγκεντρωτικές μετρήσεις με την πάροδο του χρόνου
SQL Server Προφίλ:
- Ίχνη μεμονωμένα SQL Server γεγονότα και ερωτήματα
- Καταγράφει λεπτομερείς πληροφορίες εκτέλεσης ερωτήματος
- Υψηλότερη επιβάρυνση, δεν συνιστάται για συνεχή χρήση
- Ιδανικό για την αντιμετώπιση συγκεκριμένων προβλημάτων ερωτήματος
- Καταργήθηκε υπέρ των Εκτεταμένων Εκδηλώσεων
Χρησιμοποιήστε το Performance Monitor για τη συνολική παρακολούθηση του συστήματος και το Extended Events (όχι το Profiler) για λεπτομερή ανάλυση σε επίπεδο ερωτήματος.
17.4 Μπορεί το Performance Monitor να επηρεάσει SQL Server εκτέλεση?
Όταν έχει ρυθμιστεί σωστά, το Performance Monitor έχει ελάχιστη επίδραση στο SQL Server απόδοση, συνήθως λιγότερο από 2% επιβάρυνση. Ωστόσο, η υπερβολική παρακολούθηση μπορεί να προκαλέσει προβλήματα:
- Πάρα πολλοί μετρητές αυξάνουν τα γενικά έξοδα
- Πολύ σύντομα διαστήματα δειγματοληψίας (κάτω των 15 δευτερολέπτων) πόροι τάσης
- Η συνεχής συλλογή υψηλής συχνότητας δημιουργεί μεγάλα αρχεία καταγραφής
Για την ελαχιστοποίηση των επιπτώσεων:
- Παρακολουθήστε μόνο τους απαραίτητους μετρητές
- Χρησιμοποιήστε κατάλληλα διαστήματα δειγματοληψίας (60 δευτερόλεπτα για τακτική παρακολούθηση)
- Αποθήκευση αρχείων καταγραφής σε μονάδες δίσκου ξεχωριστά από τα αρχεία βάσης δεδομένων
- Προγραμματίστε παρακολούθηση που απαιτεί πολλούς πόρους κατά τις ώρες εκτός αιχμής
17.5 Για πόσο χρονικό διάστημα πρέπει να διατηρώ τα δεδομένα παρακολούθησης απόδοσης;
Η διατήρηση εξαρτάται από τις ανάγκες ανάλυσης και τη χωρητικότητα αποθήκευσης:
- Ελάχιστο: 3 μήνες για την αντιμετώπιση πρόσφατων προβλημάτων
- Συνιστάται: 1-2 χρόνια για σχεδιασμό χωρητικότητας και ανάλυση τάσεων
- Αριστος: Επ' αόριστον, εφόσον το επιτρέπει η αποθήκευση, καθώς τα ιστορικά δεδομένα αποκτούν μεγαλύτερη αξία με την πάροδο του χρόνου
Τα δεδομένα του μετρητή απόδοσης συμπιέζονται καλά και καταναλώνουν σχετικά λίγο χώρο. Εξετάστε το ενδεχόμενο αρχειοθέτησης παλαιότερων δεδομένων σε ξεχωριστό χώρο αποθήκευσης αντί να τα διαγράψετε. Πολλοί οργανισμοί διαπιστώνουν ότι τα ιστορικά δεδομένα ετών αποδεικνύονται ανεκτίμητα για τον σχεδιασμό χωρητικότητας και τον εντοπισμό μακροπρόθεσμων τάσεων.
17.6 Ποιες είναι οι καλές τιμές κατωφλίου για τους βασικούς μετρητές απόδοσης;
Συνιστώμενες τιμές κατωφλίου για την ειδοποίηση:
- Εκκρεμείς επιχορηγήσεις μνήμης: Ειδοποίηση όταν > 0
- Προσδόκιμο ζωής σελίδας: Ειδοποίηση όταν < 300 δευτερόλεπτα
- % Χρόνος Επεξεργαστή: Ειδοποίηση όταν > 80% για 5 λεπτά
- Μήκος ουράς επεξεργαστή: Ειδοποίηση όταν > 2 ανά πυρήνα
- Μέσος χρόνος δίσκου σε δευτερόλεπτα/ανάγνωση ή εγγραφή: Ειδοποίηση όταν > 20ms
- Μήκος ουράς δίσκου: Ειδοποίηση όταν > 2 ανά δίσκο
- Αποκλεισμένες διεργασίες: Ειδοποίηση όταν > 5
Προσαρμόστε αυτά τα όρια με βάση τα δεδομένα βάσης και τα συγκεκριμένα χαρακτηριστικά του φόρτου εργασίας σας. Αυτό που είναι φυσιολογικό για ένα περιβάλλον μπορεί να υποδηλώνει προβλήματα σε ένα άλλο.
17.7 Πώς μπορώ να παρακολουθώ SQL Server απόδοση από απόσταση;
Τηλεχειριστήριο παρακολούθησης SQL Server περιπτώσεις που χρησιμοποιούν αυτές τις μεθόδους:
- Εποπτεία επιδόσεων: Καθορίστε το όνομα του απομακρυσμένου υπολογιστή κατά την προσθήκη μετρητών
- PowerShell: Χρησιμοποιήστε την παράμετρο -ComputerName με το Get-Counter
- Οδικά Αυτοκίνητα (DMV): Σύνδεση σε απομακρυσμένους διακομιστές μέσω SSMS και υποβολή ερωτημάτων σε DMV
- Εργαλεία τρίτων: Τα περισσότερα εργαλεία παρακολούθησης υποστηρίζουν απομακρυσμένη παρακολούθηση διακομιστή
Βεβαιωθείτε ότι οι κανόνες του τείχους προστασίας επιτρέπουν την κίνηση της Παρακολούθησης Επιδόσεων και ότι έχετε τα κατάλληλα δικαιώματα στον απομακρυσμένο διακομιστή. Για πολλαπλούς διακομιστές, εξετάστε το ενδεχόμενο εφαρμογής κεντρικής παρακολούθησης με έναν αποκλειστικό διακομιστή παρακολούθησης και βάση δεδομένων.
17.8 Ποιο είναι το καλύτερο δωρεάν εργαλείο για SQL Server παρακολούθηση απόδοσης;
Διατίθενται πολλά εξαιρετικά δωρεάν εργαλεία για την παρακολούθηση SQL Server εκτέλεση:
- Εποπτεία απόδοσης των Windows: Ενσωματωμένο, ολοκληρωμένο και αξιόπιστο
- Παρακολούθηση δραστηριότητας SSMS: Παρακολούθηση σε πραγματικό χρόνο χωρίς πρόσθετη εγκατάσταση
- Εκτεταμένες Εκδηλώσεις: Ελαφριά παρακολούθηση συμβάντων ενσωματωμένη SQL Server
- sp_ΠοιοςΕίναιΕνεργός: Δημοφιλής δωρεάν αποθηκευμένη διαδικασία για λεπτομερή παρακολούθηση δραστηριότητας
- Πίνακας ελέγχου DBA: Εργαλείο παρακολούθησης ανοιχτού κώδικα με ολοκληρωμένες λειτουργίες
- SQLWATCH: Ανοιχτού κώδικα με δυνατότητες παρακολούθησης σε σχεδόν πραγματικό χρόνο
Για τους περισσότερους οργανισμούς, το Performance Monitor σε συνδυασμό με τα εργαλεία SSMS και το sp_WhoIsActive παρέχει εξαιρετικές δυνατότητες παρακολούθησης χωρίς επιπλέον κόστος.
17.9 Πώς μπορώ να εξάγω δεδομένα PerfMon για ανάλυση;
Εξαγωγή δεδομένων Performance Monitor χρησιμοποιώντας αυτές τις μεθόδους:
Εξαγωγή σε CSV:
- Ανοίξτε την Παρακολούθηση Επιδόσεων με φορτωμένο το αρχείο καταγραφής σας
- Κάντε δεξί κλικ στο γράφημα και επιλέξτε Αποθήκευση δεδομένων ως
- Επιλέξτε Αρχείο κειμένου (οριοθετημένο με κόμμα) (.csv)
- Επιλέξτε τοποθεσία και αποθηκεύστε
- Άνοιγμα στο Excel για ανάλυση
Χρησιμοποιήστε την εντολή Relog:
relog input.blg -f csv -o output.csv
Αυτό το βοηθητικό πρόγραμμα γραμμής εντολών μετατρέπει δυαδικά αρχεία καταγραφής (.blg) σε μορφή CSV για ευκολότερη ανάλυση σε εφαρμογές υπολογιστικών φύλλων.
17.10 Πότε πρέπει να χρησιμοποιώ εργαλεία παρακολούθησης τρίτων αντί για ενσωματωμένες επιλογές;
Εξετάστε το ενδεχόμενο χρήσης εργαλείων τρίτων όταν:
- Διαχείριση μεγάλου αριθμού SQL Server περιπτώσεις (10+)
- Απαιτείται κεντρική παρακολούθηση σε πολλά κέντρα δεδομένων
- Χρειάζονται προηγμένες λειτουργίες όπως προγνωστική ανάλυση ή ανίχνευση ανωμαλιών
- Επιθυμία ενσωματωμένης ειδοποίησης με συστήματα διαχείρισης συμβάντων
- Απαίτηση υποβολής εκθέσεων συμμόρφωσης και ιστορικής ανάλυσης
- Έλλειψη πόρων DBA για τη δημιουργία και τη συντήρηση προσαρμοσμένων λύσεων
- Παρακολούθηση ετερογενών περιβαλλόντων βάσεων δεδομένων (SQL Server, Oracle, MySQL, κ.λπ.)
Τα ενσωματωμένα εργαλεία λειτουργούν καλά για μικρότερα περιβάλλοντα ή όταν έχετε έμπειρους διαχειριστές βάσεων δεδομένων (DBA) που μπορούν να αναπτύξουν προσαρμοσμένες λύσεις παρακολούθησης. Τα εργαλεία τρίτων παρέχουν αξία μέσω εξοικονόμησης χρόνου, προηγμένων λειτουργιών και επαγγελματικής υποστήριξης.
18. Πρόσθετοι πόροι
18.1 Επίσημη Τεκμηρίωση
Η Microsoft παρέχει εκτενή τεκμηρίωση για SQL Server παρακολούθηση απόδοσης:
- SQL Server Τεκμηρίωση παρακολούθησης απόδοσης: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Δυναμικές προβολές διαχείρισης: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Εκτεταμένες Εκδηλώσεις: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Κατάστημα ερωτημάτων: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Ρύθμιση και παρακολούθηση απόδοσης: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
18.2 Προτεινόμενα εργαλεία και λήψεις
Απαραίτητα εργαλεία για SQL Server παρακολούθηση απόδοσης:
- Εργαλείο PAL: https://github.com/clinthuffman/PAL
- sp_ΠοιοςΕίναιΕνεργός: http://whoisactive.com/
- Πίνακας ελέγχου DBA: https://dbadash.com/
- SQLWATCH: https://github.com/marcingminski/sqlwatch
- Κιτ Πρώτου Ανταπόκρισης (Brent Ozar): https://www.brentozar.com/first-aid/
- SQL Server Management Studio: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
18.3 Κοινοτικοί Πόροι
Μάθετε από το SQL Server κοινότητα:
- SQL Server Κεντρικός: https://www.sqlservercentral.com/
- Ιστολόγιο του Μπρεντ Όζαρ: https://www.brentozar.com/blog/
- SQL Shack: https://www.sqlshack.com/
- Συμβουλές MSSQL: https://www.mssqltips.com/
- Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
- Υπερχείλιση στοίβας SQL Server ετικέτα: https://stackoverflow.com/questions/tagged/sql-server
Αυτοί οι πόροι παρέχουν εκπαιδευτικά σεμινάρια, συμβουλές αντιμετώπισης προβλημάτων και βέλτιστες πρακτικές από έμπειρους SQL Server επαγγελματίες. Η συμμετοχή σε φόρουμ κοινότητας σάς βοηθά να μαθαίνετε από τις εμπειρίες των άλλων και να μοιράζεστε τις δικές σας γνώσεις.
Σχετικά με το Συγγραφέας
Γιουάν Σενγκ είναι ανώτερος διαχειριστής βάσεων δεδομένων (DBA) με πάνω από 10 χρόνια εμπειρίας σε SQL Server περιβάλλοντα και διαχείριση βάσεων δεδομένων επιχειρήσεων. Έχει επιλύσει με επιτυχία εκατοντάδες σενάρια ανάκτησης βάσεων δεδομένων σε χρηματοοικονομικές υπηρεσίες, υγειονομική περίθαλψη και βιομηχανικούς οργανισμούς.
Ο Γιουάν ειδικεύεται στην SQL Server ανάκτηση βάσης δεδομένων, λύσεις υψηλής διαθεσιμότηταςκαι βελτιστοποίηση απόδοσης. Η εκτεταμένη πρακτική του εμπειρία περιλαμβάνει τη διαχείριση βάσεων δεδομένων πολλαπλών terabyte, την υλοποίηση Ομάδες πάντα σε διαθεσιμότητακαι ανάπτυξη αυτοματοποιημένων στρατηγικών δημιουργίας αντιγράφων ασφαλείας και ανάκτησης για κρίσιμα επιχειρηματικά συστήματα.
Μέσω της τεχνικής του εξειδίκευσης και της πρακτικής του προσέγγισης, ο Yuan επικεντρώνεται στη δημιουργία ολοκληρωμένων οδηγών που βοηθούν τους διαχειριστές βάσεων δεδομένων και τους επαγγελματίες πληροφορικής να επιλύουν πολύπλοκα ζητήματα. SQL Server προκλήσεις αποτελεσματικά. Παραμένει ενημερωμένος για τις τελευταίες εξελίξεις SQL Server κυκλοφορίες και τις εξελισσόμενες τεχνολογίες βάσεων δεδομένων της Microsoft, δοκιμάζοντας τακτικά σενάρια ανάκτησης για να διασφαλίσει ότι οι συστάσεις του αντικατοπτρίζουν τις βέλτιστες πρακτικές του πραγματικού κόσμου.
Έχετε ερωτήσεις σχετικά με SQL Server Ανάκτηση ή χρειάζεστε επιπλέον καθοδήγηση για την αντιμετώπιση προβλημάτων βάσης δεδομένων; Ο Yuan είναι ευπρόσδεκτος. σχόλια και προτάσεις για τη βελτίωση αυτών των τεχνικών πόρων.





























