Ο Query Optimizer στον SQL Server είναι αυτός που αποφασίζει με ποιο τρόπο (query plan) θα εκτελεστεί το οποιοδήποτε sql statement το οποίο δίνουμε. Επειδή είναι κάτι το οποίο είναι εσωτερικό στη μηχανή του SQL Server, επειδή δεν παρέχει πολλά χαρακτηριστικά, αλλά δεν υπάρχουν και αρκετοί "τρελλοί" που να ασχολούνται με αυτόν , είναι ίσως από τα λίγα κομμάτια του SQL Server που ακούγονται πολύ αλλά δεν εξηγούνται πολύ. Διαβάζοντας το συγκεκριμένο άρθρο φιλοδοξώ να είστε σε θέση να κατανοείτε,
Αγαπητές φίλες και Αγαπητοί φίλοι. Ελάτε στις 14/5/2010 να πιούμε μια μπύρα και να σας δείξω τα νέα χαρακτηριστικά του SQL Server 2008 R2. Είναι Παρασκευή, είναι βραδάκι, στο χαλαρό και στο φιλικό θα τα πούμε όμορφα σαν μια καλή παρέα. Χωρίς powerpoints με πολλά demos… Σας περιμένω στο SQL Server booth. Φιλικά Αντώνης
Σαν παλαιός developer έχω νιώσει αρκετά καλά στο πετσί μου ότι ο όμορφα γραμμένος κώδικας όσο χάλια και αν είναι πάντα βοηθάει στην ανάγνωση του με αποτέλεσμα να εξυπηρετεί αρκετά τόσο στο debugging αυτού όσο και στο refactoring και extension. Αρκετές φορές ακόμα έχω δεχθεί ερώτηση για αυτό τόσο στον χώρο εργασίας μου όσο και κατά την διάρκεια των σεμιναρίων που κάνω. Αν και βαθιά πιστεύω ότι αυτό είναι κάτι το οποίο είναι θέμα που πρέπει να ορισθεί σε επίπεδο προσωπικό και ομάδας εργασίας εντ
Πριν ξεκινήσω να περιγράφω το συγκεκριμένο εργαλείο, οφείλω να καταθέσω την άποψη μου γι’ αυτό. ΕΙΝΑΙ ΚΑΤΑΠΛΗΚΤΙΚΟ!!!. Όσοι έχετε ασχοληθεί από παλία με τον SQL Server, προσωπικά ασχολούμαι από την έκδοση 6.0 (1996), θα έχετε παρακολουθήσει την εξέλιξη του συγκεκριμένου εργαλείου. Σε κάθε έκδοση είχαμε κάποιες βελτιώσεις. Όμως στην έκδοση του SQL Server 2008 πιστεύω ότι έχουμε τις περισσότερες αλλά και τις σημαντικότερες βελτιώσεις. Eίναι μια διαφορετική υλοποίηση του εργαλείου που δίνει μια π
Σε προηγούμενο μου post μίλησα για το ποια έκδοση μπορεί να γίνει upgrade σε SQL Server 2012. Σε αυτό θα σας δώσω μερικές συμβουλές ώστε η διαδικασία να έχει επιτυχία. περισσότερα
Σήμερα ανακοινώθηκε η διάθεση του SP3 για τον SQL Server 2008. Αρκετές βελτιώσεις και διορθώσεις έχουν γίνει σε αυτό.Μπορείτε να το κατεβάζετε από τα παρακάτω links
Download SQL Server 2008 SP3
Download SQL Server 2008 SP3 Express
Download SQL Server 2008 SP3 Feature Packs
Knowledge Base Article for Microsoft SQL Server 2008 SP3
Σήμερα ανέβαζα ένα project σε production το οποίο ήταν ένα Web Application σε .ΝΕΤ όπου χρησιμοποιούσαμε το Report Viewer Control για να δείχνουμε τα reports που η εφαρμογή έχει. Ενώ σε όλα τα στάδια ανάπτυξης και τεστ δεν είχαμε κάποιο θέμα μόλις ανέβηκε στην παραγωγή άρχισαν τα τηλέφωνα από τον πελάτη και μου στέλνουν και ένα mail με ένα screen dump όπου το control αυτό δεν έκανε τίποτα τα είχε δει όλα. Η εικόνα του control ήταν η παρακάτω Φυσικά ο IIS της παραγωγής ήταν ο 7 στο οποίο
Σήμερα θα σας πω μια ιστορία που εξελίσσετε στη μαγική πόλη Σαλαμάνδρα. Στην μικρή αυτή πόλη υπάρχει μια επιχείρηση που έχει δύο servers εκ των οποίων ο ένας είναι και SQL Server. Στον SQL server τρέχουν διάφορα προγράμματα της εταιρείας Πέντε Κιλά Κώδικα (ανταγωνιστής της γνωστής ΤΚΚ) και ο χρήστης μπαίνει συχνά στον server μέσω remote desktop να κάνει διάφορες εργασίες. Επίσης ο τεχνικός του επιχειρηματία, ο Μπάμπης, έχει ανοίξει πρόσβαση μέσω remote desktop και στην ΠΚΚ στην default πόρτα, χω
Είστε σίγουροι ότι έχετε πάρει έστω και μια φορά όλες τις databases σας backup; Ειδικά εσείς αγαπητοί συνάδελφοι που έχετε πολλές databases είστε σίγουροι; Η απάντηση στο ερώτημα αυτό είναι η παρακάτω stored procedure η οποία θα σας επιστρέψει αμέσως όλες τις database που έχετε ξεχάσει να πάρετε backup. create proc dbo.spUnbackupedDbs @backup_type char(1)='D', @time_span_days int=5 as -- Created by Antonios Chatzipavlis -- -- This stored procedure returns all database
Εισαγωγή
Για άλλη μια φορά σήμερα ευλογώ τον Θεό που μου έχει δώσει την δυνατότητα να κάνω αυτή την δουλειά καθώς μου δίνει την δυνατότητα σε τακτά χρονικά διαστήματα να μαθαίνω κάτι νέο.
Αυτό που έμαθα σήμερα κατά την καθημερινή μου ενασχόληση με τον SQL Server θα ήθελα να το μοιραστώ μαζί σας και είμαι αρκετά χαρούμενος για αυτό καθώς το αγαπημένο μου προϊόν ο SQL Server μου χαρίζει αυτές τις συγκινήσεις.
Η ανάγκη
Ας έρθουμε όμως στο ζουμί. Σαν DBA ή DB Dev καθημερινά γράφεις qu
Όταν βάζουμε το WITH ENCRYPTION option σε μια stored procedure, ένα trigger, μια function ή ένα view ξέρουμε ότι αυτόματα ο κώδικας δεν είναι ορατός. Θα μπορούσαμε να πούμε ότι είναι κλειδωμένος.
Δεν ξέρω αν το γνωρίζεται αλλά ο SQL Server δεν είναι ένα digital rights management system αυτό σημαίνει ότι ο κώδικας που έχει γραφεί μέσα μια sp, function κλπ δεν είναι encrypted, αλλά απλά obfuscated.
Το obfuscation αυτό ο SQL Server εδώ και πολλά χρόνια από τότε που εμφανίστηκε το with encrypt
Δεν είναι λίγες η φορές που αναρωτιέσαι τι έχει εγκατασταθεί από τα components του SQL Server σε ένα σύστημα που έχεις. Επειδή αρκετές φορές η μνήμη δεν βοηθάει ή η εγκατάσταση αυτή δεν έχει γίνει από εμάς τους ίδιους πρέπει να ψάξουμε για να τα βρούμε. Τρόποι υπάρχουν πολλοί και φαντάζομαι γνωστοί.
Υπάρχει όμως ένας που είναι αρκετά ευκολότερος και αποδοτικότερος. περισσότερα
Διαβάζοντας το τελευταίο άρθρο του Jonathan Kehayias διαπίστωσα ότι έχω πολύ καιρό να γράψω κάτι για τα internals του SQL Server. Μέσα στο άρθρο αυτό του Jonathan υπάρχουν αναφορές σε κάποια ειδικά pages που υπάρχουν σε κάθε database στον SQL Server. Με αφορμή αυτό αποφάσισα να γράψω το post αυτό και να αναφερθώ σε όλα αυτά το special pages. Page structure and page offset Πριν ξεκινήσω όμως την αναφορά μου σε αυτά θα πρέπει να είμαι σίγουρος ότι όλοι γνωρίζουμε ότι κάθε data file σε μια S
Πολλές φορές χρειαζόμαστε σε strings να κάνουμε συγκρίσεις για το αν αυτά είναι όμοια ή πόσο κοντά είναι το ένα στο άλλο. Αυτό όπως καταλαβαίνει κανείς εγκυμονεί αρκετούς κινδύνους, παραδοχές και πολλά ακόμα που πρέπει να λάβουμε υπόψη, ειδικά αν δεν έχουμε βάλει αυστηρούς ελέγχους στο τι πληκτρολογεί ο χρήστης. Παρ’ ότι στον SQL Server έχουμε την SOUNDEX και την DIFFERENCE υπάρχουν περιπτώσεις που δεν μας είναι αρκετές για ικανοποιήσουμε τις ανάγκες μας. Για αυτές τις περιπτώσεις θα πρέπει
Όπως εδώ και καιρό έχει γίνει γνωστό από την ανακοίνωση της Microsoft ο SQL Server 2012 θα είναι η τελευταία έκδοση που θα υποστηρίζει τον SQL Server Native Client OLE DB provider καθώς αυτός θα πρόκειται να σταματήσει να αναπτύσσεται.
Ο αντικαταστάτης του θα είναι ένας παλιός γνώριμος το ODBC read more
Αρκετές φορές σαν DBA θέλουμε να έχουμε κάποια objects (tables, stored procedures) σε ένα σημείο από όπου να μπορούμε να τα καλούμε από οποιαδήποτε βάση μας χωρίς να χρειάζεται να αναφερόμαστε σε αυτά με qualified name (πχ db_name.schema_name.obj_name). Να είναι τρόπο τινά system object. περισσότερα
Εγκαινιάζω ένα νέο tag στο blog μου με το όνομα Margaritaria. Εδώ θα σας γράφω τα ωραία που κατα καιρούς ακούω. Ελπίζω να σας αρέσει η περιόχη αυτή ΚΟΛΛΑΕΙ Ο SQL SERVER?? ΛΥΣΗ ΤΟΝ ΒΓΑΖΟΥΜΕ ΑΠΟ ΤΟ DOMAIN ΠΟΥ ΕΤΣΙ ΚΑΙ ΑΛΛΙΩΣ ΚΑΚΟ ΕΙΝΑΙ ΓΙΑΤΙ ΡΙΧΝΕΙ ΤΟ PERFORMANCE
Η ώρα είναι 3:40 πμ (άγρια χαράματα δηλαδή) αλλά ύπνος δεν μου κολλάει. Ίσως φταίει ότι το μεσημέρι έφαγα μια κατσαρόλα λαγό στιφάδο (να είσαι καλά μάνα με την προσφορά σου αυτή) και κατανάλωσα και δύο μπύρες. Όπως είναι φυσικό μετά από τέτοιο τσιμπούσι ο ύπνος είναι απαραίτητος. Έτσι σαν καλό παιδί κοιμήθηκα και ξύπνησα στις 21:00 για να δω ποδόσφαιρο. Αφού τελείωσε λέω “δεν βάζω τον SQL Server 2008 στα Windows 2008 EE που έχω στήσει”. Ξεκίνησα την εγκατάσταση και όλα καλά. Βέβαια θα πρέπει να
Αρκετές φορές είναι απαραίτητο να καταγράφονται οι αλλαγές που γίνονται στις εγγραφές των πινάκων σε μια βάση. Μέχρι πριν τον SQL Server 2008 υπήρχαν οι παραδοσιακές μέθοδοι όπως πχ triggers. Τώρα όμως υπάρχουν και άλλοι τρόποι. Σε αυτή την παρουσίαση θα δούμε τους άλλους αυτούς τρόπους. Για να παρακολουθήσετε την παρουσίαση αυτή θα πρέπει να κάνετε εγγραφή πατώντας απλά στο παρακάτω image. Όσοι παρακολουθήσουν ζωντάνα την παρουσίαση αυτή θα συμμετάσχουν στην κλήρωση που θα γίνει για έν
Άλλοι περισσότερο άλλοι λιγότερο χρησιμοποιούμε το SQL Server Management Studio στην καθημερινότητα μας. Μέσα σε αυτή εκτελούμε και αρκετά queries είτε σε πίνακες της βάσης μας είτε σε metadata tables. Το κάνουμε σχεδόν μηχανικά καθημερινά έτσι δεν είναι;
Όπως επίσης είναι γνωστό ότι μπορούμε να δούμε τα αποτελέσματα αυτών σε διαφορετικές μορφές όπως grid, text, file. περισσότερα
Ας συνεχίζουμε στο δεύτερο και τελευταίο μέρος τους SQLOS. To 1ο μέρος θα το βρείτε εδω. Memory Management Τα Windows στην x86 έκδοση τους δίνουν σε όλα τα processes 4GB Virtual Address Space (VAS), η οποία χωρίζεται σε δύο μέρη των 2GB το καθένα, το ένα είναι το user mode partition και το άλλο είναι το kerner mode partition όπως συνηθίζουμε να τα λέμε. Εάν ένα application χρειάζεται περισσότερο από τα 2GB του user mode partition στο VAS μπορώ να προσθέσω τον διακόπτη /3GB στο boot.ini αρχ
Επειδή δουλεύω συνεχεια με virtual μηχανές και επειδή πολλές φορές θέλω ένα αρχείο απο αυτές όταν είναι κλειστές . Εψαξα και βρήκα αυτό http://blogs.msdn.com/virtual_pc_guy/archive/2006/09/01/734435.aspx Αλλά και αυτό το οποίο έχει περισσότερες λεπτομέρειες http://www.petri.co.il/mounting-vhd-files-with-vhdmount.htm Αλλα και αυτό το οποίο έχει μια άλλη προσέγγιση http://blogs.technet.com/daven/archive/2006/12/15/vhdmount-without-virtual-server.aspx
Σήμερα λέω να κάνω κάτι που ίσως να σας αλλάξει πολλά στον τρόπο με τον οποίο αντιμετωπίζετε το transaction log. Είμαι σίγουρος ότι οι περισσότεροι έχετε το πρόβλημα το transaction log να μεγαλώνει ανεξέλεγκτα και να φωνάζετε βοήθεια. Να διαμαρτύρεστε που η Microsoft κατάργησε την TRUNCATE_ONLY. Αλλά είπα ήδη πολλά, δείτε το video και θα εξηγηθούν πολλά. Αυτά και ελπίζω να σας άρεσε. Υ.Γ Αυτό ήταν ένα video το οποίο πραγματικά γούσταρα που το έκανα για αυτό και τρόπος με τον οποίο