09 Nov 2011
SQL Server 2012 – Editions and Licensing Changes
Πριν μερικές μέρες ανακοινώθηκαν από την Microsoft οι πρώτες αλλαγές που αφορούν τις εκδόσεις και τις άδειες χρήσης του προϊόντος. Οφείλω να ομολογήσω ότι ποτέ δεν ήμουν από αυτούς που ασχολούνταν με το θέμα των αδειών, θα μπορούσα να πω ότι ήμουν και είμαι αλλεργικός με το θέμα αυτό. Όμως είδα ότι κάτι πάει να αλλάξει στο θέμα αυτό και μάλιστα προς το καλύτερο.
27 Aug 2009
Παρουσίαση του Resource Governor στον SQL Server 2008.
Μέσα σε έναν οργανισμό θα συναντήσουμε πολλές batabase οι οποίες περιέχουν business-critical data. Πάνω από αυτές θα βρούμε applications τα οποία διαχειρίζονται τα δεδομένα αυτά. Καθώς ο όγκος των δεδομένων γεωμετρικά αυξάνετε, αλλά και ο αριθμός των χρηστών που ζητούν πρόσβαση σε αυτά μεγαλώνει, είναι κατανοητό σε όλους ότι η διαθεσιμότητα των δεδομένων πρέπει να είναι αδιάλειπτη, όπως επίσης και η ταχύτητα απόκρισης στα ερώτημα και στα transactions των χρηστών πρέπει να είναι μεγάλη και σταθερή. ...
20 Mar 2011
Identify slow running queries with SQL Profiler trace data
Με αφορμή το τελευταίο μου SQL Server Saturday Night που σαν θέμα είχε τον SQL Server Profiler και μπορείτε να το δείτε εδώ και στο οποίο αναφέρθηκα στο συγκεκριμένο θέμα αποφάσισα να γράψω το συγκεκριμένο ώστε να δώσω περισσότερες λεπτομέρειες. Όπως ανέφερα και στη παρουσίαση μου το ποια events θα διαλέξει κάνεις έχει περισσότερο να κάνει με την εμπειρία που έχει αλλά και την ικανότητα με αυτά να εντοπίσει το εν λόγω πρόβλημα.
12 Jun 2012
DBCC OPTIMIZER_WHATIF
Για άλλη μια φορά σήμερα ευλογώ τον Θεό που μου έχει δώσει την δυνατότητα να κάνω αυτή την δουλειά καθώς μου δίνει την δυνατότητα σε τακτά χρονικά διαστήματα να μαθαίνω κάτι νέο. Αυτό που έμαθα σήμερα κατά την καθημερινή μου ενασχόληση με τον SQL Server θα ήθελα να το μοιραστώ μαζί σας, και είμαι αρκετά χαρούμενος για αυτό, καθώς το αγαπημένο μου προϊόν ο SQL Server μου χαρίζει αυτές τις συγκινήσεις.
13 Oct 2011
The SQL Server Utility
Το πρόβλημα Σαν DBA και ειδικά σε enterprise environments έχουμε το καθήκον να διαχειριζόμαστε ένα αρκετά σημαντικό αριθμό από SQL Server instances που υπάρχουν διάσπαρτα μέσα στο οργανισμό ή την εταιρεία στην οποία εργαζόμαστε. Αυτό σημαίνει ότι πρέπει καθημερινά να παρακολουθούμε την πορεία αυτών των instances ώστε προληπτικά και όχι πυροσβεστικά να δίνουμε λύσεις σε issues που τυχόν θα εμφανιστούν.
18 Feb 2019
Sizing the Analysis Server for Tabular model correctly
Η επιλογή του hardware με σκοπό να εξυπηρετήσει SQL Server Analysis Services Tabular model είναι κάτι που πρέπει να γίνει με προσοχή καθώς οι απαιτήσεις που αυτό έχει είναι παντελώς διαφορετικές από τις ανάγκες που έχει ένα Multidimensional model ή ένα relational engine.
11 Mar 2014
What is the Power Option you have on your SQL Server box?
Το ζητούμενο όλων μας είναι να έχουμε ένα σύστημα που να έχει την καλύτερη απόδοση. Για να γίνει όμως αυτό πρέπει να κουρδίσεις αυτό ώστε να συμπεριφέρεται σαν ελβετικό ρολόι. Μια από τις ρυθμίσεις που πρέπει να κάνει ένας DBA είναι…
23 Jan 2010
What a DBA must know for query performance in SQL Server
Θα επανέλθω στο συγκεκριμένο θέμα μετά από απαίτηση συναδέλφων που είδαν την παρουσίαση που έχω κάνει για το 34ο dotNetZone Event και την οποία θα βρείτε εδώ. Υπήρχαν κάποιες απορίες και ερωτήσεις που φιλοδοξώ να τις απαντήσω με το παρόν post μου. Ας πάρουμε λοιπόν τα πράγματα από την αρχή μιας και διακαείς πόθος όλων μας είναι να έχουμε την τέλεια απόδοση στα queries μας δηλαδή όλα να εκτελούνται σε χρόνο μηδέν και να επιστρέφουν δισεκατομμύρια εγγραφές (καλά πλάκα κάνω :D).
05 Jul 2009
Παρουσίαση του Activity Monitor στον SQL Server 2008
Πριν ξεκινήσω να περιγράφω το συγκεκριμένο εργαλείο, οφείλω να καταθέσω την άποψη μου γι’ αυτό. ΕΙΝΑΙ ΚΑΤΑΠΛΗΚΤΙΚΟ!!!. Όσοι έχετε ασχοληθεί από παλία με τον SQL Server, προσωπικά ασχολούμαι από την έκδοση 6.0 (1996), θα έχετε παρακολουθήσει την εξέλιξη του συγκεκριμένου εργαλείου. Σε κάθε έκδοση είχαμε κάποιες βελτιώσεις. Όμως στην έκδοση του SQL Server 2008 πιστεύω ότι έχουμε τις περισσότερες αλλά και τις σημαντικότερες βελτιώσεις.
21 Jul 2017
What Query Cost is?
Συχνά δέχομαι την ερώτηση για το τι είναι το query cost. Η απάντηση είναι η παρακάτω
07 Dec 2009
Implement Database Mirroring in SQL Server 2008
Ένα από τα πράγματα τα οποία προσωπικά θεωρώ από τα διαμάντια του SQL Server που έχουμε διαθέσιμα από την έκδοση του SQL Server 2005 (Standard & Enterprise) SP1 είναι το Database Mirroring. Μέχρι την εμφάνιση του για να έχω αυτό που όλοι θέλουμε και δεν είναι άλλο από το database availability έπρεπε να καταφύγουμε σε κάποιες λύσεις όπως...
07 Oct 2009
Μια μικρή βουτία στα άδυτα της αρχιτεκτονικής μιας βάσης
Ίσως όσα θα αναφερθούν παρακάτω να είναι γνωστά, και το post αυτό να μην είναι ενδιαφέρον. Όμως έχω την υποχρέωση να τα αναφέρω ξανά γιατί θεωρώ ότι είναι πράγματα στα οποία δεν δίνουμε ιδιαίτερη σημασία και τα οποία όταν διογκώνονται είναι δύσκολα στην επίλυση τους. Θα μιλήσουμε εδώ γιa την αρχιτεκτονική μιας database στον SQL Server, από τι αποτελείτε μια database, πιο είναι το ιδανικό αρχικό μέγεθος δημιουργίας της, τι πολιτική να ορίσω για το growth της.
15 Aug 2020
Sizing SQL Server instance
"Έχω ένα σύστημα με Χ Cores, Y RAM, Z storage είναι καλό για να βάλω SQL Server;"
Αυτή είναι η συνηθέστερη ερώτηση που πρέπει συχνά να απαντήσω και αφορά το sizing ενός SQL Server instance.
04 Feb 2015
What's new in the SQL Server 2014 Resource Governor
Στον SQL Server 2008 εμφανίστηκε για πρώτη φορά ο Resource Governor, όπως παρουσιάσθηκε σε αυτό το post. Το feature αυτό εξελίχθηκε στις επόμενες εκδόσεις και στον 2014 έγιναν πολύ σημαντικές και ενδιαφέρουσες προσθήκες. Με αυτές μας δώθηκε η δυνατότητα ελέγχου του ΙΟ πάνω στον φυσικό δίσκο, δίνοντας πλέον πληρέστερο έλεγχο στα resources του συστήματός μας.
16 Dec 2012
How to Increase SQL Availability and Performance Using Window Server 2012 SMB 3.0 Solutions
Ένα από το στοιχεία της δουλειάς μας που μου αρέσει πάρα πολύ είναι να ανακαλύπτω αυτά που δεν είναι δημοφιλή. Τόσα χρόνια έχω βρει πραγματικά διαμάντια που δυστυχώς δεν τους έχει δοθεί η απαραίτητη προσοχή. Ένα από αυτά που πάντα θα λέω είναι το automatic page recovery όταν έχω database mirroring. Όταν έστησα για πρώτη φορά SQL Server 2012 σε Windows Server 2012 ήταν αυτό που λέμε έρωτας με την πρώτη ματιά. Αν και στην αρχή δεν είχα εντοπίσει πολλά features εντούτοις έβλεπα εξαιρετική απόδοση και ευκολίες διαχείρισης.
23 Feb 2011
When dynamic SQL might be the BEST way!
Πριν μερικές μέρες είχα δημοσιεύσει ένα άρθρο “Dynamic SQL ή μήπως μπορώ και αλλιώς;”. Σήμερα διάβασα το παρακάτω άρθρο της Kimberly Trip το οποίο καλύπτει μια άλλη πτυχή την οποία δεν είχα καλύψει στο δικό μου.
03 Nov 2020
Setting Cores in Virtual Machine for SQL Server Standard Edition
Από τα πράγματα που καλούμαι συχνά να κάνω στην δουλειά μου είναι να διενεργώ SQL Health Checks στους πελάτες με σκοπό να τους βοηθάω να βελτιώσουν την απόδοση του εντοπίζοντας τα σημεία αυτά που χρειάζονται βελτίωση.
Ένα SQL Health Check περιλαμβάνει αρκετούς ελέγχους και γίνεται σε κάθε instance ξεχωριστά.
Αυτό που παρατήρησα στα τελευταία checks είναι κάτι που με οδήγησε στο να γράψω αυτό το άρθρο.
03 Jan 2020
Let's talk about CPU related wait types
Σε αυτό το άρθρο μου θα μιλήσω για τα ποιο σημαντικά wait types που αφορούν την CPU καθώς αυτή είναι αποτελεί ένα από τα βασικά στοιχεία που συντελούν στην απόδοση του SQL Server.
04 Jan 2019
Cosmos DB Design considerations
Κάθε database system έχει τις ιδιαιτερότητες του και καλό είναι να γνωρίζουμε όσα περισσότερα για αυτές καθώς έτσι θα είμαστε σε θέση να σχεδιάζουμε καλύτερες λύσεις.
28 Jun 2009
Πώς θα βρω τα queries που κάνουν υψηλή χρήση της CPU;
Λοιπόν μιας και απέκτησα και εδω ένα blog είπα να κάνω σεφτέ με κάτι που λίγο ή πολύ όσοι ασχολούμαστε με SQL Server αντιμετωπίζουμε. Πως θα βρω τα queries που κάνουν υψηλή χρήση της CPU; H απάντηση στο ερώτημα αυτό είναι η παρακάτω custom stored procedure η οποία δουλεύει σε SQL Server 2005 & 2008.
12 Jun 2020
The NULLIF expression
Σε αυτό το άρθρο ασχολούμαστε με το NULLIF expression, το οποίο αν χρησιμοποιηθεί κατάλληλα, μπορεί να δώσει πολλαπλά κέρδη τόσο στην απλότητα του query όσο και στην απόδοση του. Υποστηρίζεται σε SQL Server, Azure SQL Database, Azure Synapse Analytics (SQL DW) και Parallel Data Warehouse.
13 Jun 2014
How can I find who consumed tempdb on a SQL Server instance
Δεν είναι λίγες οι φορές που σαν DBA θα έρθεις αντιμέτωπος με το φαινόμενο η tempdb να μεγαλώνει υπέρμετρα και ξαφνικά, ενώ δεν έχεις κάνει κάποιες αλλαγές ή δεν έχει βάλει κάτι να εκτελεστεί που είναι γνωστό ότι κάνει εκτεταμένη χρήση αυτής. Για να δούμε μπορούμε να βρούμε τι έχει γίνει;
15 Jul 2018
The Plan Cache Internals and Management
Κάθε φορά που στέλνουμε ένα Transact SQL statement να εκτελεστεί σε ένα SQL Server instance είναι γνωστό ότι ένα από τα βασικά components του SQL Server Database Engine αναλαμβάνει την διαδικασία αυτή και αυτό δεν είναι άλλο από τον Query Optimizer. Αυτός αναλαμβάνει να μετατρέψει το δεδομένο T-SQL statement σε μια σειρά από logical operators οι οποίοι θα χρησιμοποιηθούν για την εκπλήρωση της εκτέλεσης του T-SQL statement. Αυτή η σειρά των logical operators είναι γνωστή σαν Query Execution Plan.
25 Mar 2018
Manage and Monitor SQL Server instances - Monitor Current Sessions
Καθημερινά δέχομαι ερωτήματα που αφορούν θέματα απόδοσης και αυτό που έχω διαπιστώσει είναι ότι υπάρχει μια σημαντική έλλειψη γνώσης και εμπειρίας στο συγκεκριμένο θέμα.
Οι περισσότεροι ψάχνουν απεγνωσμένα στον ιστό και σε αυτόν βρίσκουν μεμονωμένες πληροφορίες που σπάνια μπορεί να τους βοηθήσουν για να εντοπίσουν αρχικά και κατόπιν να λύσουν το πρόβλημα.
30 Jun 2015
How to find the root blocking session
Το να έχεις locks δεν είναι κάτι κακό τουναντίον είναι απαραίτητα διότι διασφαλίζουν την ακεραιότητα των δεδομένων.
Το γιατί έχεις locks είναι κυρίως το πώς έχει γραφτεί η εφαρμογή και έχω εξηγήσει αρκετά στο SQL Night με θέμα το Concurrency in SQL Server.
12 Oct 2011
The value of sys.dm_io_virtual_file_stats DMV
Όπως αρκετές φορές έχω αναφέρει, τρεις είναι οι παράγοντες που επηρεάζουν την λειτουργία ενός SQL Server και αυτοί είναι: Memory, CPU, I/O. Αρκετοί συνάδελφοι δηλώνουν λάτρεις των Dynamic Management Views (DMV) μεταξύ αυτών είμαι και εγώ , όμως το μυστικό σε αυτές είναι να τις χρησιμοποιείς έτσι ώστε να παίρνει από αυτές συνδυαστικά τις περισσότερες φορές τη μέγιστη δυνατή πληροφορία που αυτές μπορούν να σου σώσουν. Σε αυτό το post θα σας δείξω πως χρησιμοποιώντας μια εξ αυτών...
08 Mar 2020
Don't forget to Indexing Foreign Keys
Στο SQL Server κάθε φορά που δημιουργούμε ένα Primary Key δημιουργείται και ένας index αλλά αυτό δεν γίνεται όταν φτιάχνουμε ένα Foreign Key και θα πρέπει να το δημιουργούμε εμείς ξεχωριστά. Το γιατί και ποιο είναι το όφελος το παρουσιάζω στο άρθρο αυτό.
20 Oct 2019
Useful Extended Events scenarios
Είναι γνωστό, εδώ και 7 χρόνια, ότι ο SQL Server Profiler είναι σε κατάσταση απόσυρσης και ότι ο διάδοχος τους είναι τα Extended Events. Με αυτά μπορούμε να κάνουμε πολλά πράγματα που μας βοηθούν στον εντοπισμό και την επίλυση προβλημάτων.
28 Aug 2019
Azure Data Studio – My Experience
Όταν ασχολείσαι με το SQL Server 24 χρόνια έχεις μάθει να κάνεις πράγματα από συνήθεια. Αυτή η συνήθεια δεν είναι κακή αρκεί να έχεις τα αυτιά και τα μάτια σου ανοικτά στο μέλλον.
28 Nov 2018
How to find if a table has rows
Πολλές φορές όταν γράφουμε κώδικα είτε μέσα σε stored procedures είτε σε scripts να χρειάζεται να κάνουμε διάφορους ελέγχους. Ένας συνηθισμένος έλεγχος είναι να κοιτάμε αν υπάρχουν εγγραφές σε ένα πίνακα για να προχωρήσουμε στο επόμενο βήμα.
17 Nov 2016
SQL Server What Else?
Χθες ήταν μια σημαντική ημέρα για τον SQL Server καθώς στο CONNECT(); //2016 ανακοινωθήκαν δύο εξαιρετικής σημασίας πράγματα.
Το πρώτο αφορά αυτό που ονομάζει η Microsoft σαν Consistent Programmability Surface Area Across all Editions και το δεύτερο αφορά την SQL Server vNext edition τόσο σε Windows OS όσο και σε Linux OS.
30 Mar 2012
Data Warehouse Physical Design Guide.
Αφού έχουμε σχεδιάσει λογικά και σύμφωνα με τις επιχειρησιακές απαιτήσεις το DW μας, φτάνει η στιγμή που πρέπει να το κάνουμε πραγματικότητα υλοποιώντας το φυσικά. Όπως έχω αναφέρει σε όλα τα προηγούμενα post αυτής της σειράς θα πρέπει φυσικά να υλοποιήσω το DW λαμβάνοντας σοβαρά υπόψη μου τους εξής παράγοντες που δεν είναι άλλοι από τους performance, scalability, manageability. Με αυτούς σαν πυξίδα θα πρέπει να Tips for Database Files...
12 Apr 2019
The sys.dm_exec_query_stats DMV
Ένα από τα πράγματα που κάνω στην δουλειά μου είναι πηγαίνω σε πελάτες και να τους βοηθάω να λύσουν τα προβλήματα τους. Αυτό σημαίνει ότι έρχομαι αντιμέτωπος με instances που δεν γνωρίζω και πρέπει να μάθω για αυτά. Έτσι εκτελώ αρκετά scripts που έχω γράψει για να συλλέξω τις πληροφορίες που θέλω.
12 Feb 2014
How to find CPU expensive queries
Πριν από πολλά χρόνια είχα γράψει ένα σχετικό post με μια stored procedure. Με τα χρόνια αυτό άλλαζε καθώς οι ανάγκες και οι δυνατότητες άλλαζαν. Απλά σήμερα έτυχε να το χρησιμοποιήσω πάλι και λέω δε το μοιράζομαι με τον κόσμο όλο και κάποιος θα το χρειαστεί.
14 May 2020
Azure Synapse Analytics SQL Pool Workload Management
Στο άρθρο αυτό αναλύονται οι τρόποι (παλιός και νέος) με τους οποίους μπορούμε να κάνουμε workload management στο Azure Synapse SQL pool. Είναι ένα αρκετά μεγάλο άρθρο στην ανάγνωση του αλλά θεωρούμε ότι αναλύει απλά και κατανοητά όλα όσα πρέπει κάποιος να γνωρίζει για να υλοποιήσει σωστά αυτό.