18 Apr 2012
SSIS Performance Visualization
Στο τελευταίο μου post ασχολήθηκα με το πώς μπορώ να κάνω optimize ένα Data Flow task. Μέσα στο άρθρο αυτό αναφέρθηκα ότι μπορώ και πρέπει για να κάνω optimize είτε το συγκεκριμένο task είτε ολόκληρο το package με την χρήση των εργαλείων που έχω στα χέρια μου όπως event logging, performance counters κλπ. Με τα εργαλεία αυτά μπορώ να κάνω ότι θέλω, όμως η φύση του ανθρώπου δεν ικανοποιείτε εύκολα και αναζητεί περισσότερα.
28 Oct 2009
Γιατί πρέπει να χρησιμοποιώ Stored Procedures
Χαίρετε, καιρό είχατε να με ακούσετε ε; Δυστυχώς αυτά συμβαίνουν όταν αλλάζεις δουλειά. Όμως σιγά σιγά βρίσκω τα νέα βήματα μου οπότε επανέρχομαι δριμύτερος. Σήμερα θέλω να σας κουράσω με κάτι που δεν είναι στο administration του SQL Server αλλά στο programming του. Αυτό ακούει στο όνομα Stored Procedures. Είμαι σίγουρος ότι αν όχι όλοι οι περισσότεροι τις ξέρετε. Είμαι σίγουρος ότι υπάρχουν φανατικοί υποστηρικτές τους, όπως επίσης και άλλοι που όταν ακούνε το όνομα τους βγάζουν σπυράκια. ...
28 May 2014
PARSENAME T-SQL Function
Σαν DBA αλλά και DB Developer έχεις την ανάγκη να διαβάσεις metadata για να κάνεις την δουλειά σου. Αρκετές είναι οι φορές που τo όνομα του object που παίρνεις είναι full qualified name δηλαδή περιέχει server, database, schema, και φυσικά το όνομα του και ανά περίπτωση θέλεις να πάρεις κάποιο από αυτά. Μην ψάχνεις να δεις πως θα τα κάνεις…
22 Apr 2012
New SQL Server 2012 dynamic views to get instance information
Αν και μπορούμε να δούμε πολλά πράγματα μέσα από το SQL Server Management Studio, εντούτοις αρκετές φορές χρειάζεται να δούμε αρκετά παράθυρα για να σχηματίσουμε την εικόνα που θέλουμε. Φυσικά για όσους είναι ανυπόμονοι και δεν έχουν θέμα να γράφουν ένα απλό SELECT υπάρχουν λύσεις που λύνουν τα χέρια.
20 Jun 2021
When Min and Max Memory have the same value things are getting worse
Το memory management αλλά και οι ρυθμίσεις για αυτό είναι από το περισσότερο σχολιασμένο θέμα στο SQL Server. Παρόλα αυτά όμως συνεχίζω να βλέπω στους διάφορους SQL Server που επισκέπτομαι ρυθμίσεις που κάνουν τα πράγματα χειρότερα από το να έχει αφήσει κάποιος τα defaults (που και αυτό δεν είναι σωστό).
07 Sep 2009
SQL Server Query for Index Recommendation
Το παρακάτω query είναι πάρα πολύ καλό!!!. Το ξαναβρήκα τυχαία μπροστά μου καθώς σκάλιζα τα διάφορα scripts που έχω στην βιβλιοθήκη μου. Αν θυμάμαι καλά, γιατί έχει περάσει καιρός, το έχει φτιάξει ένα παλικάρι από την μαμά εταιρία, νομίζω ότι είναι ο Swapnil Bajaj.
26 Jan 2015
Passing dates as parameters in a script with SQLCMD
Από τα πράγματα που ένας DBA συνήθως κάνει είναι να έχει στην φαρέτρα του μια σειρά από scripts τα οποία αυτοματοποιούν την δουλειά του. Σύμμαχος του σε αυτό είναι το SQLCMD το οποίο έχει πολλές δυνατότητες και μια από αυτές είναι ότι μπορείς να έχει ένα script το οποίο να δέχεται παραμέτρους.
24 Feb 2012
How to install SQL Server 2012 RC BOL on a server without internet access
Ο SQL Server 2012 είναι προ των πυλών και πιθανών αρκετοί θα θέλετε να τον δείτε . Από τα βασικά πράγματα που θα πρέπει να έχετε διαθέσιμα είναι τα BOL, που δεν ακολουθούν πλέον το pattern του παρελθόντος. Τα BOL έχουν αλλάξει μορφή εξαιτίας ότι πλέον το περιβάλλον εργασίας μας είναι μέσα στο Visual Studio 2010 shell και χρησιμοποιούν τον νέο Help Viewer...
04 Jun 2012
Estimate Database Compression Stored Procedure (sp_estimate_db_compression)
Τις τελευταίες ημέρες για ένα περίεργο λόγο συνάντησα αρκετές φορές την ανάγκη να πρέπει να εκτιμηθεί η δυνατότητα να γίνει compress μια database. Για το λόγο αυτό αποφάσισα να φτιάξω μια stored procedure που να κάνει όλα όσα ήθελα να γίνονται με την εκτέλεση της. Μετά από μερικές μέρες δουλειάς και αρκετές αλλαγές πάνω σε αυτή το τελικό αποτέλεσμα μπορείτε να το βρείτε εδώ.
11 Apr 2017
Update Statistics - sys.dm_db_stats_properties DMV
Δεν θα σταματήσω να γράφω για την σημασία που έχουν τα statistics στην επιλογή του καλύτερου execution plan ποτέ. Αρκετά μεγάλος αριθμός καθυστερήσεων σε queries οφείλεται σε αυτά και προσωπικά κρίνω απαραίτητο να υπάρχει σε όλους η συγκεκριμένη γνώση γύρω από αυτά.Στο παρελθόν έχω γράψει αρκετά άρθρα γύρω από αυτά και σήμερα επανέρχομαι με ακόμα ένα με το οποίο θέλω να ρίξω περισσότερο φως σε αυτά.
16 Mar 2021
GREATEST() and LEAST() functions in Azure SQL Database
Μια απαίτηση αρκετών χρόνων υλοποιήθηκε μερικώς στον SQL Server καθώς αυτή την στιγμή είναι μόνο διαθέσιμη στις Azure SQL Databases και αφορά δύο T-SQL functions που υπάρχουν σε άλλα RDBMS εδώ και χρόνια.
25 Mar 2018
Manage and Monitor SQL Server instances - Monitor Current Sessions
Καθημερινά δέχομαι ερωτήματα που αφορούν θέματα απόδοσης και αυτό που έχω διαπιστώσει είναι ότι υπάρχει μια σημαντική έλλειψη γνώσης και εμπειρίας στο συγκεκριμένο θέμα.
Οι περισσότεροι ψάχνουν απεγνωσμένα στον ιστό και σε αυτόν βρίσκουν μεμονωμένες πληροφορίες που σπάνια μπορεί να τους βοηθήσουν για να εντοπίσουν αρχικά και κατόπιν να λύσουν το πρόβλημα.
15 Nov 2015
List All Primary Keys and Foreign Keys in your database
Δεν είναι λίγες οι φορές που θέλεις να μάθεις πράγματα για το database schema σε μια database που είτε είχες φτιάξει στο παρελθόν είτε είναι μια database που στην έχουν φέρει να την διαχειριστείς και από documentation πάσχει.Για όλους τους παραπάνω λόγους θα πρέπει να ψάξεις, αλλά πρέπει να ψάξεις χωρίς να κουραστείς και το να ψάχνεις με το γραφικό περιβάλλον του SSMS είναι κουραστικό οπότε πρέπει να καταφύγεις σε metadata queries.
03 Jul 2017
PostgreSQL CTE surprise
Σε αυτό το post θα δούμε πως συμπεριφέρεται ένα CTE στην PostgreSQL, τη διαφορά που έχει από τον SQL Server και τον CTE scan operator
04 Apr 2016
An easy way to have a database documentation
Όλοι θέλουμε να έχουμε ένα documentation για κάθε database που παραλαμβάνουμε από άλλους. Μάλιστα εκφράζουμε την δυσαρέσκεια μας όταν κάτι τέτοιο δεν υπάρχει, αλλά αν μας ζητήσουν να φτιάξουμε εμείς κάτι τέτοιο για την database που φτιάχνουμε τότε διαμαρτυρόμαστε ότι αυτό είναι χάσιμο χρόνου ή ότι δεν είναι η δουλεία μας κάτι τέτοιο. Μπορώ να καταλάβω τις διαφωνίες καθώς οι περισσότεροι θεωρούν ότι θα πρέπει να γράψουν καντάρια κειμένου. Αλήθεια πόσοι από εσάς έχετε πάρει τόμους τεκμηρίωσης στα χέρια σας και τα έχετε διαβάσει όλα;
12 Jun 2020
The NULLIF expression
Σε αυτό το άρθρο ασχολούμαστε με το NULLIF expression, το οποίο αν χρησιμοποιηθεί κατάλληλα, μπορεί να δώσει πολλαπλά κέρδη τόσο στην απλότητα του query όσο και στην απόδοση του. Υποστηρίζεται σε SQL Server, Azure SQL Database, Azure Synapse Analytics (SQL DW) και Parallel Data Warehouse.
17 Jan 2019
Cosmos DB Server-side Operations
Στην Cosmos DB υπάρχουν ,όπως και στις relational databases, διαδικασίες που τις θεωρούμε και είναι server side και δεν είναι άλλες από τα user defined functions, τις stored procedures και τους triggers και ως προς την λογική και την χρήση τους είναι όμοιες.
24 May 2018
The money data type
Σήμερα είχα μια ερώτηση από ένα συνάδελφο σχετικά με το συγκεκριμένο data type αφού πρώτα είχαμε κάνει μια εσωτερική εκπαίδευση πριν από αρκετές μέρες και σε αυτή είχαμε μιλήσει για τα data types που έχει ο SQL Server.
07 Oct 2017
SOME T-SQL IMPLICIT CASTING TRAPS
Είναι γνωστό ότι τα implicit casts κρύβουν κινδύνους και ειδικά μέσα στα queries μας τα αποφεύγουμε. Παρόλα αυτά είναι καλό να ξέρουμε πως συμπεριφέρονται στον SQL Server και τι να περιμένουμε στο αποτέλεσμα.
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.
12 Apr 2019
The sys.dm_exec_query_stats DMV
Ένα από τα πράγματα που κάνω στην δουλειά μου είναι πηγαίνω σε πελάτες και να τους βοηθάω να λύσουν τα προβλήματα τους. Αυτό σημαίνει ότι έρχομαι αντιμέτωπος με instances που δεν γνωρίζω και πρέπει να μάθω για αυτά. Έτσι εκτελώ αρκετά scripts που έχω γράψει για να συλλέξω τις πληροφορίες που θέλω.
20 Sep 2017
Backup to URL for Large Databases
Εδώ και χρόνια ( από τον SQL Server 2012 SP1 CU2) υπάρχει η δυνατότητα για SQL Server backups σε Azure Blob storage με το γνωστό (υποθέτω σε όλους μας) backup to URL. Αρκετοί το έχουν υλοποιήσει, μεταξύ αυτών και ένας πελάτης μου αλλά κάποια στιγμή άρχισε να μην δουλεύει. Σε αυτό το άρθρο σας δείχνω το γιατί και πως λύνεται το πρόβλημα.
10 Aug 2021
Explain Ghost Records in SQL Server
Κάθε φορά που εκτελούνται delete operations τα rows δεν διαγράφονται άμεσα αλλά χαρακτηρίζονται σαν rows προς διαγραφή και η ονομασία που έχει δοθεί σε αυτά είναι ghost(ed) records και σε αυτό το άρθρο θα δούμε τα internals τους.