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

About this blog

News about Microsoft SQL Server and other databases...

Entries in this blog

Estimate Database Compression Stored Procedure (sp_estimate_db_compression)

Τις τελευταίες ημέρες για ένα περίεργο λόγο συνάντησα αρκετές φορές την ανάγκη να πρέπει να εκτιμηθεί η δυνατότητα να γίνει compress μια database. Για το λόγο αυτό αποφάσισα να φτιάξω μια stored procedure που να κάνει όλα όσα ήθελα να γίνονται με την εκτέλεση της. Μετά από μερικές μέρες δουλειάς και αρκετές αλλαγές πάνω σε αυτή το τελικό αποτέλεσμα μπορείτε να το βρείτε εδώ. Όμως πριν αρχίσετε να την χρησιμοποιείται νομίζω ότι είναι σκόπιμο να διαβάσετε το documentation αυτής και τις δυνατότη

antonch

antonch

Instructor-Led Training Now Available for SQL Server 2012 Are you ready?

Αν ψάχνετε να εκπαιδευτείτε στον SQL Server 2012 τότε μην περιμένετε άλλο πλέον έχουν ήδη βγει τα σεμινάρια για αυτόν και είμαι όλος χαρά να τα διδάξω και να σας πω τι έχω δει στο SQL Server 2012 τα τελευταία 2 χρόνια που από beta ασχολούμαι μαζί του Ποια είναι όμως αυτά τα σεμινάρια και ποίες εξετάσεις αντιστοιχούν σε αυτά: περισσότερα  

antonch

antonch

Another Example Why you must avoid Implicit Conversions in T-SQL

Εισαγωγή Αν και δεν είμαι αρκετά σίγουρος ότι όλοι έχουν καταλάβει ότι θα πρέπει να αποφεύγουν όπως ο διάολος το λιβάνι τα implicit conversions εντούτοις αυτό είναι κάτι γνωστό και πηγή δεινών αν αυτό γίνεται στην T-SQL. Υπάρχουν αρκετά άρθρα που το αναφέρουν αυτό και με αυτό το post θα συμπληρώσω και εγώ ακόμα ένα παράδειγμα με σκοπό μήπως και κάποιοι συνετιστούν και σταματήσουν να το κάνουν. Αυτό το post αποφάσισα να το γράψω μετά από ένα πραγματικό γεγονός που έγινε σε πραγματικό περιβάλλον

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

Using Window Functions in SQL Server 2012

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

antonch

antonch

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

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

antonch

antonch

Error 1205 or a deadlock occurred, how to deal with it?

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

antonch

antonch

Setting Network Package Size server option for best performance

Είναι γνωστό ότι οι λεπτομέρειες κάνουν τον πρωταθλητή και σε αυτό δεν νομίζω ότι έχει κάνεις αντίρρηση. Ένα tip το οποίο μπορώ να δώσω σήμερα για τον SQL Server μπορεί να είναι μια μικρή λεπτομέρεια που όμως μπορεί να εξακοντίσει το performance του SQL Server στα ουράνια. Ένα από τα advanced options του SQL Server είναι το Network Packet Size το οποίο by default είναι στα 4096 bytes. Εάν έχω ένα instance που έχει μεγάλο όγκο από bulk operations ή μεταφέρει μεγάλο όγκο δεδομένων, και αν υπ

antonch

antonch

Restore Page Dialog in SSMS - New feature in SQL Server 2012

Μιας και με το χθεσινό μου post είδαμε κάποια νέα καλούδια του SQL Server 2012, λέω και σήμερα να συνεχίσω σε αυτή την κατηγορία με αυτό το post. Εισαγωγή Από την έκδοση του SQL Server 2005 έχουμε την δυνατότητα να μπορούμε να κάνουμε restore συγκεκριμένες σελίδες σε μια database όταν αυτή έχει χαρακτηριστεί σαν suspect ή έχουμε λάθη όπως 823, 824. Μέχρι τώρα κάτι τέτοιο ήταν εφικτό να γίνει κάνοντας page(s) restore με την RESTORE (T-SQL command). Προσωπικά προτιμώ τα commands από το UI κ

antonch

antonch

New SQL Server 2012 dynamic views to get instance information

Αν και μπορούμε να δούμε πολλά πράγματα μέσα από το SQL Server Management Studio, εντούτοις αρκετές φορές χρειάζεται να δούμε αρκετά παράθυρα για να σχηματίσουμε την εικόνα που θέλουμε. Φυσικά για όσους είναι ανυπόμονοι και δεν έχουν θέμα να γράφουν ένα απλό SELECT υπάρχουν λύσεις που λύνουν τα χέρια. Από την έκδοση του SQL Server 2005 που έχουν κάνει την εμφάνιση τους όλο και περισσότεροι εγκαταλείπουν τον γραφικό περιβάλλον και ασχολούνται μαζί τους καθώς η πληροφορίες που δίνουν είναι το κ

antonch

antonch

SSIS Performance Visualization

Στο τελευταίο μου post ασχολήθηκα με το πώς μπορώ να κάνω optimize ένα Data Flow task.   Μέσα στο άρθρο αυτό αναφέρθηκα ότι μπορώ και πρέπει για να κάνω optimize είτε το συγκεκριμένο task είτε ολόκληρο το package με την χρήση των εργαλείων που έχω στα χέρια μου όπως event logging, performance counters κλπ.   Με τα εργαλεία αυτά μπορώ να κάνω ότι θέλω, όμως η φύση του ανθρώπου δεν ικανοποιείτε εύκολα και αναζητεί περισσότερα. Αυτό το κενό αρκετές φορές έρχεται να το καλύψουν εφαρμογές τρίτων

antonch

antonch

Optimizing SSIS Data Flow task for performance in SQL Server 2012

Σήμερα λέω να συνεχίσουμε την σειρά των BI post με ένα πρακτικό θέμα. Το θέμα αυτό αφορά την βασική εργασία που ένα SSIS package περιέχει στο 99,9999% των υλοποιήσεων του και δεν είναι άλλη από το Data Flow Task. Εισαγωγή Για όσους έρχονται για πρώτη φορά σε επαφή με το σπορ αυτό, απλά να πω ότι το συγκεκριμένο task μας δίνει την δυνατότητα να υλοποιήσουμε μια εργασία που διαβάζει από κάποια πηγή (source data source) και μετατρέπει τα δεδομένα αυτά σε μορφή τέτοια που να είναι συμβατή από τ

antonch

antonch

Auditing Enhancements in SQL Server 2012

Επειδή μερικά πράγματα πρέπει να τα κλείνεις γρήγορα έτσι σήμερα με αυτό το post θα καλύψω μια από τις υποσχέσεις που έδωσα στο τελευταίο μου post και θα μιλήσω σε αυτό για τις βελτιώσεις που έχουμε για auditing στο SQL Server 2012. Αρκετά σημαντικό για όσους είναι υποχρεωμένοι από την φύση της δουλειάς τους να έχουν κάτι τέτοιο αλλά και όχι μόνο για αυτούς καθώς ουκ εστίν ο αριθμός των περιπτώσεων που όλοι μας κάτι θέλουμε να έχουμε σε auditing για καλύψουμε την πλάτη μας αποδεικνύοντας, ότα

antonch

antonch

Security Enhancements in SQL Server 2012

Ας κάνουμε μία αποτοξίνωση από τα BI post και ας πάμε να δούμε τι καλά έχουν έρθει στην ασφάλεια του SQL Server 2012. Αν και ο SQL Server εδώ και πολλά χρόνια είναι ασφαλής σε σχέση με τον ανταγωνισμό εντούτοις δεν υπάρχει εφησυχασμός στο product group καθώς το θέμα ασφάλεια είναι μια ατέρμονη πάλη με τους κακούς. Ας πάρουμε με την σειρά τα καλούδια που μας ήρθαν με τον SQL Server 2012 και αφορούν την ασφάλεια. περισσότερα

antonch

antonch

Considerations on Data Loading Phase during ETL process

Έχουμε φτάσει στο σημείο που θα πρέπει να γεμίσουμε με δεδομένα τους πίνακες που έχουμε στο DW. Και σε αυτή την φάση υπάρχουν θέματα στα οποία θα πρέπει να πάρω αποφάσεις για αυτά. Surrogate Keys Η πρώτη βασική απόφαση είναι για το πώς θα δημιουργώ τα surrogate keys στους πίνακες που έχω τέτοια όπως πχ στους dimension tables. Υπάρχουν δύο βασικές «σχολές». Η μία λέει ότι αφήνω την βάση να δίνει τιμή σε αυτό με την χρήση identity columns. H συγκεκριμένη «σχολή» έχει σαν πλεονεκτήματα ότι δεν

antonch

antonch

Considerations on Data Transformation Phase during ETL process

Σε συνέχεια των προηγούμενων μου post που σχετίζονται με την διαδικασία ETL με την οποία μεταφέρονται τα δεδομένα από την πηγή στο DW στα οποία είδαμε τι πρέπει να προσέξουμε στην φάση extract και στην χρήση της staging area, έφτασε η στιγμή να μιλήσουμε για την φάση του data transformation. Η φάση αυτή είναι ίσως η δυσκολότερη σε σχέση με τις άλλες και μάλιστα απαιτεί και περισσότερο χρόνο ανάπτυξης. Σημαντικό αξίωμα (όπως λέμε στα μαθηματικά) για την υλοποίηση της είναι η κατανόηση με σαφήνει

antonch

antonch

Considerations on Data Staging when used during ETL process

Σε αρκετές περιπτώσεις κατά την εκτέλεση ενός ETL process με το οποίο μεταφέρουμε τα δεδομένα μια πηγής στο DW και ειδικότερα κατά την στιγμή που κάνουμε extract data from data sources και πριν την επόμενη φάση του data transformation χρειάζεται σε αρκετές περιπτώσεις να αποθηκεύσουμε αυτά τα δεδομένα σε μια staging area είτε προσωρινά είτε μόνιμα. see more

antonch

antonch

SQL Server 2012 is Generally Available!

Microsoft is excited to announce the general availability (GA) of SQL Server 2012 for purchase and download. SQL Server 2012 has already been deployed for production use by hundreds of global, industry-leading customers, such as Volvo Car Corp., Revlon, the HSN, Klout and LG Chemical. SQL Server 2012 delivers a powerful new set of capabilities for mission-critical workloads, business intelligence and hybrid IT across traditional datacenters and public and private clouds. This includes: SQL

antonch

antonch

Considerations of data extraction from a data source during ETL process

Εισαγωγή Έχοντας σχεδιάσει το DW και αφού έχουμε κάνει data analysis and profiling είμαστε πλέον στο σημείο που πρέπει να δημιουργήσουμε την διαδικασία που θα μεταφέρει τα δεδομένα από την πηγή (data source) στο DW. Μια τέτοια διαδικασία είναι γνωστή σαν ETL Process και περιλαμβάνει τα στάδια του Extract data from data source Transform data Load data to destination (data warehouse tables) Μια τέτοια διαδικασία θα πρέπει να σχεδιαστεί έτσι ώστε να έχει την μέγιστη απόδοση (p

antonch

antonch

Design, Implementing and Discovery Data Quality before importing them on DW using SSIS Data Profiling Task.

Αφού έχουμε στύψει αρκετά το μυαλό μας μέχρι τώρα και έχουμε καταφέρει να σχεδιάσουμε και να υλοποιήσουμε το DW μας και το αίσθημα της ικανοποίησης μας έχει κυριεύσει, θα πρέπει να κάνουμε το επόμενο μεγάλο βήμα πίστης που δεν είναι άλλο από το γεμίσουμε αυτό με δεδομένα. Είμαστε στο σημείο που πρέπει να σχεδιάσουμε και να υλοποιήσουμε μια ή περισσότερες διαδικασίες ETL (Extract-Transform-Load). Όλες αυτές οι διαδικασίες θα πρέπει να αποτελέσουν ένα Data Integration System το οποίο θα πρέπει ν

antonch

antonch

Data Warehouse Physical Design Guide

Αφού έχουμε σχεδιάσει λογικά και σύμφωνα με τις επιχειρησιακές απαιτήσεις το DW μας, φτάνει η στιγμή που πρέπει να το κάνουμε πραγματικότητα υλοποιώντας το φυσικά. Όπως έχω αναφέρει σε όλα τα προηγούμενα post αυτής της σειράς θα πρέπει φυσικά να υλοποιήσω το DW λαμβάνοντας σοβαρά υπόψη μου τους εξής παράγοντες που δεν είναι άλλοι από τους performance, scalability, manageability. Με αυτούς σαν πυξίδα θα πρέπει να Περισσότερα

antonch

antonch

Designing and Implementing Time Dimensions

Είναι σπάνιο το φαινόμενο σε μια λύση BI και σε ένα DW να μην ζητείται ανάλυση και reporting των δεδομένων με βάση κάποια χρονική περίοδο. Το σύνηθες είναι να έχω τουλάχιστον μία διάσταση χρόνου. Για το λόγο αυτό σε αυτό το post θα δούμε πως μπορούμε να σχεδιάσουμε και υλοποιήσουμε σε μια BI λύση μια τέτοια διάσταση. Για αρχή θα ξεκινήσουμε να δούμε την λογική με την οποία θα σχεδιάσουμε ένα time dimension. Περισσότερα

antonch

antonch

Data Warehouse Logical Design, How To.

Συνεχίζοντας την σειρά των post που αφορούν την υλοποίηση ενός DW για την κάλυψη των αναγκών μιας BI λύσης θα ασχοληθούμε σε αυτό με τον logical design του DW. Όπως έχω ήδη αναφέρει σε παλαιότερα post ένα DW είναι ο θεμέλιος λίθος καθώς σε αυτό γίνονται τα ερωτήματα που θα δώσουν τις απαντήσεις σε αυτούς που πρέπει να λάβουν αποφάσεις. Έτσι αυτό θα πρέπει σαν Νούμερο Ένα Απαίτηση να είναι έτσι φτιαγμένο ώστε να υποστηρίζει γρήγορο διάβασμα (optimized for data read operations). Ανάμεσα στις δ

antonch

antonch

Some thoughts if you want to build a Data Warehouse

Μιας και ξεκίνησα με το τελευταίο μου post να ασχολούμαι με το Data Warehouse (DW) λέω να το συνεχίσω και να κάνω μερικά ακόμα βήματα. Το πρόβλημα Σήμερα για να τρέξεις αποτελεσματικά μια δουλειά είναι μια μεγάλη πρόκληση καθώς αυτή μεγαλώνει ή μειώνεται ανάλογα με τις επιρροές και τις τάσεις που δέχεται από την αγορά ή την παγκόσμια οικονομία. Για να μπορέσεις να επιβιώσεις σε κάθε περίπτωση απαιτείται από εσένα ή τον οργανισμό να υιοθετήσει μια πολιτική η οποία να δέχεται αλλαγές εύκολα,

antonch

antonch

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

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

antonch

antonch

×
×
  • Create New...