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

About this blog

News about Microsoft SQL Server and other databases...

Entries in this blog

When dynamic SQL might be the BEST way!

Posted @ 2/20/2011 9:31 PM By Kimberly L. Tripp Posted in SQL Server Magazine Πριν μερικές μέρες είχα δημοσιεύσει ένα άρθρο “Dynamic SQL ή μήπως μπορώ και αλλιώς;”. Σήμερα διάβασα το παρακάτω άρθρο της Kimberly Trip το οποίο καλύπτει μια άλλη πτυχή την οποία δεν είχα καλύψει στο δικό μου. Και τα δύο άρθρα είναι σωστά και έρχονται να επιβεβαιώσουν ότι τίποτα μα τίποτα δεν είναι defacto στον SQL Server. Στην ουσία για μένα είναι ακόμα μια επιβεβαίωση της γνωστής απάντησης που σε αρκετές πε

antonch

antonch

What you must know about official training and certification in SQL Server 2012 and 2014

Εδώ και αρκετό καιρό έχω γίνει αποδέκτης αρκετών ερωτήσεων σχετικά με τα σεμινάρια της Microsoft για τον SQL Server και συγκεκριμένα για τις εκδόσεις του 2012 & 2014. Οι ερωτήσεις αφορούν θέματα περιεχομένου και πιστοποίησης.   http://www.sqlschool.gr/blog/what-you-must-know-about-official-training-and-certification-in-sql-server-2012-and-2014-1012.aspx

antonch

antonch

What is the buffer cache usage for each database in a SQL Server instance?

Η Ερώτηση Αυτές τις ημέρες κατά την διάρκεια ενός σεμιναρίου που κάνω και αφορά το administration του SQL Server ένα συνάδελφος είχε μια ερώτηση και αυτή ήταν «Πώς μπορώ να δω το χώρο που καταναλώνουν από την buffer cache οι βάσεις που έχω σε ένα SQL Server instance;» Μια εύκολη στην απάντηση ερώτηση αλλά πάντα μου αρέσει να ζητώ από αυτόν που ρωτάει το λόγο για τον οποίο θέλει αυτό που ζητάει καθώς θέλω να αποκλείσω την πιθανότητα να ζητάει άλλα και να θέλει άλλα. Σε αυτή την περίπτωση ο σ

antonch

antonch

What is Semi join and Anti join?

Στα μάθηματα μου συχνά αναφέρω (ιδιαίτερα όμως όταν κάνω μάθημα σχετικό με τα joins) ότι εκτός από τα γνωστά inner, full, cross, self και left / right outer joins υπάρχουν και τα semi joins και anti-joins. Η πρώτη αντίδραση από το ακροατήριο μου είναι αυτή που μπορεί να έχει κάποιος όταν το χτυπάει το ρεύμα. Το καταλαβαίνω αμέσως από το γεγονός ότι ξαφνικά αποκτώ το 110% της προσοχής τους. Αυτό συμβαίνει πάντα για αυτό και γράφτηκε το συγκεκριμένο post. Αρχικά θα πω ότι είμαι σίγουρος ότι όλ

antonch

antonch

What are the largest SQL projects in the world?

Πρόσφατα έπεσα μούρη με μούρη σε μια παρουσίαση του Kevin Cox που είχε το παραπάνω θέμα. Επειδή είναι αρκετά ενδιαφέρουσα και ρίχνει αρκετούς μύθους αποφάσισα να την μοιραστώ μαζί σας. Ας ξεκινήσουμε με μερικά στατιστικά Category Metric Largest single database 70 ΤΒ Largest table 20 ΤΒ Biggest total data 1 application 88 PB Highest database transactions per second 1 db (from

antonch

antonch

What a DBA must know for query performance in SQL Server

Θα επανέλθω στο συγκεκριμένο θέμα μετά από απαίτηση συναδέλφων που είδαν την παρουσίαση που έχω κάνει για το 34ο dotNetZone Event και την οποία θα βρείτε εδώ. Υπήρχαν κάποιες απορίες και ερωτήσεις που φιλοδοξώ να τις απαντήσω με το παρόν post μου. Ας πάρουμε λοιπόν τα πράγματα από την αρχή μιας και διακαείς πόθος όλων μας είναι να έχουμε την τέλεια απόδοση στα queries μας δηλαδή όλα να εκτελούνται σε χρόνο μηδέν και να επιστρέφουν δισεκατομμύρια εγγραφές (καλά πλάκα κάνω ). Όμως για όλα αυτά υ

antonch

antonch

Webcast - Identity Property Behavior Changes in SQL Server 2012 and above

Από το SQL Server 2012 και πάνω έχει αλλάξει η συμπεριφορά του Identity property. Σε αυτό το web cast δείχνω την νέα και τι αυτή φέρνει σαν επιπτώσεις στην καθημερινή μας εργασία   http://www.sqlschool.gr/webcast/11/content.aspx

antonch

antonch

Using Window Functions in SQL Server 2012

Εισαγωγή Πάρα πολλά νέα χαρακτηριστικά έχουν μπει στον SQL Server 2012. Όπως έχω πει και σε προηγούμενα post αλλά και στην πρόσφατη παρουσίαση μου στο 39o Autoexec event κάποια είναι δημοφιλή και ακούγονται συχνά όπως τα AlwaysOn Availability Groups, Auditing Enhancements, Security Enhancements κλπ. Δικαίως και είναι δημοφιλή. Υπάρχουν όμως τόσα άλλα που δεν ακούγονται, κακώς κατά την γνώμη μου. Σε μερικά μάλιστα δεν έχει δοθεί η δέουσα προσοχή. Ομολογώ ότι και εγώ σε κάποια δεν είχα δώσει

antonch

antonch

Using T-SQL commands to read SQL log files

Ένας DBA στην καθημερινότητα του χρειάζεται να διαβάζει αρκετές φορές τα logs που ο SQL Server παράγει είτε για το ίδιο το SQL Server service είτε για το SQL Server Agent service. Φυσικά και υπάρχει γραφικό περιβάλλον που μπορεί εύκολα κανείς να κάνει αυτό. Υπάρχει όμως και μη γραφικός τρόπος που διευκολύνει περισσότερο, κατά την γνώμη μου, στην ανάγνωση των logs ιδιαίτερα όταν αυτά έχουν μεγάλο όγκο από καταχωρήσεις.   http://www.sqlschool.gr/blog/using-t-sql-commands-to-read-sql-log-files-1

antonch

antonch

Using Instant File Initialization with SQL Server

Αρκετοί, ιδιαίτερα όσοι είναι μερακλήδες και κάνουν estimated capacity plan πριν δημιουργήσουν την βάση τους παραπονούνται ότι η δημιουργία μιας μεγάλης βάσης παίρνει αρκετό χρόνο. Το web cast αυτό δείχνει την λύση. Για να το δείτε πατήστε εδώ /*antonch*/

antonch

antonch

Using CONTEXT_INFO function–Another useful usage scenario

Πρόλογος Αυτό που με εξιτάρει περισσότερο στην δουλειά μου και στην ενασχόληση μου με τον SQL Server είναι να βρίσκω λύση σε προβλήματα, αλλά και σε ποιον δεν αρέσει αυτό; Το Πρόβλημα Σήμερα ένας συνάδελφος στην εταιρία που εργάζομαι έρχεται με το εξής ερώτημα-πρόβλημα «Έχω ένα πίνακα και έχω φτιάξει μια stored procedure η οποία περιέχει ένα business logic αρκετά σημαντικό και περίπλοκο με το οποίο κάνω insert στον συγκεκριμένο πίνακα. Θέλω να κάνω insert στο συγκεκριμένο πίνακα μόνο α

antonch

antonch

Upgrading a previous version instance of SQL Server to SQL Server 2012

Όλο και περισσότεροι πλέον ενδιαφέρονται να μεταβούν στην έκδοση 2012 του SQL Server. Έχω αρκετές πλέον ερωτήσεις για το θέμα αυτό και νομίζω ότι πλέον είναι σκόπιμο να γράψω κάποιες γραμμές. more

antonch

antonch

Uniqueidentifier data type as table primary key or clustered index

Περιμένοντας να έρθουν συγγενείς και φίλοι σπίτι να μου ευχηθούν για την γιορτή μου, σκεφτόμουν πώς να ευχαριστήσω όλους που σήμερα είτε με email είτε με μηνύματα στο facebook ή στο messenger μου ευχήθηκαν χρόνια πολλά. Στο μυαλό μου ήρθε κάτι το οποίο το είδα πάλι να χρησιμοποιείται αλλά όχι και τόσο καλά το αντίθετο θα έλεγα. Aυτό δεν είναι από το sql server data type uniqueidentifier σαν primary key σε table. Ας δούμε λοιπόν τα πράγματα με την σειρά για να καταλάβουμε το πρόβλημα Φτιάχν

antonch

antonch

TPC-C vs TPC-E

Πριν μερικές μέρες σε μια συζήτηση που είχα με ένα καλό φίλο και συνάδελφο στο Messenger μου ανάφερε ότι στο www.tpc.org στα TPC-C results δεν υπάρχει καμία αναφορά στον SQL Server. Ομολογώ ότι αυτό με έκανε να ξαφνιαστώ, αν και βέβαια είχα πάνω από δύο χρόνια να μπω στο συγκεκριμένο site ώστε να δω τι ακριβώς γίνεται, μιας και πίστευα ότι θα υπήρχε εκεί ο SQL Server, μπορεί να μην ήταν στην πρώτη θέση αλλά τουλάχιστον μέσα στην πρώτη πεντάδα. Η έκπληξη μου όπως καταλαβαίνεται ήταν μεγάλη, π

antonch

antonch

TOD: Using Hotmail Account with SQL Server DB Mail

Για όσους θέλουν να χρησιμοποιήσουν ένα hotmail account σαν SMTP account για το SQL Server Database Mail θα πρέπει να κάνουν τις ρυθμίσεις σε αυτό όπως φαίνονται στην παρακάτω εικόνα ΠΡΟΣΟΧΗ ΠΡΟΣΟΧΗ ΠΡΟΣΟΧΗ ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΣΥΠΛΗΡΩΘΟΥΝ ΤΑ ΕΞΗΣ ΠΕΔΙΑ ΤΗΣ ΠΑΡΑΠΑΝΩ ΦΟΡΜΑΣ ΚΑΘΩΣ ΑΝ ΑΥΤΟ ΓΙΝΕΙ ΔΕΝ ΘΑ ΜΠΟΡΕΙΤΕ ΝΑ ΣΤΕΙΛΕΤΕ EMAIL. Description Display Name Reply e-mail

antonch

antonch

TOD: Query Evaluation

Ένα query δεν το κρίνουμε αν είναι καλό ή κακό από το πόσο μεγάλο ή περίπλοκο είναι. Το κρίνουμε από το πόσο αποτελεσματικά κάνει τη δουλειά για την οποία έχει γραφτεί όπερ αν έχει το ιδανικό execution plan σε σχέση με το περιβάλλον που τρέχει. Για τους φίλους μου τους developers που όταν βλέπουν ένα query πάνω από 2 γραμμές το θεωρούν άσχημο.

antonch

antonch

TOD: Ever lost your Report Data window when working on BIDS?

Αν ποτέ κατα την διάρκεια που σχεδιάζετε ένα report μέσα στο BIDS χαθεί ξαφνικά το Report Data window το οποίο εμφανίζει τα datasets τα οποία χρησιμοποιούνται στο report που φτιάχνετε μην σας πιάσει πανικός, αλλα ούτε να ψάξετε στα menus. Απλά πατήστε Ctrl+Alt+D

antonch

antonch

TOD: Enable Aero Theme on Windows Server 2008 R2 / Windows 7 when open them with RDP

Είναι γνωστή η τρέλλα μου να έχω το μέγιστο δυνατό user experience στα virtual machines μου. Περίμενα με αγωνία το RemoteFX το οποίο είναι άψογο. Αν παρόλα αυτά δεν έχετε το ReportFX να ένας απλός τρόπος να έχετε Aero σε αυτές όταν όμως συνδέεστε με Remote Desktop Βάλετε το Desktop Experience feature από τον Server Manager. Ενεργοποιήστε το themes service σε autostart, και ξεκινήστε το. Ενεργοποιήστε το “Allow desktop composition for remote desktop sessions” policy από το Edit Group

antonch

antonch

TOD : You are not going to say “F***, I ran the test script in the production server!” again

Σαν DBA και DB Developer έχω πολλούς servers/instances του SQL Server τα οποία διαχειρίζομαι. Φαντάζομαι ότι και εσείς θα έχετε αρκετά είναι production είτε development instances. Αρκετές φορές πάνω στην βιασύνη ίσως έχετε τρέξει κάποιο script στο production ενώ δεν θα έπρεπε. Συνήθως αυτό γίνεται διότι έχετε ανοίξει ένα query window το οποίο είναι συνδεδεμένο στο instance που δεν θα έπρεπε να είναι. Αυτό είναι ένα θέμα. Θέλω να ξέρω κάθε φορά σε ποιο instance είμαι συνδεδεμένος. Εύκολα αυτό

antonch

antonch

To build a DW with Kimball's or Inmon's methodology?

Εισαγωγή Πριν λίγες μέρες η Microsoft Hellas διοργάνωσε την ημερίδα με τίτλο "Microsoft ΒΙ Roadshow 2012". Δυστυχώς δεν μπόρεσα να την παρακολουθήσω. Όμως είδα τα slide decks των παρουσιάσεων και έχω την εντύπωση ότι ήταν πολύ καλή. Από τις παρουσιάσεις υπήρξε κάτι το οποίο μου άρεσε αρκετά. Αυτό ήταν στην παρουσίαση του Νίκου Μακρή και ειδικά στο σημείο που έκανε την αντιπαράθεση μεταξύ του Inmon και Kimball. Είμαι σίγουρος ότι ο Νίκος θα είπε πολλά και θα έχει καλύψει το θέμα άριστα και λ

antonch

antonch

Tip of the Day#2: What CHECKPOINT operation does?

Η διαδικασία αυτή όταν  γίνεται μεταφέρει τις χαρακτηρισμένες ως dirty pages από την μνήμη (buffer cache) στο δίσκο (data file(s)) και αλλάζει στο header τους το status από dirty σε clean. Δεν αδείαζει-καθαρίζει την buffer cache από αυτές.

antonch

antonch

Tip of the Day: Πώς ορίζω το μέγεθος της Buffer Cache

Για να ορίσω το πόσο θα είναι ο χώρος που θα καταλαμβάνει η buffer cache αρκεί να ορίσω το Min και Μax Server Memory. Αυτά τα settings ορίζουν μόνο την buffer cache και όχι όλη την μνήμη που θα καταλαμβάνει ο SQL Server.

antonch

antonch

Tip of the Day: When Buffer Cache does clean?

Σε τακτά χρονικά διαστήματα ή σε περιπτώσεις που υπάρχει στέρηση σε μνήμη, ένα thread αναλαμβάνει να κάνει τον καθαρισμό της buffer cache από τις σελίδες που δεν έχουν πρόσφατα χρησιμοποιηθεί. Το thread αυτό ονομάζεται Lazywriter και ο τρόπος με τον οποίο αποφασίζει ποιες είναι αυτές που θα φύγουν από την buffer cache είναι και ονομάζεται Least Recently Used (LRU) policy. Least Recently Used policy Στο header της κάθε σελίδας όταν αυτή είναι στη μνήμη αποθηκεύονται πληροφορίες που κρατάνε

antonch

antonch

Tip of the Day: What is a Dirty Page?

Όταν μια σελίδα διαβάζεται από τον δίσκο και μπαίνει στην buffer cache θεωρείται ότι είναι μια Clean Page. Όταν όμως κάνω ένα transaction το οποίο την επηρεάζει (πάντα στην μνήμη) αυτή είναι μια Dirty Page (μπαίνει ένα mark στον header της) καθώς η εικόνα στην μνήμη είναι διαφορετική από αυτή στο δίσκο. Για να δω πόσες dirty pages έχω ανά βάση αρκεί να εκτελέσω το παρακάτω query που χρησιμοποιεί την sys.dm_os_buffer_descriptors SELECT db_name(database_id) AS 'Database',count(page_id) AS 'D

antonch

antonch

Tip of the Day: What DBCC FREESYSTEMCACHE does?

Καθαρίζει όλα τα μη ενεργά/χρησιμοποιούμενα περιεχόμενα (cache entries) από όλες τις cache. Αν και ο SQL Server ενεργεί προκαταβολικά ώστε να γίνει αυτό, εντούτοις μπορώ χειροκίνητα να το κάνω αυτό εκτελώντας την DBCC FREESYSTEMCACHE ('ALL') Φυσικά το παραπάνω θα πρέπει να το κάνουμε μόνο εφόσον θέλουμε να καθαρίσουμε τα πάντα και φυσικά λαμβάνοντας υπόψη τα Remarks από τα BOL. Καλό είναι να εστιάζουμε την προσοχή μας σε συγκεκριμένο pool και να σβήνουμε αυτό εφόσον έχουμε δει ότι μας δημιο

antonch

antonch

×
×
  • Create New...