18 Aug 2009
Λίγα λόγια για την TempDb στο SQL Server 2005
Όπως όλοι γνωρίζουμε μια από τις system databases του SQL Server είναι η tempdb. Λίγοι είναι όμως γνωρίζουν το ρόλο αλλά και την σημασία της database αυτής. Και για να γίνω εξ’ αρχής αντιληπτός ο ρόλος της είναι σημαντικός, ζωτικός θα έλεγα για το performance του SQL Server. Ειδικά στον SQL Server 2005 γίνεται «τρελή χρήση» της βάσης αυτής.
13 Aug 2013
FILESTREAM Best Practices from usage and experience
Από τον SQL Server 2008 υπάρχει ένα feature που είναι ιδανικό για BOL fields μέσα στην βάση. Αναφέρομαι φυσικά στο filestream. Προσωπικά το έχω χρησιμοποιήσει σε μεγάλο βαθμό σε μια εφαρμογή στην οποία αποθηκεύονται έγγραφα, φωτογραφίες υψηλής ανάλυσης. Θα ήθελα να προσθέσω μερικά ακόμα tips τα οποία προέρχονται 100% από την χρήση του σε μία βάση που το μέγεθος της είναι πολύυυυυυυυυυ μεγάλο.
30 Mar 2012
Data Warehouse Physical Design Guide.
Αφού έχουμε σχεδιάσει λογικά και σύμφωνα με τις επιχειρησιακές απαιτήσεις το DW μας, φτάνει η στιγμή που πρέπει να το κάνουμε πραγματικότητα υλοποιώντας το φυσικά. Όπως έχω αναφέρει σε όλα τα προηγούμενα post αυτής της σειράς θα πρέπει φυσικά να υλοποιήσω το DW λαμβάνοντας σοβαρά υπόψη μου τους εξής παράγοντες που δεν είναι άλλοι από τους performance, scalability, manageability. Με αυτούς σαν πυξίδα θα πρέπει να Tips for Database Files...
04 Jan 2012
5 Tips for a Smooth SSIS Upgrade to SQL Server 2012
ΚΑΛΗ ΧΡΟΝΙΑ ΜΕ ΥΓΕΙΑ ΣΕ ΟΛΕΣ ΚΑΙ ΟΛΟΥΣ. Για ακόμα μια χρονιά και εγώ όπως και αρκετοί ακόμα έλαβα το email που με ενημέρωνε ότι συνεχίζω να είμαι MVP στον SQL Server. Τι καλύτερο να γιορτάσω την ανανέωση αυτή με ένα post.
27 Aug 2019
Analyze Actual Execution Plan option
Δεν αποτελεί έκπληξη κάποιο query σε περιβάλλον παραγωγής να έχει πρόβλημα performance και πρέπει να ασχοληθούμε με αυτό. Έχουμε πολλές επιλογές και εργαλεία στην διάθεση μας για να επιτύχουμε αυτό.
26 Aug 2019
Get Actual Execution Plan ASAP
Δεν είναι λίγες οι φορές που έχεις ένα query που παίρνει ώρα για να εκτελεστεί καθώς επιστρέφει μεγάλο αριθμό από εγγραφές και θέλεις να δεις το actual execution plan χωρίς να σε ενδιαφέρουν τα αποτελέσματα.
06 May 2010
SQL Server 2008 R2 Tips
Δεν ξέρω αν είχατε την δυνατότητα να δείτε τα δύο poster που έχω φτίαξει για τις δυνατότητες του SQL Server 2008 R2. Φτιάχνοντας τα εντόπιζα πράγματα τα οποία με εντυπωσίαζαν. Αυτά που μου έκαναν περισσότερη εντύπωση ήταν δύο...
15 Nov 2015
List All Primary Keys and Foreign Keys in your database
Δεν είναι λίγες οι φορές που θέλεις να μάθεις πράγματα για το database schema σε μια database που είτε είχες φτιάξει στο παρελθόν είτε είναι μια database που στην έχουν φέρει να την διαχειριστείς και από documentation πάσχει.Για όλους τους παραπάνω λόγους θα πρέπει να ψάξεις, αλλά πρέπει να ψάξεις χωρίς να κουραστείς και το να ψάχνεις με το γραφικό περιβάλλον του SSMS είναι κουραστικό οπότε πρέπει να καταφύγεις σε metadata queries.
25 Oct 2015
Get All tables row count without using Count(*) function
Η δύναμη της συνήθειας είναι το μεγαλύτερο ναρκωτικό του μυαλού και δεν το αφήνει να σκεφτεί αποδοτικά. Αλήθεια πόσες φορές κάνουμε μηχανικά κάποια πράγματα επειδή τα έχουμε συνηθίσει στα τόσα χρόνια που κάνουμε αυτή την δουλειά ;
12 Feb 2014
How to find CPU expensive queries
Πριν από πολλά χρόνια είχα γράψει ένα σχετικό post με μια stored procedure. Με τα χρόνια αυτό άλλαζε καθώς οι ανάγκες και οι δυνατότητες άλλαζαν. Απλά σήμερα έτυχε να το χρησιμοποιήσω πάλι και λέω δε το μοιράζομαι με τον κόσμο όλο και κάποιος θα το χρειαστεί.
25 Apr 2013
Automatically Remove Agent Jobs History in SQL Server 2000
Στο προηγούμενο μου post μίλησα για το πως μπορούμε να καθαρίζουμε τα log entries από τα job executions που έχουμε δημιουργήσει με σκοπό να κρατάμε μόνο αυτά για το χρονικό διάστημα που επιθυμούμε.
Ένα φίλος λοιπόν πήγε να εφαρμόσει τα λεγόμενα του post σε SQL Server 2000 και όπως είναι φυσικό δεν μπορούσε να το κάνει καθώς η συγκεκριμένη διαδικασία δεν υπήρχε στο SQL Server 2000.
14 Oct 2014
Using T-SQL commands to read SQL log files
Ένας DBA στην καθημερινότητα του χρειάζεται να διαβάζει αρκετές φορές τα logs που ο SQL Server παράγει είτε για το ίδιο το SQL Server service είτε για το SQL Server Agent service.
Φυσικά και υπάρχει γραφικό περιβάλλον που μπορεί εύκολα κανείς να κάνει αυτό. Υπάρχει όμως και μη γραφικός τρόπος που διευκολύνει περισσότερο, κατά την γνώμη μου, στην ανάγνωση των logs ιδιαίτερα όταν αυτά έχουν μεγάλο όγκο από καταχωρήσεις.
02 Oct 2013
What is the ideal Page Life Expectancy (PLE) threshold?
Σε παλαιότερο μου post έχω αναφερθεί σε αυτόν το μετρητή και την σημασία του. Έχω αναφέρει και το recommendation, αλλά η τιμή αυτή δεν είναι από κανέναν, στην σημερινή εποχή, πλέον μην αποδεκτή τιμή. Ποια είναι όμως η αποδεκτή τιμή;
21 Jun 2013
Doing Magic with Partitioning and ColumnStore Index in a Data Warehouse DB on SQL Server 2012
Αρκετοί με ρωτάνε στα μαθήματα που κάνω αλλά και με emails στο SQL School σχετικά με το θέμα του table partitioning. Δεν ξέρω γιατί αλλά πολλούς έχει προβληματίσει και μπορώ να πω ότι έχει αγχώσει, αν και δεν θα έπρεπε καθώς είναι μια καθαρή λύση.
Υπάρχουν και συνάδελφοι που ασχολούνται με BI και έχουν Data Warehouses (DW) στα οποία θέλουν να επωφεληθούν από το table partitioning αλλά και από την χρήση των columnstore indexes.
Αποφάσισα να σας φτιάξω ένα μικρό demo με το οποίο θα δείτε ότι το να κάνει κάποιος table partitioning δεν είναι κάτι δύσκολο.
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. Φυσικό είναι ο πίνακας αυτός να γεμίζει με εγγραφές που έπειτα από κάποιο χρονικό διάστημα πρακτικά είναι άχρηστες καθώς αναφέρονται σε εκτελέσεις που αφορούν το πολύ μακρινό παρελθόν. Πως λοιπόν θα σβήσουμε από αυτόν τον πίνακα τις εγγραφές αυτές που δεν θέλουμε;
03 Sep 2012
T-SQL Split Function
Αν και πιστεύω ότι αρκετοί θα έχετε υλοποιήσει κάτι τέτοιο εντούτοις σας παραδίδω και την δικιά μου εκδοχή που κάνει parse ένα string με delimiters και επιστρέφει ένα πίνακα με τα αποτελέσματα της εκτέλεσης.
27 Nov 2015
Storing DDL Statements History
Ένας οργανισμός έχει πολλά SQL Server Instances, πολλές databases και σίγουρα πάνω από έναν DBA, DB developer που έχουν πρόσβαση σε αυτά τα instances και αυτές τις databases. Ζητούμενο από όλους είναι να γνωρίζουμε τις αλλαγές που έχουν γίνει σε αυτές τις databases σε επίπεδο schema αλλά και πότε μπήκε ένας χρήστης σε ποιο ρόλο και πολλά ακόμα στοιχεία όπως δημιουργία indexes, αλλαγή στο μέγεθος μιας βάσης κλπ.
11 Aug 2013
How to configure report pagination based on data groups for excel exporting
Ένα report μπορούμε να το δούμε online ή να το κάνουμε export με σκοπό να επεξεργαστούμε τα δεδομένα με την ησυχία μας. Σε αυτές τις περιπτώσεις σημαντικό είναι το πώς έχουμε διαμορφώσει την εμφάνιση των reports μας. Ποιο σημαντικό είναι το pagination. Σε αυτό το web cast σας δείχνω πως χρησιμοποιώντας τo grouping και το pagination σε αυτό μπορείτε να κάνε export σε excel με τέτοιο τρόπο ώστε κάθε τιμή στο pagination να είναι σε ξεχωριστό excel sheet.
04 Aug 2013
Using Power Query add-in for Excel to get data from web and facebook
Σε αυτό το web cast – post θέλω να σας δείξω πόσο μα πόσο απλό είναι να αντλήσεις δεδομένα από web sites αλλά και από το facebook.
Όσοι είστε data geeks και έχετε ή θέλετε να ενσωματώσετε περισσότερα δεδομένα στην ανάλυση των δεδομένων που κάνετε αυτό είναι το πρώτο βήμα και το οποίο μάλιστα είναι και αρκετά εύκολο και το σημαντικότερο είναι δωρεάν.
25 Aug 2013
How to see SQL Server OLAP Cube Translations in a Excel
Είναι γνωστό ότι μπορώ να έχω translations στα πεδία που έχω στα fact & dimension tables σε ένα OLAP Cube. Είναι μια εύκολη διαδικασία την οποία μπορώ να κάνω κατά το design του κύβου. Πώς μπορώ όμως να τα δω κατά την διάρκεια που βλέπω κάνω browse το κύβο μέσα από το Excel; Η απάντηση στο web cast αυτό…
11 Mar 2014
What is the Power Option you have on your SQL Server box?
Το ζητούμενο όλων μας είναι να έχουμε ένα σύστημα που να έχει την καλύτερη απόδοση. Για να γίνει όμως αυτό πρέπει να κουρδίσεις αυτό ώστε να συμπεριφέρεται σαν ελβετικό ρολόι. Μια από τις ρυθμίσεις που πρέπει να κάνει ένας DBA είναι…
15 Aug 2013
How to localize Reports in SQL Server Reporting Services
Επειδή στην σημερινή εποχή τα reports μας μπορούν να τα βλέπουν χρήστες που δεν έχουν απαραίτητα το ίδιο culture με εμάς, είναι σκόπιμο να τους δίνουμε αυτό την εμπειρία καθώς έτσι θα κάνουν καλύτερα την δουλειά τους και εμείς θα έχουμε ένα χρήστη λιγότερο πάνω από το κεφάλι μας.
01 Sep 2012
Implementing Fuzzy string matching/comparing
Πολλές φορές χρειαζόμαστε σε strings να κάνουμε συγκρίσεις για το αν αυτά είναι όμοια ή πόσο κοντά είναι το ένα στο άλλο. Αυτό όπως καταλαβαίνει κανείς εγκυμονεί αρκετούς κινδύνους, παραδοχές και πολλά ακόμα που πρέπει να λάβουμε υπόψη, ειδικά αν δεν έχουμε βάλει αυστηρούς ελέγχους στο τι πληκτρολογεί ο χρήστης. Παρ’ ότι στον SQL Server έχουμε την SOUNDEX και την DIFFERENCE υπάρχουν περιπτώσεις που δεν μας είναι αρκετές για ικανοποιήσουμε τις ανάγκες μας. Για αυτές τις περιπτώσεις θα πρέπει να δράσουμε κάπως διαφορετικά και θα πρέπει να δημιουργήσουμε εμείς κάτι το οποίο να καλύπτει τις ανάγκες αυτές