go backsqlschool blogs list

The SQL Server Utility

by Antonios Chatzipavlis

Το πρόβλημα

Σαν DBA και ειδικά σε enterprise environments έχουμε το καθήκον να διαχειριζόμαστε ένα αρκετά σημαντικό αριθμό από SQL Server instances που υπάρχουν διάσπαρτα μέσα στο οργανισμό ή την εταιρεία στην οποία εργαζόμαστε. Αυτό σημαίνει ότι πρέπει καθημερινά να παρακολουθούμε την πορεία αυτών των instances ώστε προληπτικά και όχι πυροσβεστικά να δίνουμε λύσεις σε issues που τυχόν θα εμφανιστούν.

Για να μπορώ όμως σαν DBA να έχω την εικόνα όλων των instances που διαχειρίζομαι θα πρέπει να τα παρακολουθώ ξεχωριστά και αυτό είναι ένας μεγάλος καθημερινός πόνος. Λύσεις για αυτό υπάρχουν πολλές. Τόσο η Microsoft όσο και third party vendors μας παρέχουν σουίτες εργαλείων που μας βοηθούν στο συγκεκριμένο task. Φυσικά αυτό σημαίνει έξτρα κόστος και αξία έχει να το επωμιστώ εφόσον έχω και αλλά πράγματα που θέλω να παρακολουθώ με την χρήση τους. Αν έχω όμως ή θέλω μόνο να παρακολουθώ SQL Server instances αξίζει να επωμιστώ το κόστος;

Το εργαλείο

Κατά την άποψη μου όχι καθώς έχω πληθώρα από εργαλεία που ο SQL Server μου δίνει. Ένα από αυτά που δεν είναι και τόσο δημοφιλές (κακώς κατά την άποψη μου), και είναι διαθέσιμο στις Datacenter και Enterprise εκδόσεις τους SQL Server 2008 R2, είναι το SQL Server Utility (SSU).

To SSU δίνει την δυνατότητα στο DBA να μοντελοποιήσει όλα τα instances που έχει υπό την προστασία του μέσα στην εταιρεία, ώστε μέσω ενός unified view να μπορεί να έχει μια ολιστική εικόνα των resources που το κάθε instance έχει, συγκεντρωτικά ή αναλυτικά μέσω των SQL Server Utility viewpoints. Όλα αυτά μέσα από το γνώριμο σε αυτόν περιβάλλον που δεν είναι άλλο από το SQL Server Management Studio (SSMS).

Πως λειτουργεί

Θεμέλιο στην λειτουργία του SSU είναι η δημιουργία ενός κεντρικού σημείου στο οποίο θα συγκεντρώνονται σε τακτά χρονικά διαστήματα (το default interval είναι κάθε 15 λεπτά) στοιχεία που αφορούν SQL Server instances, Data-tier applications, Database files και Storage volumes. Το σημείο αυτό ονομάζεται Utility Control Point (UCP).

Στην πραγματικότητα το UCP δεν είναι τίποτα περισσότερο από μια database που δημιουργείται στο instance που έχω επιλέξει σαν σημείο συγκέντρωσης των δεδομένων και παίζει το ρόλο ενός data warehouse.

Από την στιγμή που ο DBA ορίσει το UCP θα πρέπει να εντάξει σε αυτό τα instance που θέλει να παρακολουθεί ώστε να αρχίσει η συγκέντρωση δεδομένων από αυτά και η αποστολή τους προς το UCP.

Τα δεδομένα που αποστέλλονται από το κάθε instance προς το UCP αφορούν παράγοντες που είναι σημαντικοί για την λειτουργία ενός SQL Server όπως CPU utilization, Storage space utilization.

Το σημαντικότερο όμως δεν είναι η απλή καταγραφή που έτσι και αλλιώς έχουμε και άλλους τρόπους με τους οποίους μπορούμε να την υλοποιήσουμε όσο η δυνατότητα να συγκρίνουμε τα καταγεγραμμένα αυτά δεδομένα με polices τις οποίες μπορούμε να ορίσουμε μέσα σε αυτό (SSU) είτε καθολικά για όλα τα instances είτε για το κάθε ένα ξεχωριστά. Αυτά αφορούν τις εξής κατηγορίες:

  • Instance CPU utilization policies για SQL Server instances και data-tier applications.
  • File space utilization policies για database και log files.
  • Computer CPU utilization policies για host resources
  • Storage volume utilization policies για host resources

H συλλογή, αποστολή, επεξεργασία των δεδομένων γίνεται με την χρήση jobs που δημιουργούνται στο κάθε instance που συμμετέχει και για το λόγο αυτό είναι υποχρεωτική η ενεργοποίηση του SQL Server Agent στο κάθε ένα ξεχωριστά το οποίο μάλιστα θα πρέπει να ξεκινάει με domain account.

Στην παρακάτω εικόνα (κλεμμένη από τα BOL) βλέπουμε μια επισκόπηση της λειτουργίας-αρχιτεκτονικής που το εργαλείο χρησιμοποιεί ώστε να επιτύχει τον σκοπό του.

clip_image001

Απαιτήσεις

Φυσικά για την χρήση του SSU υπάρχουν κάποιες απαιτήσεις για τα instance τα οποία μπορούν να συμμετέχουν στην ενημέρωση των στοιχείων και αυτές είναι

  • Τα SQL Server instances πρέπει να είναι έκδοσης 10.50 (SQL Server 2008 R2) ή μεγαλύτερη, μπορούμε όμως να έχουμε και 10.00 (SQL Server 2008) αρκεί σε αυτή να έχουμε το SP2.
  • Καταγράφονται πληροφορίες μόνο για τα Database Engine instance και μόνο αυτά μπορούν να μπουν.
  • Το SSU πρέπει να λειτουργεί με Windows domain account.
  • Τα accounts του SQL Server service στο UCP αλλά και σε όλα τα instances που στέλνουν δεδομένα πρέπει να έχουν read permission στους Users στο Active Directory.

Απαιτήσεις όμως έχει και το instance το οποίο θα παίζει το ρόλο του UCP και αυτές είναι:

  • Η SQL Server edition πρέπει να είναι Datacenter, Enterprise, Developer, ή Evaluation.
  • Πρέπει να υπολογίζουμε περίπου 2GB χώρου στην UCP database (sysutility_mdw) για κάθε managed instance το χρόνο.

Ακόμα

  • Εάν το UCP instance είναι σε case-insensitive collation τότε όλα τα managed instances του SQL Server πρέπει και αυτά να είναι σε case-insensitive collation.
  • Προτείνετε το UCP instance είναι σε case-sensitive collation
  • Τέλος FILESTREAM data δεν υποστηρίζονται στο SSU.

Επίλογος

Προσωπικά πιστεύω ότι το συγκεκριμένο εργαλείο θα πρέπει να τύχη της προσοχής σας για αυτό και αξίζει να του δώσετε μια ευκαιρία δοκιμάζοντας το. Δεν σας γράφω λεπτομερείς οδηγίες χρήσης αν και μου ήταν εύκολο και αυτό γιατί όλα όσα θέλετε να μάθετε για την χρήση του υπάρχουν στα BOL στο link αυτό Managing the SQL Server Utility

Ημερομηνία: 13 October 2011 23:53
Αξιολόγηση:
Κατηγορίες:
Tags:
Share it:

Σχετικά Blog Post

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS