26 Aug 2014
Understanding the Dedicated Administrator Connection - DAC
Κάθε SQL Server DBA έχει στην συλλογή του διάφορα εργαλεία για να κάνει την καλύτερα την ημερήσια δουλεία του. Ένα από αυτά είναι και τo Dedicated Administrator Connection (DAC). Πόσοι όμως ξέρουν τι είναι αυτό και πως πρέπει να χρησιμοποιείται;
13 Oct 2011
The SQL Server Utility
Το πρόβλημα Σαν DBA και ειδικά σε enterprise environments έχουμε το καθήκον να διαχειριζόμαστε ένα αρκετά σημαντικό αριθμό από SQL Server instances που υπάρχουν διάσπαρτα μέσα στο οργανισμό ή την εταιρεία στην οποία εργαζόμαστε. Αυτό σημαίνει ότι πρέπει καθημερινά να παρακολουθούμε την πορεία αυτών των instances ώστε προληπτικά και όχι πυροσβεστικά να δίνουμε λύσεις σε issues που τυχόν θα εμφανιστούν.
14 Oct 2015
SQL Server 2016 New features - The sys.dm_exec_session_wait_stats DMV
Καθημερινά ένας DBA ή DB developer έχει να αντιμετωπίσει αρκετούς αστάθμητους τις περισσότερες φορές παράγοντες που επηρεάζουν το performance.
Πιστέψτε με ότι αυτό είναι μια δουλεία που απαιτεί σχολαστικότητα γνώση της αρχιτεκτονικής τόσο του SQL Server όσο και της database. Για να κάνεις αυτή την δουλεία θα πρέπει να έχεις μελετήσει αρκετά και να έχεις κάνει αρκετή πρακτική εξάσκηση για την απόκτηση εμπειρίας.
03 Mar 2013
Installing and Using the Microsoft SQL Server 2012 Performance Dashboard Reports
Σαν DBA στην καθημερινότητα μου θέλω να μπορώ εύκολα να βλέπω τι γίνεται με τους SQL Servers που έχω υπό την επίβλεψη μου. Για αυτό το λόγο έχω φτιάξει κάποια σειρά από scripts και reports που τα χρησιμοποιώ για να κάνω την ζωή μου ευκολότερη. Αυτό βέβαια σημαίνει ότι γνωρίζω το πως θα κατασκευάσω αυτά. Τι γίνεται όμως στις περιπτώσεις που κάποιος είτε είναι αυτό που λέμε accidentally DBA είτε είναι νέος στο ρόλο αυτό με τον SQL Server είτε ακόμα ακόμα δεν έχει το χρόνο να κάνει κάτι αντίστοιχο.
23 Nov 2020
The undocumented ATTACH_FORCE_REBUILD_LOG
Στην δουλειά του DBA υπάρχουν στιγμές που πραγματικά οι παλμοί ανεβαίνουν επικίνδυνα. Συνήθως αυτό συμβαίνει ότι υπάρχει το ενδεχόμενο απώλειας δεδομένων.
20 Aug 2015
The Database Developer Role
Πρόσφατα συμμετείχα σε μια συζήτηση στην οποία αναφέρθηκε ο ρόλος του DB Developer. Μέσα από αυτή την συζήτηση διαπίστωσα ότι οι απόψεις για το τι είναι και κυρίως τι κάνει ένας DB Developer δεν είναι ξεκάθαρες.
Θεωρώντας ότι είναι χρήσιμο να γνωρίζουμε τι είναι ο DB Developer ρόλος και πως αυτός τοποθετείτε στην αγορά εργασίας (ζήτηση/αμοιβή) τόσο στην χώρα μας όσο και στο εξωτερικό, αποφάσισα να γράψω το συγκεκριμένο άρθρο.
08 Apr 2012
Security Enhancements in SQL Server 2012
Ας κάνουμε μία αποτοξίνωση από τα BI post και ας πάμε να δούμε τι καλά έχουν έρθει στην ασφάλεια του SQL Server 2012. Αν και ο SQL Server εδώ και πολλά χρόνια είναι ασφαλής σε σχέση με τον ανταγωνισμό εντούτοις δεν υπάρχει εφησυχασμός στο product group καθώς το θέμα ασφάλεια είναι μια ατέρμονη πάλη με τους κακούς.
14 Sep 2015
Monitor Connection Pooling as SQL Server DBA
Το connection pooling είναι μια cache από database connections που σκοπό έχει αυτά που είναι ελεύθερα στην cache αυτή να μπορούν να επαναχρησιμοποιηθούν κάθε φορά που κάποιος ζητάει να κάνει connect στην database.Η χρησιμότητα του connection pooling είναι αρκετά σημαντική στην εκτέλεση διαδικασιών πάνω στην database από το application καθώς με αυτό τον τρόπο γίνεται αφενός γρηγορότερη επικοινωνία αφετέρου καταναλώνονται λιγότεροι πόροι.
14 Jan 2022
Monitor Active SQL Agent T-SQL Jobs
Η εκτέλεση προγραμματισμένων εργασιών με την χρήση του SQL Agent είναι κάτι που σπάνια δεν θα βρει κάποιος σε ένα instance και πρέπει να κάνουμε monitor, management & troubleshooting για αυτές. Έχουμε αρκετά εργαλεία στα χέρια μας αλλά υπάρχουν και αυτές οι περιπτώσεις που χρειάζεται το κάτι παραπάνω για να κάνουμε monitor, management & troubleshooting. Μία από αυτές τι περιπτώσεις περιγράφω στο άρθρο μου αυτό.
14 Nov 2011
SQL Server 2012 - Backup Timeline feature
Όσοι ασχολούμαστε καθημερινά με τον SQL Server και το πρώτο πράγμα που κάνουμε το πρωί πριν ακόμα πιούμε την πρώτη τζούρα καφές είναι σχεδόν σίγουρο ότι όταν θα χρειαστεί να κάνουμε κάποιο restore σε μια database γνωρίζουμε εξ αρχής σε ποιο χρονικό σημείο θα γυρίσουμε. Παρόλα αυτά όμως κάνουμε επιβεβαίωση χρησιμοποιώντας διάφορες τεχνικές κυρίως με T-SQL commands.
23 Oct 2011
TOD : You are not going to say “F***, I ran the test script in the production server!” again
Σαν DBA και DB Developer έχω πολλούς servers/instances του SQL Server τα οποία διαχειρίζομαι. Φαντάζομαι ότι και εσείς θα έχετε αρκετά είναι production είτε development instances. Αρκετές φορές πάνω στην βιασύνη ίσως έχετε τρέξει κάποιο script στο production ενώ δεν θα έπρεπε. Συνήθως αυτό γίνεται διότι έχετε ανοίξει ένα query window το οποίο είναι συνδεδεμένο στο instance που δεν θα έπρεπε να είναι. Αυτό είναι ένα θέμα. Θέλω να ξέρω κάθε φορά σε ποιο instance είμαι συνδεδεμένος.
07 Aug 2014
Explaining the mystery of sqlservr# in Performance Μonitor Counters
Ένα από τα εργαλεία που αρκετοί χρησιμοποιούν για να μετρήσουν το σύστημα τους με σκοπό είτε να αποφανθούν για την αιτία ενός προβλήματος είτε για λόγους baseline benchmarking είτε για να πάρουν γρήγορα μια εικόνα που θα τους δείξει το δρόμο για το επόμενο βήμα είναι το γνωστό σε όλους Performance Monitor των Windows.Τα objects που περιέχουν τους μετρητές για τον SQL Server είναι αρκετά εύκολο να βρεθούν. Υπάρχουν όμως και objects που έχουν μετρητές που αντί για το όνομα σου δείχνουν #1, #2 κλπ.
28 May 2014
PARSENAME T-SQL Function
Σαν DBA αλλά και DB Developer έχεις την ανάγκη να διαβάσεις metadata για να κάνεις την δουλειά σου. Αρκετές είναι οι φορές που τo όνομα του object που παίρνεις είναι full qualified name δηλαδή περιέχει server, database, schema, και φυσικά το όνομα του και ανά περίπτωση θέλεις να πάρεις κάποιο από αυτά. Μην ψάχνεις να δεις πως θα τα κάνεις…
11 Mar 2014
What is the Power Option you have on your SQL Server box?
Το ζητούμενο όλων μας είναι να έχουμε ένα σύστημα που να έχει την καλύτερη απόδοση. Για να γίνει όμως αυτό πρέπει να κουρδίσεις αυτό ώστε να συμπεριφέρεται σαν ελβετικό ρολόι. Μια από τις ρυθμίσεις που πρέπει να κάνει ένας DBA είναι…
13 Jan 2014
Update Statistics and Trace Flag 2371
Σαν DBA καθημερινά ερχόμαστε αντιμέτωποι με κάποιες περιπτώσεις δεν είναι εύκολο άμεσα να εντοπιστούν τα αίτια που τις δημιούργησαν. Εδώ έρχεται αυτό που χρόνια λέω και γράφω ότι πρέπει να γνωρίζουμε τα εσωτερικά του εργαλείου. Πρόσφατα δέχθηκα μια ερώτηση από έναν συνάδελφο που απετέλεσε το ερέθισμα για το post αυτό.
28 Oct 2013
Taking database backups from SQL Server 2014 to Windows Azure Storage (Part I)
Σαν DBA πρέπει να έχω μια σωστή πολιτική backup που να ταιριάζει με τις εκάστοτε ανάγκες της database. Πέρα όμως από αυτή την πολιτική πρέπει να φροντίζω να φυλάσσω τα backup αυτά σε χώρους εκτός κτηρίου / περιοχής για τον φόβο των Ιουδαίων.
Από το CU2 του SQL Server 2012 μας δόθηκε η δυνατότητα να μπορούμε να εκτελούμε backups απευθείας σε azure storage. Πλέον αυτή η δυνατότητα στον SQL Server 2014 (CTP2) έχει μεγαλώσει και δίνει περισσότερες δυνατότητες.
19 Dec 2017
How to get useful info for SQL Logins
Είναι γνωστό ότι στο SQL Server έχουμε την δυνατότητα να κάνουμε authenticate users είτε με windows account είτε με SQL Logins (account).Για τα windows accounts η διαχείριση γίνεται μέσα από το Active Directory με τα tools που αυτό προσφέρει. Για τα SQL Logins πάλι έχουμε τα εργαλεία που ο SQL Server προσφέρει μέσα από το SSMS αλλά είναι στη φύση του DBA πάντα να θέλει το κάτι παραπάνω.
27 Apr 2015
Database(s) backup history reports
Σαν DBA θέλεις να έχεις τα πάντα σε έλεγχο και για αυτό πρέπει αρκετές φορές να κάνεις κάποια πράγματα πριν οι καταστάσεις ξεφύγουν από τον έλεγχο σου.
21 Apr 2013
SQL Server Agent – Automatically Remove Agent Jobs History
Μέσα στην καθημερινότητα ενός DBA είναι να έχει αρκετά schedule tasks με τα οποία κάνει την ζωή του ευκολότερη. Αυτά όπως είναι γνωστό εκτελούνται με την χρήση του SQL Server Agent service. Τα tasks αυτά σε κάθε κύκλο εκτέλεσης τους κάνουν logging την κάθε εκτέλεση σε ένα system table που υπάρχει μέσα στην msdb database και αυτός είναι ο dbo.sysjobhistory. Φυσικό είναι ο πίνακας αυτός να γεμίζει με εγγραφές που έπειτα από κάποιο χρονικό διάστημα πρακτικά είναι άχρηστες καθώς αναφέρονται σε εκτελέσεις που αφορούν το πολύ μακρινό παρελθόν. Πως λοιπόν θα σβήσουμε από αυτόν τον πίνακα τις εγγραφές αυτές που δεν θέλουμε;
13 Jan 2013
AlwaysOn Availability Groups Vs Database Mirroring
Ποιο θεωρείς ότι είναι το μεγαλύτερο ατού των AlwaysOn Availability Groups; Για μένα ήταν οι πολλαπλές replicas και το ότι μπορείς να τρέχεις OLTP jobs στην primary και reporting στις secondaries. Μετά όμως άρχισα να καταλαβαίνω ότι αυτό μπορούσες να το υλοποιήσεις και πριν τον 2012 με το database mirroring και manual configuration του backup ή reporting στους secondaries. Άρα; Υπάρχει κάποιο αυτόματο brokering ή απλά γλυτώνει ο administrator άπειρο χρόνο σε ρυθμίσεις και στο να είναι σίγουρος ότι αυτό που έστησε δουλεύει;
12 Apr 2012
Auditing Enhancements in SQL Server 2012
Επειδή μερικά πράγματα πρέπει να τα κλείνεις γρήγορα έτσι σήμερα με αυτό το post θα καλύψω μια από τις υποσχέσεις που έδωσα στο τελευταίο μου post και θα μιλήσω σε αυτό για τις βελτιώσεις που έχουμε για auditing στο SQL Server 2012.
01 Jul 2010
Λίγα λόγια για τα database Schemas
Αρκέτες φορές έχω δεχθεί ερωτήσεις σχετικά με τα database Schemas. Οι πιο δημοφιλείς ερωτήσεις είναι; Τι είναι τα Schemas; Ποιά είναι η πρακτική αξία τους; Γιατί τα έβαλαν στον SQL Server τόσο αργά; η Oracle τα έχει χρόνια τώρα! Θα ξεκινήσω με την τελευταία.
30 Jul 2018
Server related DMVs in SQL Server
Πολλές φορές ένας DBA ψάχνει να βρει πληροφορίες για το configuration ενός instance. Από όσο έχω δει μέχρι τώρα οι περισσότεροι καταφεύγουν στο γραφικό περιβάλλον ίσως από ευκολία ή μήπως επειδή δεν γνωρίζουν άλλον τρόπο;
26 Jan 2015
Passing dates as parameters in a script with SQLCMD
Από τα πράγματα που ένας DBA συνήθως κάνει είναι να έχει στην φαρέτρα του μια σειρά από scripts τα οποία αυτοματοποιούν την δουλειά του. Σύμμαχος του σε αυτό είναι το SQLCMD το οποίο έχει πολλές δυνατότητες και μια από αυτές είναι ότι μπορείς να έχει ένα script το οποίο να δέχεται παραμέτρους.
22 Apr 2012
New SQL Server 2012 dynamic views to get instance information
Αν και μπορούμε να δούμε πολλά πράγματα μέσα από το SQL Server Management Studio, εντούτοις αρκετές φορές χρειάζεται να δούμε αρκετά παράθυρα για να σχηματίσουμε την εικόνα που θέλουμε. Φυσικά για όσους είναι ανυπόμονοι και δεν έχουν θέμα να γράφουν ένα απλό SELECT υπάρχουν λύσεις που λύνουν τα χέρια.
27 Aug 2009
Παρουσίαση του Resource Governor στον SQL Server 2008.
Μέσα σε έναν οργανισμό θα συναντήσουμε πολλές batabase οι οποίες περιέχουν business-critical data. Πάνω από αυτές θα βρούμε applications τα οποία διαχειρίζονται τα δεδομένα αυτά. Καθώς ο όγκος των δεδομένων γεωμετρικά αυξάνετε, αλλά και ο αριθμός των χρηστών που ζητούν πρόσβαση σε αυτά μεγαλώνει, είναι κατανοητό σε όλους ότι η διαθεσιμότητα των δεδομένων πρέπει να είναι αδιάλειπτη, όπως επίσης και η ταχύτητα απόκρισης στα ερώτημα και στα transactions των χρηστών πρέπει να είναι μεγάλη και σταθερή. ...
20 Jun 2021
When Min and Max Memory have the same value things are getting worse
Το memory management αλλά και οι ρυθμίσεις για αυτό είναι από το περισσότερο σχολιασμένο θέμα στο SQL Server. Παρόλα αυτά όμως συνεχίζω να βλέπω στους διάφορους SQL Server που επισκέπτομαι ρυθμίσεις που κάνουν τα πράγματα χειρότερα από το να έχει αφήσει κάποιος τα defaults (που και αυτό δεν είναι σωστό).
23 Jan 2016
In-sync databases backups and restores
Για τους περισσότερους ένα application έχει μια database. Αυτό απολοποιεί σε μεγάλο βαθμό κάποια πράγματα και ένα από αυτά είναι και το backup της database. Ακόμα και σε αυτή την περίπτωση όμως πρέπει να ληφθούν σοβαρά όλες οι παράμετροι όπως το RPO και το RTO.
Τα πράγματα όμως παίρνουν μια άγρια ομορφιά όταν πίσω από την εφαρμογή σου υπάρχουν περισσότερες από μια databases. Σενάρια για μια τέτοια κατάσταση υπάρχουν αρκετά όπως για παράδειγμα να έχεις μια OLTP database που ενημερώνει μια MIS database ή να έχεις δύο OLTP databases που ενημερώνονται παράλληλα κατά την διάρκεια των transactions που υλοποιούνται από το application.
06 Oct 2015
How to know the execution percentage and completion time for a task
Καθημερινά ένας DBA εκτελεί πολλές εργασίες που μπορεί να είναι από ένα απλό backup/restore μέχρι κάποιο index rebuild/reorganize ή ένα DBCC CHECKDB.
Είναι αρκετά περίπλοκο και δύσκολο εκ των προτέρων να γνωρίζει ακριβώς πόσο χρόνο θα χρειαστούν τέτοιου είδους εργασίες για να ολοκληρωθούν. Παρόλα αυτά όμως είναι σε θέση να γνωρίζει πόσο χρόνο θα χρειαστούν μέχρι να ολοκληρωθούν εφόσον αυτές ξεκινήσουν.