Αφορμή για αυτό το post ήταν δύο γεγονότα τα οποία μου συνέβησαν το τελευταίο διάστημα. Το ένα ήταν μια «διαμάχη» με έναν συνάδελφο σχετικά με το γεγονός ότι πλέον δεν υποστηρίζεται πλέον στον SQL Server 2012 η sp_dboption, και το άλλο είναι ένα προσωπικό μήνυμα που έλαβα από κάποιον άλλο συνάδελφο σχετικά με το αν θα πρέπει να χρησιμοποιείται το semicolon στο τέλος των εντολών της T-SQL. Δεν ξέρω αν το γνωρίζεται αλλά σε κάθε έκδοση του SQL Server που βγάζει η Microsoft μέσα στα books o
Σαν παλαιός developer έχω νιώσει αρκετά καλά στο πετσί μου ότι ο όμορφα γραμμένος κώδικας όσο χάλια και αν είναι πάντα βοηθάει στην ανάγνωση του με αποτέλεσμα να εξυπηρετεί αρκετά τόσο στο debugging αυτού όσο και στο refactoring και extension. Αρκετές φορές ακόμα έχω δεχθεί ερώτηση για αυτό τόσο στον χώρο εργασίας μου όσο και κατά την διάρκεια των σεμιναρίων που κάνω. Αν και βαθιά πιστεύω ότι αυτό είναι κάτι το οποίο είναι θέμα που πρέπει να ορισθεί σε επίπεδο προσωπικό και ομάδας εργασίας εντ
Οι περισσότεροι είστε σε κάποιον παραθαλάσσιο μέρος και καλά κάνετε. Παρόλα αυτά όμως τα SQL Saturday Nights ακόμα δεν έχουν τελειώσει, απλά αντί να σας βάζω σε διαδικασίες να τα παρακολουθήσετε live αποφάσισα να φτιάξω ένα απόψε καθώς θέλω να αναδείξω ένα θέμα το οποίο οι περισσότεροι δεν γνωρίζετε ή το γνωρίζετε λίγο ή ακόμα και για αυτούς που το γνωρίζουν δεν είναι κακό να το ξαναδούν. Αφορά τον αριθμό των VLFs (Virtual Log Files) που έχει ένα transaction log σε μία database στον SQL Serve
Διαβάζοντας το τελευταίο άρθρο του Jonathan Kehayias διαπίστωσα ότι έχω πολύ καιρό να γράψω κάτι για τα internals του SQL Server. Μέσα στο άρθρο αυτό του Jonathan υπάρχουν αναφορές σε κάποια ειδικά pages που υπάρχουν σε κάθε database στον SQL Server. Με αφορμή αυτό αποφάσισα να γράψω το post αυτό και να αναφερθώ σε όλα αυτά το special pages. Page structure and page offset Πριν ξεκινήσω όμως την αναφορά μου σε αυτά θα πρέπει να είμαι σίγουρος ότι όλοι γνωρίζουμε ότι κάθε data file σε μια S
Όπως εδώ και καιρό έχει γίνει γνωστό από την ανακοίνωση της Microsoft ο SQL Server 2012 θα είναι η τελευταία έκδοση που θα υποστηρίζει τον SQL Server Native Client OLE DB provider καθώς αυτός θα πρόκειται να σταματήσει να αναπτύσσεται.
Ο αντικαταστάτης του θα είναι ένας παλιός γνώριμος το ODBC read more
Φαντάζομαι ότι σε όλους είναι γνωστό ότι για να εκτελεστεί ένα query στον SQL Server περνάει από τον Query Optimizer. Αυτός για να παράξει το execution plan βλέπει τα index statistics. Αυτό σημαίνει ότι όσο καλύτερα ενημερωμένα είναι αυτά τόσο καλύτερα αποτελέσματα θα δώσει ο Query Optimizer.
Πότε όμως αυτά έχουν ενημερωθεί τελευταία φορά;
Αν κάποιος θέλει να δώσει απάντηση στο ερώτημα του αυτό δεν έχει παρά να εκτελέσει το παρακάτω query στην βάση του. περισσότερα
Αρκετές φορές έχω αναφέρει κατά την διάρκεια των μαθημάτων και των παρουσιάσεων που κάνω για την αρχιτεκτονική μιας βάσης, ότι τα data files χωρίζονται σε σελίδες των 8K, κάθε 8 τέτοιες σελίδες αποτελούν ένα extent και ότι υπάρχουν δύο είδη extent τα uniform και τα mixed. Uniform είναι αυτά που οι 8 σελίδες τους ανήκουν σε ένα object πχ στον πίνακα των πελατών, ενώ mixed είναι αυτά που οι 8 σελίδες τους ανήκουν σε διαφορετικά. Επανειλημμένα έχω αναφέρει ότι σε κάθε πίνακα οι πρώτες 8
Μια πρωινή ερώτηση που ένας συνάδελφος μου έθεσε ήταν η αφορμή για αυτό το tip of the day. Η ερώτηση του ήταν:
Πως μπορώ να αλλάξω το schema σε ένα object μέσα σε μια database;
Η απάντηση είναι απλή και φαίνεται στο παρακάτω παράδειγμα περισσότερα
Πρωινή συζήτηση με συνάδελφο η οποία έφτασε να αξιολογούμε βάσεις και να μετράμε αντικείμενα σε αυτές. Κάποια στιγμή γράφω το παρακάτω query για να δω ανά object type τι πλήθος αντικειμένων έχω σε αυτό και ο συνάδελφος εντυπωσιάστηκε. Αν ποτέ το χρειαστείτε είναι το παρακάτω: περισσότερα
Άλλοι περισσότερο άλλοι λιγότερο χρησιμοποιούμε το SQL Server Management Studio στην καθημερινότητα μας. Μέσα σε αυτή εκτελούμε και αρκετά queries είτε σε πίνακες της βάσης μας είτε σε metadata tables. Το κάνουμε σχεδόν μηχανικά καθημερινά έτσι δεν είναι;
Όπως επίσης είναι γνωστό ότι μπορούμε να δούμε τα αποτελέσματα αυτών σε διαφορετικές μορφές όπως grid, text, file. περισσότερα
Πολλές φορές χρειαζόμαστε σε strings να κάνουμε συγκρίσεις για το αν αυτά είναι όμοια ή πόσο κοντά είναι το ένα στο άλλο. Αυτό όπως καταλαβαίνει κανείς εγκυμονεί αρκετούς κινδύνους, παραδοχές και πολλά ακόμα που πρέπει να λάβουμε υπόψη, ειδικά αν δεν έχουμε βάλει αυστηρούς ελέγχους στο τι πληκτρολογεί ο χρήστης. Παρ’ ότι στον SQL Server έχουμε την SOUNDEX και την DIFFERENCE υπάρχουν περιπτώσεις που δεν μας είναι αρκετές για ικανοποιήσουμε τις ανάγκες μας. Για αυτές τις περιπτώσεις θα πρέπει
Αν και πιστεύω ότι αρκετοί θα έχετε υλοποιήσει κάτι τέτοιο εντούτοις σας παραδίδω και την δικιά μου εκδοχή που κάνει parse ένα string με delimiters και επιστρέφει ένα πίνακα με τα αποτελέσματα της εκτέλεσης περισσότερα
Σε αυτό το post θα σας παρουσιάσω ένα θέμα το οποίο είναι κάτι που αντιμετωπίζουν οι web developers και ιδιαίτερα αυτοί που ασχολούνται με Content Management Systems (CMS). Όπως είναι γνωστό σε αυτά αποθηκεύουμε το περιεχόμενο που βάζουμε στα sites μας, είτε σαν HTML, είτε σαν XML ή κάτι άλλο. Αρκετές είναι οι περιπτώσεις που χρειαζόμαστε να αντλήσουμε από αυτά μόνο το καθαρό περιεχόμενο αγνοώντας δηλαδή τα διάφορα HTML/XML tags. περισσότερα
Στο SQL Saturday Night αυτό, θα δούμε τις δυνατότητες που μας έχουν έρθει για το Full Text Search στον SQL Server 2012, αλλά και όσα πρέπει να γνωρίζουμε για αυτούς είτε είμαστε DBA είτε DB Developers. Εγγραφή (είναι δωρεάν)
Αρκετές φορές σαν DBA θέλουμε να έχουμε κάποια objects (tables, stored procedures) σε ένα σημείο από όπου να μπορούμε να τα καλούμε από οποιαδήποτε βάση μας χωρίς να χρειάζεται να αναφερόμαστε σε αυτά με qualified name (πχ db_name.schema_name.obj_name). Να είναι τρόπο τινά system object. περισσότερα
Δεν είναι λίγες η φορές που αναρωτιέσαι τι έχει εγκατασταθεί από τα components του SQL Server σε ένα σύστημα που έχεις. Επειδή αρκετές φορές η μνήμη δεν βοηθάει ή η εγκατάσταση αυτή δεν έχει γίνει από εμάς τους ίδιους πρέπει να ψάξουμε για να τα βρούμε. Τρόποι υπάρχουν πολλοί και φαντάζομαι γνωστοί.
Υπάρχει όμως ένας που είναι αρκετά ευκολότερος και αποδοτικότερος. περισσότερα
Από το Ιούνιο έχει ξεκινήσει να δίνει στο κοινό η Microsoft σε CTP έκδοση το SP1 για τον SQL Server 2012. Σήμερα έβγαλε την επόμενη έκδοση (CTP4).
Πέρα όμως από τον αναμενόμενο σκοπό των SPs σε αυτό υπάρχει και μια ιδιαιτερότητα που σπάνια εμφανίζεται στον SQL Server. Με αυτό το SP1 – CTP4 έρχονται και Νέες δυνατότητες όπως περισσότερα
Καλημέρα και καλό μήνα. Σε αυτό το σύντομο post θα ήθελα να επισημάνω τα εξής: Παρόλο που μπορούμε να στήσουμε τον SQL Server 2012 σε Domain Controller αυτό δεν συνίσταται από κανέναν. περισσότερα
Όλο και περισσότεροι πλέον ενδιαφέρονται να μεταβούν στην έκδοση 2012 του SQL Server. Έχω αρκετές πλέον ερωτήσεις για το θέμα αυτό και νομίζω ότι πλέον είναι σκόπιμο να γράψω κάποιες γραμμές. more
Σε αυτό το SQL Saturday Night θα κάνουμε μια εισαγωγή στη Multi-Dimensional eXpression query language η οποία χρησιμοποιείται για να ρωτήσουμε data που είναι στα Analysis Services του SQL Server 2012. Εγγραφή (είναι δωρεάν)
Σε προηγούμενο μου post μίλησα για το ποια έκδοση μπορεί να γίνει upgrade σε SQL Server 2012. Σε αυτό θα σας δώσω μερικές συμβουλές ώστε η διαδικασία να έχει επιτυχία. περισσότερα
Σε προηγούμενα μου post μίλησα για την διαδικασία του upgrade σε SQL Server 2012. Σε αυτό θα σας δώσω μερικές συμβουλές για το πως μπορείτε να κάνετε migration μια ή περισσότερες databases από μια παλαιότερη έκδοση του SQL Server σε SQL Server 2012. Οι προτεινόμενοι τρόποι για να γίνει κάτι τέτοιο είναι οι παρακάτω και δεν υπάρχει καλύτερος ή χειρότερος τρόπος. Ο κάθε ένας έχει τα συν και τα πλην του και θα πρέπει να κατανοήσουμε αυτά πριν διαλέξουμε αυτόν με τον οποίο θα δουλέψουμε. περισσότε