Jump to content
  • entries
    292
  • comments
    368
  • views
    59832

About this blog

News about Microsoft SQL Server and other databases...

Entries in this blog

Θέλω να ξενοιάσω με το backup των βάσεων σε έναν Server

Θέλετε να ξενoιάσετε μια και καλή με το backup των βάσεων σας σε έναν SQL Server στον οποίο έχετε δώσει δικαιώματα σε developers ή χρήστες να φτιάχνουν databases με αποτέλεσμα να υπάρχουν βάσεις που δεν τις παίρνετε άμεσα χαμπάρι και όταν γίνει η ζημιά να έχετε την γκρίνια τους ότι έχασαν την βάση τους; Σε αυτή την περίπτωση το παρακάτω script που έφτιαξα και σας δίνω είναι η λύση. Φτιάξτε ένα job στον SQL Server και δώστε σε ένα step το script declare @weekday char(3) select @weekday

antonch

antonch

Θα ήθελα την γνώμη σας

Καθώς έχουν ήδη γίνει δέκα SQL Saturday Nights θα ήθελα την γνώμη σας για την ποιότητα αυτών. Θα παρακαλούσα αν θέλετε να μου πείτε όσοι τα έχετε παρακολουθήσει είτε ζωντάνα είτε μαγνητοσκοπημένα την γνώμη σας για αυτά. Αυτό μπορείτε να το κάνετε μπαίνοντας στο www.sqlschool.gr και στη δημοσκόπηση που υπάρχει εκεί να επιλέξετε την άποψη σας. Σας ευχαριστώ εκ των προτέρων antonch

antonch

antonch

Η Resource Database στους SQL Servers 2005 & 2008

Στον SQL Server 2005, και φυσικά υπάρχει και στο SQL Server 2008, πρωτοεμφανίστηκε μια νέα system database η Resource Database. Η database αυτή περιέχει όλα τα read-only critical system tables, metadata, και stored procedures τα οποία ο SQL Server χρειάζεται για τρέξει. Δεν περιέχει πληροφορίες για το SQL Server instance ή για τις databases σας, και αυτό γιατί δημιουργήται κατά την διαδικασία εγκατάστασης του SQL Server ή όταν εγκαταστήσουμε κάποιο service pack. Περιέχει δε όλα τα objects

antonch

antonch

Επιτέλους Ελληνικά στο Full Text Search του SQL Server DENALI

Όταν για πρώτη φορά εμφανίστηκε το συγκεκριμένο feature στον SQL Server 7.0 ίσως να ήμουν ο πρώτος στην Ελλάδα που το χρησιμοποίησα σε παραγωγικό περιβάλλον. Παρόλα αυτά όμως δεν υπήρχε η υποστήριξη της ελληνικής γλώσσας και αυτό με είχε στεναχωρίσει ιδιαίτερα. Αυτό σήμαινε ότι δεν μπορούσα να ψάξω με την ρίζα της λέξης. Από τότε προσπαθούσα εγώ και ακόμα ένας συνάδελφος ο Παναγιώτης ο Καναβός να πείσουμε την Microsoft να υποστηρίξει την ελληνική γλώσσα. Οι προσπάθειες μας όμως ήταν άκαρπες. Παρ

antonch

antonch

Ενδιαφέρουσες αλλαγές στα μηνύματα λάθους

Με αφορμή την ενασχόληση μου με την επιμέλεια των ελληνικών μηνυμάτων λαθών στον SQL Server DENALI, διαπίστωσα ότι έχουν γίνει αρκετά ενδιαφέρουσες αλλαγές σε αυτά. Μια τέτοια η οποία είναι αρκετά ενδιαφέρουσα και πρωτίστως χρήσιμη είναι ότι όταν πλέον έχει λάθος το οποίο παραβιάζει τον primary key constraint δηλαδή πάμε να βάλουμε ένα pk το οποίο ήδη υπάρχει ενώ μέχρι τώρα απλά είχα το μήνυμα λάθους τώρα έχω και την τιμή . Cool!!! Ας δούμε ένα παράδειγμα για αυτό create table X (id int

antonch

antonch

Ελληνικά μηνύματα λάθους στον SQL Server “Denali”

Ακόμα ένα χαρακτηριστικό το οποίο δεν έχει διαφημιστεί στον SQL Server DENALI είναι ότι πλέον υπάρχουν όλα τα μηνύματα των λαθών που έχει ο SQL Server στην Ελληνική γλώσσα!!!. Άλλη μια απαίτηση χρόνων έγινε πραγματικότητα . Εάν ρωτήσετε τον sys.messages και τον sys.sysmessages θα δείτε πλέον ότι υπάρχει και ελληνική γλώσσα μέσα σε αυτούς (language id = 1032). Έτσι πλέον αν στο χρήστη έχετε βάλει default language Greek εκτός από το ότι θα μπορεί να εισάγει ημερομηνίες σύμφωνες με το ελλη

antonch

antonch

Ελάτε να πιούμε μια μπύρα...

Αγαπητές φίλες και Αγαπητοί φίλοι. Ελάτε στις 14/5/2010 να πιούμε μια μπύρα και να σας δείξω τα νέα χαρακτηριστικά του SQL Server 2008 R2. Είναι Παρασκευή, είναι βραδάκι, στο χαλαρό και στο φιλικό θα τα πούμε όμορφα σαν μια καλή παρέα. Χωρίς powerpoints με πολλά demos… Σας περιμένω στο SQL Server booth. Φιλικά Αντώνης

antonch

antonch

Εισαγωγή στον Query Optimizer του SQL Server 2008

Ο Query Optimizer στον SQL Server είναι αυτός που αποφασίζει με ποιο τρόπο (query plan) θα εκτελεστεί το οποιοδήποτε sql statement το οποίο δίνουμε. Επειδή είναι κάτι το οποίο είναι εσωτερικό στη μηχανή του SQL Server, επειδή δεν παρέχει πολλά χαρακτηριστικά, αλλά δεν υπάρχουν και αρκετοί "τρελλοί" που να ασχολούνται με αυτόν , είναι ίσως από τα λίγα κομμάτια του SQL Server που ακούγονται πολύ αλλά δεν εξηγούνται πολύ. Διαβάζοντας το συγκεκριμένο άρθρο φιλοδοξώ να είστε σε θέση να κατανοείτε,

antonch

antonch

Γιατί το datatype datetime στον SQL Server έχει για βάση την 1/1/1753

Αρκετές φορές μέσα από τα μαθήματα που κάνω για τον SQL Server όταν αναφέρω ότι το datetime έχει σαν βάση την 1/1/1753 οι μαθητές μου με ρωτάνε το λόγο. Ο λόγος είναι ο εξής όπως τον εξηγεί όμορφα ο Tibor Karaszi There are historical reasons for this limitation. In what we sometimes refer to as the "Western world," there have been two calendars in modern times: the Julian and Gregorian calendars. These calendars were a number of days apart (depending on which century you looked at), so

antonch

antonch

Γιατί πρέπει να χρησιμοποιώ Stored Procedures

Χαίρετε, καιρό είχατε να με ακούσετε ε; Δυστυχώς αυτά συμβαίνουν όταν αλλάζεις δουλειά. Όμως σιγά σιγά βρίσκω τα νέα βήματα μου οπότε επανέρχομαι δριμύτερος. Σήμερα θέλω να σας κουράσω με κάτι που δεν είναι στο administration του SQL Server αλλά στο programming του. Αυτό ακούει στο όνομα Stored Procedures. Είμαι σίγουρος ότι αν όχι όλοι οι περισσότεροι τις ξέρετε. Είμαι σίγουρος ότι υπάρχουν φανατικοί υποστηρικτές τους, όπως επίσης και άλλοι που όταν ακούνε το όνομα τους βγάζουν σπυράκ

antonch

antonch

Ας μάθουμε τελικά τι είναι ένα Transaction

Γνωρίζοντας ότι μπορεί το παρόν post μου να μην είναι ενδιαφέρον ή να προσφέρει μια γνώση που δεν έχετε, εντούτοις το γράφω διότι πρέπει κάποια πράγματα να λέγονται όπως είναι και να μην υπάρχει μαύρες τρύπες ή διαφορετικές ερμηνείες, που δυστυχώς άκουσα σήμερα. Τι είναι λοιπόν ένα transaction; Είστε σε μια εκκλησία και βλέπετε ένα ζευγάρι να παντρεύεται. Όταν τελειώσει το μυστήριο του γάμου δεν υπάρχει κανένας που να αμφιβάλλει για το status του ζευγαριού αυτού. ΕΙΝΑΙ ΠΑΝΤΡΕΜΕΝΟΙ. Εάν όμω

antonch

antonch

Ανάμεσα στους Θρύλους του SQl Server

Πάντα ήθελα να τους συναντήσω από κοντά όλους μαζί και τελικά τα κατάφερα. Είναι φοβέρο συναίσθημα να είσαι ανάμεσα στους θρύλους του SQL Server. Μίλησα αρκετά μαζί τους και είχα την ευκαιρία να βγάλω και φωτογραφίες μαζί τους.   Ανάμεσα στον Paul Nielsen και την Kalen Delaney. RESPECT!

antonch

antonch

Your database in numbers

Πρωινή συζήτηση με συνάδελφο η οποία έφτασε να αξιολογούμε βάσεις και να μετράμε αντικείμενα σε αυτές. Κάποια στιγμή γράφω το παρακάτω query για να δω ανά object type τι πλήθος αντικειμένων έχω σε αυτό και ο συνάδελφος εντυπωσιάστηκε. Αν ποτέ το χρειαστείτε είναι το παρακάτω: περισσότερα

antonch

antonch

XML Argument Protocols for SQL 2005 Stored Procedures

Επειδή είμαι μεγάλος τεμπέλης αλλά και επειδή θέλω να τελειώνω γρήγορα με τις τυχόν αλλαγές που θα προκείψουν πάντα έφτιαχνα stored procedures με "δυναμικές" παραμέτρους Τώρα με το SQL Server 2005 τα πράγματα είναι αρκετά καλύτερα εξαιτίας 2 χαρακτηριστικών 1. το νέο xml data type 2. τον "integrated" XML Parser Ψάχνοντας από εδώ και από εκεί βρήκα αυτό, το οποίο είναι αρκετά ενδιαφέρον για να το δείτε και πιστεύω ότι αξίζει τον κόπo (PDF)

antonch

antonch

Writing T-SQL using formatting standards, code layout and beautification

Σαν παλαιός developer έχω νιώσει αρκετά καλά στο πετσί μου ότι ο όμορφα γραμμένος κώδικας όσο χάλια και αν είναι πάντα βοηθάει στην ανάγνωση του με αποτέλεσμα να εξυπηρετεί αρκετά τόσο στο debugging αυτού όσο και στο refactoring και extension. Αρκετές φορές ακόμα έχω δεχθεί ερώτηση για αυτό τόσο στον χώρο εργασίας μου όσο και κατά την διάρκεια των σεμιναρίων που κάνω. Αν και βαθιά πιστεύω ότι αυτό είναι κάτι το οποίο είναι θέμα που πρέπει να ορισθεί σε επίπεδο προσωπικό και ομάδας εργασίας εντ

antonch

antonch

Writing a Query: is an Art? Is Knowledge? Is Experience? Is Skill? Or is nothing of the above?

Εισαγωγή Ξεκινώντας να γράψω το post αυτό ο προσανατολισμός μου ήταν καθαρά τεχνικός στην πορεία όμως άρχισε να μου αρέσει η ιδέα να πάρει την μορφή αυτή. Μου βγήκε αυθόρμητα γιατί πέρα από το τεχνικό του μέρος προσπαθώ να σκιαγραφήσω το άνθρωπο που έρχεται να γράψει ένα query για να καλύψει τις ανάγκες που αντιμετωπίζει στην καθημερινότητα του. Πριν λίγες μέρες μου ήρθε ένα ερώτημα από ένα συνάδελφο που ζήταγε να αντλήσει μια πληροφορία από ένα πίνακα με πολλές χιλιάδες έγγραφές. Βασικά αυ

antonch

antonch

Why you must terminate your statements with semicolon (;) (Tip)

Αφορμή για αυτό το post ήταν δύο γεγονότα τα οποία μου συνέβησαν το τελευταίο διάστημα. Το ένα ήταν μια «διαμάχη» με έναν συνάδελφο σχετικά με το γεγονός ότι πλέον δεν υποστηρίζεται πλέον στον SQL Server 2012 η sp_dboption, και το άλλο είναι ένα προσωπικό μήνυμα που έλαβα από κάποιον άλλο συνάδελφο σχετικά με το αν θα πρέπει να χρησιμοποιείται το semicolon στο τέλος των εντολών της T-SQL. Δεν ξέρω αν το γνωρίζεται αλλά σε κάθε έκδοση του SQL Server που βγάζει η Microsoft μέσα στα books o

antonch

antonch

Why TRUNCATE_LOG discontinued (Answer to Mr. Kladakis)

Στο 18ο event μας που είχα την ομιλία μου η συζήτηση μας έφερε να μιλήσουμε για το ότι ευτυχώς πλέον δεν υποστηρίζεται η χρήση της BACKUP LOG dbname> WITH TRUNCATE_ONLY. Ο φίλος μου, συναγωνιστής μου, Αθανάσιος Κλαδάκης είχε την εύλογη απορία γιατί έγινε αυτό. Είπαμε κάποια πράγματα αλλά επειδή ο χρόνος ήταν περιορισμένος διότι περίμεναν οι μπύρες και η πίτα-πίτσα δεν έμεινα ικανοποιημένος με την απάντηση που έδωσα. Έτσι επανέρχομαι στο θέμα. Ο Νάσος είπε ότι σε όσους πελάτες του βλέπει

antonch

antonch

Why must be avoided to Installing SQL Server 2012 on Domain Controller

Καλημέρα και καλό μήνα. Σε αυτό το σύντομο post θα ήθελα να επισημάνω τα εξής: Παρόλο που μπορούμε να στήσουμε τον SQL Server 2012 σε Domain Controller αυτό δεν συνίσταται από κανέναν. περισσότερα

antonch

antonch

Why Max Record Length is 8060 bytes

Σήμερα ένας αγαπητός φίλος και συνάδελφος μου έκανε μια ερώτηση. Η στιγμή που μου την έκανε ήταν δύσκολη και δεν είχα την άνεση να του την απαντήσω. Του υποσχέθηκα όμως ότι θα το κάνω. Έτσι αυτό το Post είναι αφιερωμένο εξαιρετικά στο φίλο και συνάδελφο του οποίου η ερώτηση ήταν "Αντώνη διαβάζω μέσα από το blog σου ότι το μέγιστο record length που μπορώ να έχω μέσα σε μια σελίδα και κατά συνέπεια μέσα σε κάθε πίνακα είναι 8060 bytes. Όμως αυτό δεν μου βγαίνει με τα μαθηματικά. Διότι όπως λες

antonch

antonch

Why I love Columnstore Indexes and I DON’T care about their limitations

Όταν είσαι διψασμένος το μόνο που θέλεις είναι να πιεις ένα ποτήρι νερό για να σβήσεις την δίψα σου. Την στιγμή αυτή δεν κοιτάς αν το συγκεκριμένο ποτήρι με νερό είναι παγωμένο ή δροσερό. Θέλεις να το πιεις γιατί αλλιώς σβήνεις. Έτσι όταν έχεις εκατομμύρια εγγραφές που θέλεις να τις διαβάσεις για να εξάγεις κάποιο αποτέλεσμα θέλεις κάτι που να σου δίνει την δυνατότητα να το κάνεις γρήγορα. Αυτό είναι ο εφιάλτης κάθε DBA /DB DEV. Καημός όλων μας είναι να επεξεργαζόμαστε μεγάλο όγκο πληροφορία

antonch

antonch

Why & How to optimize SQL Server for performance from design to query

Πρόσφατα έκανα μια παρουσίαση με το παραπάνω θέμα για το dotNetZone. Επειδή το θεωρω σημαντικό και επειδή τα παιδιά εκεί την έχουν μαγνητοσκοπήσει σας την δίνω και σε εσάς. https://www323.livemeeting.com/cc/usergroups/view?id=dnz34 και η παρουσίαση μου είναι στο http://cid-4745d5449dec653a.skydrive.live.com/self.aspx/dnzPresentations/Why%20%5E0%20How%20to%20optimize%20SQL%20Server%20for%20performance%20from%20design%20to%20query.pdf

antonch

antonch

Where stored the last checkpoint operation info

Στο μάθημα της προηγούμενης εβδομάδας δέχθηκα μια ερώτηση από ένα πολύ καλό φίλο και συνάδελφο (καλημέρα Θεόδωρε) μια αρκετά ενδιαφέρουσα ερώτηση που αφορούσε το που αποθηκεύεται η πληροφορία της διαδικασίας του checkpoint σε μια database. Επειδή η απάντηση μου τον ξάφνιασε λίγο σε αυτό το post αρχικά θα την μοιραστώ μαζί σας και θα την εξηγήσω. http://www.sqlschool.gr/blog/where-stored-the-last-checkpoint-operation-info-1010.aspx

antonch

antonch

×
×
  • Create New...