Ένας οργανισμός έχει πολλά SQL Server Instances, πολλές databases και σίγουρα πάνω από έναν DBA, DB developer που έχουν πρόσβαση σε αυτά τα instances και αυτές τις databases. Ζητούμενο από όλους είναι να γνωρίζουμε τις αλλαγές που έχουν γίνει σε αυτές τις databases σε επίπεδο schema αλλά και πότε μπήκε ένας χρήστης σε ποιο ρόλο και πολλά ακόμα στοιχεία όπως δημιουργία indexes, αλλαγή στο μέγεθος μιας βάσης κλπ. Όλα αυτά ακόμα και μέσα από το SSMS να γίνουν είναι Data Definition Language (DDL) st
Πάντα υπάρχει κάτι που μπορεί να σε κάνει να χαμογελάσεις ευχάριστα ακόμα και αν είναι ένα μήνυμα λάθους!. Κάνοντας ένα τυπικό έλεγχο σε ένα παλιό Always On Availability Group διαπίστωσα ότι ένα domain group που είχε πρόσβαση στο ένα node δεν είχε πρόσβαση στο άλλο. Φυσικά αυτό θα έπρεπε να διορθωθεί καθώς σε περίπτωση που γίνονταν failover οι χρήστες του συγκεκριμένου domain group δεν θα είχαν πρόσβαση στο άλλο. Τι ποιο απλό από το να κάνει κάνεις αυτή την διαδικασία είτε μέσω SSMS είτε με τη
Η δύναμη της συνήθειας είναι το μεγαλύτερο ναρκωτικό του μυαλού και δεν το αφήνει να σκεφτεί αποδοτικά. Αλήθεια πόσες φορές κάνουμε μηχανικά κάποια πράγματα επειδή τα έχουμε συνηθίσει στα τόσα χρόνια που κάνουμε αυτή την δουλειά ;
http://www.sqlschool.gr/blog/get-all-tables-row-count-without-using-count-function-1058.aspx
Τα User Defined Functions (UDF) είναι γνωστά στους περισσότερους. Η χρήση τους είναι μεγάλη αλλά αρκετές φορές χρησιμοποιούνται λάθος κυρίως λόγο της άγνοιας που υπάρχει γύρω από την εκτέλεση ενός UDF και ιδιαίτερα όταν αυτό εμπλέκεται μέσα σε ένα query. Οι περισσότεροι συγκρίνοντας το execution plan ενός query χωρίς UDF και με UDF βλέπουν ότι το query cost είναι μικρότερο σε αυτό που χρησιμοποιεί το UDF και αμέσως θεωρούν ότι αυτό είναι και το καλύτερο. Για ακόμα μια φορά θα τονίσω ότι δεν υπά
Καθημερινά ένας DBA ή DB developer έχει να αντιμετωπίσει αρκετούς αστάθμητους τις περισσότερες φορές παράγοντες που επηρεάζουν το performance. Πιστέψτε με ότι αυτό είναι μια δουλεία που απαιτεί σχολαστικότητα γνώση της αρχιτεκτονικής τόσο του SQL Server όσο και της database. Για να κάνεις αυτή την δουλεία θα πρέπει να έχει μελετήσει αρκετά και να έχεις κάνει αρκετή πρακτική εξάσκηση για την απόκτηση εμπειρίας. Ακόμα και ένας τέτοιος άνθρωπος πάντα επιζητά τρόπους να κάνει λιγότερο δύσκολη την
Όσοι έχουν στο περιβάλλον τους έστω και ένα AlwaysOn Availability Group σίγουρα θα έχουν αναρωτηθεί πως να εκτελούν τις διάφορες εργασίες που θέλουν πάνω σε μια database που είναι σε Availability Group.
Υπάρχουν αρκετοί τρόποι, από τον απλούστερο μέχρι τον ποιό advanced και φυσικά αυτό που προτείνω για αυτό το θέμα.
Αντί να γράψω ένα μακροσκελές άρθρο για το συγκεκριμένο θέμα, επέλεξα να παρουσιάσω το θέμα με ένα web cast και στο post αυτό να σας δώσω το κώδικα που χρησιμοποίησα στο web
Ένα από τα services του SQL Server είναι τα Reporting Services τα οποία παρέχουν ένα εξαιρετικά ευέλικτο τρόπο να μεταδίδεται η πληροφορία στους τελικούς χρήστες. Η χρήση τους από τις εταιρίες και τους οργανισμούς έχει αυξηθεί σε υπερθετικό βαθμό και κανείς θα βρει μεγάλο αριθμό από reports να εκτελούνται καθημερινά στις υποδομές αυτών των εταιρειών.
Είναι φυσικό κάποια στιγμή να χρειαζόμαστε
να παρακολουθήσουμε ποια είναι αυτά που χρησιμοποιούνται,
πόσο συχνά χρησιμοποιούνται,
πόσο χρό
Από το SQL Server 2012 και πάνω έχει αλλάξει η συμπεριφορά του Identity property. Σε αυτό το web cast δείχνω την νέα και τι αυτή φέρνει σαν επιπτώσεις στην καθημερινή μας εργασία
http://www.sqlschool.gr/webcast/11/content.aspx
Κάθε φορά που στο μυαλό σου έρχεται η σκέψη να κάνεις upgrade ένα υπάρχον SQL Server instance ή κάποιες databases σε επόμενη έκδοση τα αισθήματα σου είναι ανάμικτα. Από την μια λες πρέπει να γίνει καθώς θα πάω σε κάτι νέο με περισσότερα χαρακτηριστικά και δυνατότητες και έτσι θα είμαι σε θέση να παρέχω καλύτερες υπηρεσίες στους χρήστες μου. Από την άλλη αναρωτιέσαι αν αυτό θα σου δημιουργήσει προβλήματα καθώς μπορεί κάποια πράγματα μπορεί να μην δουλέψουν γιατί μπορεί να μην υπάρχει συμβατότητα
Επειδή το security στη database είναι αρκετά σημαντικό και πραγματικά δεν ξέρω γιατί οι περισσότεροι δεν δίνουν την πρέπουσα σημασία σε αυτό το σύντομο post θα σας δώσω ένα tip του οποίου η εφαρμογή ξεπερνάει το 99% των περιπτώσεων.
http://www.sqlschool.gr/blog/create-a-db_executor-database-role-1013.aspx
Εδώ και αρκετό καιρό έχω γίνει αποδέκτης αρκετών ερωτήσεων σχετικά με τα σεμινάρια της Microsoft για τον SQL Server και συγκεκριμένα για τις εκδόσεις του 2012 & 2014. Οι ερωτήσεις αφορούν θέματα περιεχομένου και πιστοποίησης.
http://www.sqlschool.gr/blog/what-you-must-know-about-official-training-and-certification-in-sql-server-2012-and-2014-1012.aspx
Δεν ξέρω αν σας αρέσει να ανεβαίνει η αδρεναλίνη σας ύψη αλλά προσωπικά μου αρέσει, αρκεί να είναι όπως αυτή η περίπτωση :-)
Είμαι λοιπόν από το πρωί πάνω σε παραγωγικό server που έχει κομβικό Internet-ικο τμήμα του οργανισμού που εργάζομαι. Παλεύω να κάνω partitioning το πίνακα ημερολογίου συναλλαγών και είναι τεράστιος… Πρέπει να κάνω απλές και σίγουρες κινήσεις που δεν θα επηρεάσουν σε καμία περίπτωση την απόδοση του συστήματος.
http://www.sqlschool.gr/blog/do-not-panic-when-an-error-occ
Στο μάθημα της προηγούμενης εβδομάδας δέχθηκα μια ερώτηση από ένα πολύ καλό φίλο και συνάδελφο (καλημέρα Θεόδωρε) μια αρκετά ενδιαφέρουσα ερώτηση που αφορούσε το που αποθηκεύεται η πληροφορία της διαδικασίας του checkpoint σε μια database.
Επειδή η απάντηση μου τον ξάφνιασε λίγο σε αυτό το post αρχικά θα την μοιραστώ μαζί σας και θα την εξηγήσω.
http://www.sqlschool.gr/blog/where-stored-the-last-checkpoint-operation-info-1010.aspx
Οι περισσότεροι από εσάς όταν θέλετε να αλλάξετε την δομή ενός πίνακα σε μια βάση χρησιμοποιείτε το SQL Server Management Studio (SSMS) όπου με δεξί κλικ στον πίνακα κάνετε design και αφού κάνετε την αλλαγή που θέλετε πατάτε το save button από την toolbar.
Είμαι σίγουρος έχετε κάνει πολλά πράγματα έτσι και έχετε μείνει απόλυτα ευχαριστημένοι. Θεωρώ επίσης βέβαιο ότι κάποια στιγμή που κάτι πάλι θέλατε να αλλάξετε αυτό δεν μπορούσε να γίνει καθώς ο SSMS σας εμφάνισε ένα παράθυρο όπως το παρακ
Στα μάθηματα μου συχνά αναφέρω (ιδιαίτερα όμως όταν κάνω μάθημα σχετικό με τα joins) ότι εκτός από τα γνωστά inner, full, cross, self και left / right outer joins υπάρχουν και τα semi joins και anti-joins.
Η πρώτη αντίδραση από το ακροατήριο μου είναι αυτή που μπορεί να έχει κάποιος όταν το χτυπάει το ρεύμα. Το καταλαβαίνω αμέσως από το γεγονός ότι ξαφνικά αποκτώ το 110% της προσοχής τους.
Αυτό συμβαίνει πάντα για αυτό και γράφτηκε το συγκεκριμένο post.
Αρχικά θα πω ότι είμαι σίγουρος ότι όλ
Είναι πρωινό της 27/10/2014. Κάνει κρύο για τα δικά μου δεδομένα και είμαι στο γραφείο στην δουλειά μου. Χτυπάει το τηλέφωνο και είναι ο Σοφοκλής.
http://www.sqlschool.gr/blog/do-not-forget-to-update-index-statistics-1005.aspx
Ένας DBA στην καθημερινότητα του χρειάζεται να διαβάζει αρκετές φορές τα logs που ο SQL Server παράγει είτε για το ίδιο το SQL Server service είτε για το SQL Server Agent service.
Φυσικά και υπάρχει γραφικό περιβάλλον που μπορεί εύκολα κανείς να κάνει αυτό. Υπάρχει όμως και μη γραφικός τρόπος που διευκολύνει περισσότερο, κατά την γνώμη μου, στην ανάγνωση των logs ιδιαίτερα όταν αυτά έχουν μεγάλο όγκο από καταχωρήσεις.
http://www.sqlschool.gr/blog/using-t-sql-commands-to-read-sql-log-files-1
Ένα ερώτημα που με ρωτάνε συνέχεια όλοι. Μάλιστα στο πρώτο SQL Saturday που έγινε στην Ελλάδα το Σάββατο 4/10/2014 η συγκεκριμένη ερώτηση είχε μεγάλο σουξέ.
Για αυτό λοιπόν θα την απαντήσω και γραπτώς ώστε να είναι εύκολα αναγνώσιμη από όλους σας.
http://www.sqlschool.gr/blog/how-often-i-have-to-do-rebuild-or-reorganize-indexes-in-my-database-1003.aspx
Πριν από τρία χρόνια είχα γράψει ένα post με αυτό το θέμα. Το συγκεκριμένο post είναι από τα δημοφιλή θα έλεγα και έχει αρκετούς, από όσο γνωρίζω που έχουν χρησιμοποιήσει την συγκεκριμένη πρόταση.Παρόλα αυτά όμως το παλαιό post χρειάζεται ένα refactoring καθώς από τότε που γράφτηκε μέχρι σήμερα έχουν μεσολαβήσει αρκετές αλλαγές που σε αρκετές περιπτώσεις δεν θα δουλέψει. Για αυτό σε αυτό δίνω μια νέα βελτιωμένη εκδοχή. more
Αρκετές φορές υπάρχουν πράγματα τα οποία ερωτεύεσαι από την πρώτη στιγμή και θέλεις να είναι όλα πλέον έτσι. Εδώ και λίγο καιρό έχω αρχίσει να φτιάχνω νέα labs για τον SQL Server 2012 σε περιβάλλον Windows Server 2012 Datacenter Edition. Ο συγκεκριμένος συνδυασμός είναι από αυτά που έχουν συνηθίσει να λέμε ότι τα σπάει.Φυσικά όπως πάντα όλα μου τα labs είναι σε Ηyper-V Virtual Machines. Είναι γνωστή η λατρεία μου για τα virtual environments εδώ και χρόνια έτσι και αλλιώς. read more
Δεν είναι λίγες οι φορές που θέλουμε να αυτοματοποιήσουμε διαδικασίες ή να κάνουμε εργασίες μαζικά χωρίς να μπλέκουμε με το UI στα SQL Server Reporting Services. Για να κάνουμε κάτι τέτοιο πολλές φορές θα χρειαστεί να γράψουμε κάποιο script σε Visual Basic .NET το οποίο θα πρέπει να εκτελεστεί με το rs.exe utility που έχουν τα SSRS. more
Σε προηγούμενα μου post μίλησα για την διαδικασία του upgrade σε SQL Server 2012. Σε αυτό θα σας δώσω μερικές συμβουλές για το πως μπορείτε να κάνετε migration μια ή περισσότερες databases από μια παλαιότερη έκδοση του SQL Server σε SQL Server 2012. Οι προτεινόμενοι τρόποι για να γίνει κάτι τέτοιο είναι οι παρακάτω και δεν υπάρχει καλύτερος ή χειρότερος τρόπος. Ο κάθε ένας έχει τα συν και τα πλην του και θα πρέπει να κατανοήσουμε αυτά πριν διαλέξουμε αυτόν με τον οποίο θα δουλέψουμε. περισσότε
Σε προηγούμενο μου post μίλησα για το ποια έκδοση μπορεί να γίνει upgrade σε SQL Server 2012. Σε αυτό θα σας δώσω μερικές συμβουλές ώστε η διαδικασία να έχει επιτυχία. περισσότερα
Σε αυτό το SQL Saturday Night θα κάνουμε μια εισαγωγή στη Multi-Dimensional eXpression query language η οποία χρησιμοποιείται για να ρωτήσουμε data που είναι στα Analysis Services του SQL Server 2012. Εγγραφή (είναι δωρεάν)
Όλο και περισσότεροι πλέον ενδιαφέρονται να μεταβούν στην έκδοση 2012 του SQL Server. Έχω αρκετές πλέον ερωτήσεις για το θέμα αυτό και νομίζω ότι πλέον είναι σκόπιμο να γράψω κάποιες γραμμές. more