08 Sep 2019
How to not make a disaster view
Όλοι γνωρίζουμε ότι ένα view είναι ένα stored query expression το οποίο ορίζει τι θα επιστρέφει το συγκεκριμένο view. Με απλά λόγια είναι ένα SELECT statement. Όμως τις φτιάχνουμε σωστά ώστε να δουλεύουν και σωστά;
16 Nov 2015
List all IDENTITY Columns in your database
Συνεχίζοντας από το τελευταίο μου άρθρο σήμερα θα σας παρουσιάσω ακόμα ένα metadata query με το οποίο θα μπορώ να γνωρίζω τα tables που έχουν IDENTITY column, το data type που έχουν αυτές οι columns όπως επίσης από που ξεκινάνε (seed) πως μεγαλώνει η τιμή του (increment) και ποια είναι η τρέχουσα τιμή του.
21 Aug 2019
Database Mail Administration Summary
Το DBMail είναι κάτι που χρόνια έχουμε στον SQL Server και βασικό σκοπό έχει να στέλνει notifications είτε από alerts είτε από jobs. Φυσικά μπορείς να κάνεις και άλλα πράγματα αλλά δεν είναι σε καμία περίπτωση αντικαταστάτης ενός mail server.
09 Jan 2014
Do you use an ORM? Please learn how to use it properly.
Τα τελευταία χρόνια έχει μεγάλη κουβέντα και μεγάλη χρήση από αρκετούς στην χρήση ORMs. Υπάρχουν αρκετά πλέον στην αγορά (EF, ΝHibernate κ.α.) και έτσι ο καθένας μπορεί να επιλέξει αυτό που του ταιριάζει.
Αρκετές φορές έχω βρεθεί σε συζητήσεις σχετικά με αυτά και από αυτές έχω αποκτήσει την φήμη ότι είμαι από αυτούς που τα κατακρίνουν και στέκονται απέναντι τους.
28 Jul 2010
What are the largest SQL projects in the world?
Πρόσφατα έπεσα μούρη με μούρη σε μια παρουσίαση του Kevin Cox που είχε το παραπάνω θέμα. Επειδή είναι αρκετά ενδιαφέρουσα και ρίχνει αρκετούς μύθους αποφάσισα να την μοιραστώ μαζί σας. Ας ξεκινήσουμε με μερικά στατιστικά
15 Nov 2015
List All Primary Keys and Foreign Keys in your database
Δεν είναι λίγες οι φορές που θέλεις να μάθεις πράγματα για το database schema σε μια database που είτε είχες φτιάξει στο παρελθόν είτε είναι μια database που στην έχουν φέρει να την διαχειριστείς και από documentation πάσχει.Για όλους τους παραπάνω λόγους θα πρέπει να ψάξεις, αλλά πρέπει να ψάξεις χωρίς να κουραστείς και το να ψάχνεις με το γραφικό περιβάλλον του SSMS είναι κουραστικό οπότε πρέπει να καταφύγεις σε metadata queries.
02 Jan 2016
The sys.dm_exec_query_optimizer_info DMV
Θα ξεκινήσω την νέα αυτή χρονιά με ένα απλό και μικρό άρθρο αλλά που απαιτεί πολύ τριβή, διάβασμα και όρεξη να βουτήξει κανείς σε βαθιά και πολλές φορές αχαρτογράφητα ύδατα.
22 Apr 2012
New SQL Server 2012 dynamic views to get instance information
Αν και μπορούμε να δούμε πολλά πράγματα μέσα από το SQL Server Management Studio, εντούτοις αρκετές φορές χρειάζεται να δούμε αρκετά παράθυρα για να σχηματίσουμε την εικόνα που θέλουμε. Φυσικά για όσους είναι ανυπόμονοι και δεν έχουν θέμα να γράφουν ένα απλό SELECT υπάρχουν λύσεις που λύνουν τα χέρια.
03 Jun 2013
SQL Server 2012 System Views Map
Έπειτα από καιρό επιτέλους είναι διαθέσιμος ο χάρτης των system views του SQL Server 2012. Εργαλείο απαραίτητο για όσους κάνουν πραγματική δουλειά με τον SQL Server.
14 Oct 2015
SQL Server 2016 New features - The sys.dm_exec_session_wait_stats DMV
Καθημερινά ένας DBA ή DB developer έχει να αντιμετωπίσει αρκετούς αστάθμητους τις περισσότερες φορές παράγοντες που επηρεάζουν το performance.
Πιστέψτε με ότι αυτό είναι μια δουλεία που απαιτεί σχολαστικότητα γνώση της αρχιτεκτονικής τόσο του SQL Server όσο και της database. Για να κάνεις αυτή την δουλεία θα πρέπει να έχεις μελετήσει αρκετά και να έχεις κάνει αρκετή πρακτική εξάσκηση για την απόκτηση εμπειρίας.
03 Jan 2011
Friendly name columns in Dynamic Management Object
Όπως γνωρίζεται από την έκδοση του SQL Server 2005 και μετά υπάρχουν τα dynamic management object. Είναι αυτά τα οποία τα βρίσκετε σε κάθε database όταν κάνε expand στον SSMS > Database > Views > System Views .Αυτά έχουν έρθει να κάνουν την ζωή μας ευκολότερη και αρκετά από αυτά έχουν σαν σκοπό να καταργήσουν κάποια DBCC statements.Όπως και να έχει είναι αρκετά χρήσιμα διότι έτσι αντλούμε ότι πληροφορίες θέλουμε σχετικά με την βάση μας ή το SQL Server.Αυτό όμως που τα κάνει ακόμα ομορφότερα ...
17 Nov 2016
CREATE OR ALTER – in SQL Server 2016 SP1
Αφού πέρασε η πρώτη μέρα με τις μεγάλες ανακοινώσεις για το SQL Server 2016 SP1 και όλοι είναι χαρούμενοι, ας πω και εγώ για ακόμα ένα που μπήκε στο SP1 και δεν κανείς δεν του έδωσε σημασία και δεν είναι άλλο από το
23 Jun 2015
Auditing Reports Execution in SSRS
Ένα από τα services του SQL Server είναι τα Reporting Services τα οποία παρέχουν ένα εξαιρετικά ευέλικτο τρόπο να μεταδίδεται η πληροφορία στους τελικούς χρήστες. Η χρήση τους από τις εταιρίες και τους οργανισμούς έχει αυξηθεί σε υπερθετικό βαθμό και κανείς θα βρει μεγάλο αριθμό από reports να εκτελούνται καθημερινά στις υποδομές αυτών των εταιρειών.
Είναι φυσικό κάποια στιγμή να χρειαζόμαστε να παρακολουθήσουμε ποια είναι αυτά που χρησιμοποιούνται, πόσο συχνά χρησιμοποιούνται, πόσο χρόνο χρειάζονται για να εκτελεστούν, ποιοι είναι οι χρήστες και ποια reports εκτελούν.
20 Aug 2015
The Database Developer Role
Πρόσφατα συμμετείχα σε μια συζήτηση στην οποία αναφέρθηκε ο ρόλος του DB Developer. Μέσα από αυτή την συζήτηση διαπίστωσα ότι οι απόψεις για το τι είναι και κυρίως τι κάνει ένας DB Developer δεν είναι ξεκάθαρες.
Θεωρώντας ότι είναι χρήσιμο να γνωρίζουμε τι είναι ο DB Developer ρόλος και πως αυτός τοποθετείτε στην αγορά εργασίας (ζήτηση/αμοιβή) τόσο στην χώρα μας όσο και στο εξωτερικό, αποφάσισα να γράψω το συγκεκριμένο άρθρο.
18 Jun 2014
Database Design Counts
Δεν είναι σπάνιο το φαινόμενο να πέφτω πάνω σε databases που έχουν σχεδιαστεί στην κυριολεξία στο πόδι. Σε πολλές από αυτές, άλλοτε εύκολα, άλλοτε με σχετικά μη επώδυνο τρόπο, κατάφερα να αλλάξω τον σχεδιασμό τους. Υπάρχουν όμως αρκετές που αυτό δεν ήταν εφικτό.
Το μήνυμα που θέλω να περάσω μέσα από το post αυτό είναι ότι πρέπει να επενδύουμε χρόνο στον σχεδιασμό της database, ακόμα και αν γνωρίζουμε ότι δεν πρόκειται να έχουμε μεγάλο όγκο δεδομένων, καθώς έτσι θα δημιουργήσουμε μια συνήθεια που δύσκολα θα κοπεί με αποτέλεσμα να έχουμε σωστά σχεδιασμένες databases.
31 Dec 2012
2012 Review
Τελευταίο post για το 2012 και όπως συνηθίζεται σε αυτό γίνεται ένας απολογισμός της χρονιάς που πέρασε. Μια χρονιά που όλους μας ταλαιπώρησε είτε περισσότερο είτε λιγότερο.
01 Jul 2010
Λίγα λόγια για τα database Schemas
Αρκέτες φορές έχω δεχθεί ερωτήσεις σχετικά με τα database Schemas. Οι πιο δημοφιλείς ερωτήσεις είναι; Τι είναι τα Schemas; Ποιά είναι η πρακτική αξία τους; Γιατί τα έβαλαν στον SQL Server τόσο αργά; η Oracle τα έχει χρόνια τώρα! Θα ξεκινήσω με την τελευταία.
07 Sep 2009
SQL Server Query for Index Recommendation
Το παρακάτω query είναι πάρα πολύ καλό!!!. Το ξαναβρήκα τυχαία μπροστά μου καθώς σκάλιζα τα διάφορα scripts που έχω στην βιβλιοθήκη μου. Αν θυμάμαι καλά, γιατί έχει περάσει καιρός, το έχει φτιάξει ένα παλικάρι από την μαμά εταιρία, νομίζω ότι είναι ο Swapnil Bajaj.
18 Nov 2015
List all CHECK constraints in your database
Συνεχίζουμε με τα χρήσιμα metadata queries και σε αυτό θα δούμε ακόμα ένα με το οποίο μπορούμε να πάρουμε μια συγκεντρωτική εικόνα όλων των check constraints που έχω στην database μου.
20 Apr 2010
44 SQL Server White Papers
from msdn Accessing SQL Server Databases with PHP Auditing in SQL Server 2008 Best Practices for Data Warehousing with SQL Server 2008 Connectivity Options for Microsoft SQL Server 2008 Integration Services Consolidation Guidance for SQL Server Consolidation Using SQL Server 2008 Cryptography in SQL Server Data Access Tracing in SQL Server 2008 Database Encryption in SQL Server 2008 Enterprise Edition Embedding SQL Server 2008 Express in an Application Engine Separation of Duties for the Applica ...
22 Feb 2020
Let's talk about Lock related wait types
O μη σεβασμός στην αρχιτεκτονική των RDBMS και ειδικότερα σε αυτό που ονομάζεται concurrency είναι η αιτία των περισσότερων "προβλημάτων" της καθημερινότητας.
28 Aug 2019
Azure Data Studio – My Experience
Όταν ασχολείσαι με το SQL Server 24 χρόνια έχεις μάθει να κάνεις πράγματα από συνήθεια. Αυτή η συνήθεια δεν είναι κακή αρκεί να έχεις τα αυτιά και τα μάτια σου ανοικτά στο μέλλον.
11 Apr 2017
Update Statistics - sys.dm_db_stats_properties DMV
Δεν θα σταματήσω να γράφω για την σημασία που έχουν τα statistics στην επιλογή του καλύτερου execution plan ποτέ. Αρκετά μεγάλος αριθμός καθυστερήσεων σε queries οφείλεται σε αυτά και προσωπικά κρίνω απαραίτητο να υπάρχει σε όλους η συγκεκριμένη γνώση γύρω από αυτά.Στο παρελθόν έχω γράψει αρκετά άρθρα γύρω από αυτά και σήμερα επανέρχομαι με ακόμα ένα με το οποίο θέλω να ρίξω περισσότερο φως σε αυτά.
06 Oct 2015
How to know the execution percentage and completion time for a task
Καθημερινά ένας DBA εκτελεί πολλές εργασίες που μπορεί να είναι από ένα απλό backup/restore μέχρι κάποιο index rebuild/reorganize ή ένα DBCC CHECKDB.
Είναι αρκετά περίπλοκο και δύσκολο εκ των προτέρων να γνωρίζει ακριβώς πόσο χρόνο θα χρειαστούν τέτοιου είδους εργασίες για να ολοκληρωθούν. Παρόλα αυτά όμως είναι σε θέση να γνωρίζει πόσο χρόνο θα χρειαστούν μέχρι να ολοκληρωθούν εφόσον αυτές ξεκινήσουν.
07 Oct 2009
Μια μικρή βουτία στα άδυτα της αρχιτεκτονικής μιας βάσης
Ίσως όσα θα αναφερθούν παρακάτω να είναι γνωστά, και το post αυτό να μην είναι ενδιαφέρον. Όμως έχω την υποχρέωση να τα αναφέρω ξανά γιατί θεωρώ ότι είναι πράγματα στα οποία δεν δίνουμε ιδιαίτερη σημασία και τα οποία όταν διογκώνονται είναι δύσκολα στην επίλυση τους. Θα μιλήσουμε εδώ γιa την αρχιτεκτονική μιας database στον SQL Server, από τι αποτελείτε μια database, πιο είναι το ιδανικό αρχικό μέγεθος δημιουργίας της, τι πολιτική να ορίσω για το growth της.
14 Jan 2022
Monitor Active SQL Agent T-SQL Jobs
Η εκτέλεση προγραμματισμένων εργασιών με την χρήση του SQL Agent είναι κάτι που σπάνια δεν θα βρει κάποιος σε ένα instance και πρέπει να κάνουμε monitor, management & troubleshooting για αυτές. Έχουμε αρκετά εργαλεία στα χέρια μας αλλά υπάρχουν και αυτές οι περιπτώσεις που χρειάζεται το κάτι παραπάνω για να κάνουμε monitor, management & troubleshooting. Μία από αυτές τι περιπτώσεις περιγράφω στο άρθρο μου αυτό.
03 Apr 2020
How to discover nested views
Για όσους θυμούνται από το δημοτικό το Ανθολόγιο και το κείμενο του Δ. Ψαθά, "Η τσάντα και το τσαντάκι" που υπήρχε σε αυτό πιθανώς θα γελάσουν, και καλά θα κάνουν
10 Feb 2018
Monitoring CREATE INDEX Progress
Όσοι από εμάς έχουν περάσει ή είναι DBA σε μεγάλες databases καθημερινά έρχονται αντιμέτωποι με πολλά ενδιαφέροντα θέματα. Ένα από αυτά είναι η συντήρηση και η δημιουργία των indexes σε μεγάλου όγκου databases. Ειδικότερα αυτό που ένας τέτοιος DBA ζητάει είναι να γνωρίζει το progress ώστε να είναι σε θέση να εκτιμήσει την ολοκλήρωση της εργασίας.
12 Oct 2011
The value of sys.dm_io_virtual_file_stats DMV
Όπως αρκετές φορές έχω αναφέρει, τρεις είναι οι παράγοντες που επηρεάζουν την λειτουργία ενός SQL Server και αυτοί είναι: Memory, CPU, I/O. Αρκετοί συνάδελφοι δηλώνουν λάτρεις των Dynamic Management Views (DMV) μεταξύ αυτών είμαι και εγώ , όμως το μυστικό σε αυτές είναι να τις χρησιμοποιείς έτσι ώστε να παίρνει από αυτές συνδυαστικά τις περισσότερες φορές τη μέγιστη δυνατή πληροφορία που αυτές μπορούν να σου σώσουν. Σε αυτό το post θα σας δείξω πως χρησιμοποιώντας μια εξ αυτών...
12 Apr 2019
The sys.dm_exec_query_stats DMV
Ένα από τα πράγματα που κάνω στην δουλειά μου είναι πηγαίνω σε πελάτες και να τους βοηθάω να λύσουν τα προβλήματα τους. Αυτό σημαίνει ότι έρχομαι αντιμέτωπος με instances που δεν γνωρίζω και πρέπει να μάθω για αυτά. Έτσι εκτελώ αρκετά scripts που έχω γράψει για να συλλέξω τις πληροφορίες που θέλω.
28 Dec 2017
2017 Recap
Μια ακόμα χρονιά φτάνει στο τέλος της και όπως συνήθως όλοι κάνουμε είναι να κοιτάξουμε πίσω και να δούμε τι έχουμε κάνει τι έχουμε δει και πως πέρασαν αυτές οι 365 ημέρες. Αυτή την φορά όμως αποφάσισα να γράψω για όλα αυτά.
17 Feb 2015
Getting Started : Writing T-SQL (Part 1)
Αυτή η σειρά από posts, έχει σκοπό να βοηθήσει κάποιον να κάνει τα πρώτα του βήματα στην χρήση του Microsoft SQL Server και να κάνει μια γνωριμία με την Τransact-SQL.
03 Jan 2020
Let's talk about CPU related wait types
Σε αυτό το άρθρο μου θα μιλήσω για τα ποιο σημαντικά wait types που αφορούν την CPU καθώς αυτή είναι αποτελεί ένα από τα βασικά στοιχεία που συντελούν στην απόδοση του SQL Server.
16 Sep 2015
The ARITHABORT and ROUND_ABORT settings
Είναι γνωστό ότι στον SQL Server υπάρχουν διάφορα SET options που καθορίζουν την συμπεριφορά του με συγκεκριμένους τρόπους. Σε αυτό το post, θα μιλήσουμε για τι είδους έλεγχο μας δίνουν τέτοια options σε περίπτωση "προβληματικών" αριθμητικών πράξεων. Πιο συγκεκριμένα, θα δούμε τα ARITHABORT και NUMERIC_ROUNDABORT settings.
14 Jun 2020
The QUOTENAME and CONCAT_WS string functions
Αν και είναι ένα μικρό άρθρο αυτό, εντούτοις θεώρησα ότι πρέπει να το γράψω καθώς βλέπω ότι κάποιοι ταλαιπωρούνται αδίκως όταν γράφουν κώδικα ειδικά όταν αυτός πρέπει να περιέχει object names πχ tables, fields, views, stored procedures.
09 Dec 2010
SQL Server 2008 R2 System Views Map
Είναι γνωστή η λατρεία μου για ποστερς και ειδικά τέτοιου είδους όπως αυτό εδώ Απλά θέλεις χώρο και ploter για να τα τυπώσεις.... [:D] Όπως και να έχει όμως είναι αυτό που πρέπει να μελετήσει κάποιος που ασχολήται με τον SQL Server 2008R2 καθώς θα μπουν πολλά πράγματα στο κεφάλι του σε σειρά. Enjoy it! ...