Καλώς ορίσατε στο autoexec.gr - Σύνδεση | Εγγραφή | Βοήθεια

Rocking with Knowledge of SQL Server

News about Microsoft SQL Server and other databases...

Νέα

  • follow me on twitterView Antonios Chatzipavlis's profile on LinkedIn

    sqlschool

    logo

    MCT Europe

My Other Blogs

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

Εισαγωγή

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

Πριν λίγες μέρες μου ήρθε ένα ερώτημα από ένα συνάδελφο που ζήταγε να αντλήσει μια πληροφορία από ένα πίνακα με πολλές χιλιάδες έγγραφές. Βασικά αυτό που ζητούσε ήταν απλά πάρει την πληροφορία με οποιοδήποτε τρόπο. Το πρώτο που τον ρώτησα ήταν αν έχει σκοπό αυτό να το κάνει επαναλαμβανόμενα αλλά η απάντηση του δεν ήταν αρκετά σαφής και συνήθως σε τέτοιες περιπτώσεις η εμπειρία έχει δείξει το αυτό θα επαναλαμβάνεται οπότε καλό είναι να βρεθεί μια λύση τέτοια που όταν εκτελείται να είναι γρήγορη και με όσο το δυνατόν την μικρότερη δυνατή κατανάλωση πόρων. Αλήθεια είναι εύκολο να γίνει κάτι τέτοιο; Μήπως είναι προτιμότερο να είναι γρήγορο ώστε να υπάρχει το μέγιστο user experience άσχετα από την κατανάλωση πόρων; Μήπως πρέπει να βρω τον τρόπο αυτό που θα είναι απλός κατανοητός και εύκολα συντηρήσιμος; Μήπως κάτι άλλο; Ποιό είναι αυτό;

Ερωτήματα που οι περισσότεροι DB people (Admins & Devs) κάθε φορά που γράφουν κάτι έχουν στο πίσω μέρος του μυαλού τους. Ερωτήματα που είναι βασανιστικά καθώς το ζητούμενο είναι ένα, όλα θα πρέπει να τρέχουν ιδανικά και να δίνουν τον σωστό αποτέλεσμα. Αλλά για στάσου πως είσαι σίγουρος ότι τους βασανίζουν αυτά τα ερωτήματα; Για να πω την αλήθεια έχω αμφιβολίες.

Ας κάνουμε μερικά δευτερόλεπτα μια παύση και με το χέρι στην καρδιά, τίμια ας δώσουμε μια απάντηση σε όλα αυτά. Μια απάντηση που δεν χρειάζεται να γνωρίζει κανείς άλλος παρά μόνο εμείς. Κρατήστε την απάντηση αυτή χωρίς να κάνετε καμία αυτοκριτική αλλά απλά σαν μια διαπίστωση.

περισσότερα

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

Εισαγωγή

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

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

περισσότερα

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 ή μεταφέρει μεγάλο όγκο δεδομένων, και αν υποστηρίζονται και είναι ενεργοποιημένα τα jumbo frames στην κάρτα του server και στο δίκτυο, και δεν έχω αλλάξει την τιμή σε 8192 τότε κακό του κεφαλιού μου!!!

image

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 καθώς νιώθω καλύτερα, βέβαια αυτό είναι υποκειμενικό και βγαίνει κυρίως από το 25ετές background μου σαν developer.

Παρόλα αυτά όμως το περιβάλλον του SSMS είναι εξαιρετικό και θα ήταν παράληψη μου να αναφέρομαι στις βελτιώσεις που έχουν γίνει σε αυτό.

Μια σημαντική βελτίωση για τους DBA, ιδιαίτερα για αυτούς που δεν είναι αμιγώς DBA αλλά έχουν και άλλα task με τα οποία γεμίζουν την ημέρα τους (part-time DBA) είναι η δυνατότητα να υλοποιήσουν page restore χωρίς να χρειάζονται να γνωρίζουν ούτε που θα βρουν τις προβληματικές σελίδες, ούτε να γνωρίζουν το syntax της RESTORE αλλά και την διαδικασία που πρέπει να ακολουθήσουν.

περισσότερα

New SQL Server 2012 dynamic views to get instance information

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

Από την έκδοση του SQL Server 2005 που έχουν κάνει την εμφάνιση τους όλο και περισσότεροι εγκαταλείπουν τον γραφικό περιβάλλον και ασχολούνται μαζί τους καθώς η πληροφορίες που δίνουν είναι το κάτι άλλο. Ο λόγος γίνεται για τα dynamic views (DMVs). Σε κάθε έκδοση που έχει μέχρι τώρα έρθει όλο και νέες προστίθενται. Σε αυτή την έκδοση του SQL Server 2012 έκαναν την εμφάνιση τους κάποιες που με βοηθάνε να αντλήσω άμεσα πληροφορίες εγκατάστασης για το instance που με ενδιαφέρει.

περισσότερα

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

περισσότερα

Optimizing SSIS Data Flow task for performance in SQL Server 2012

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

Εισαγωγή

Για όσους έρχονται για πρώτη φορά σε επαφή με το σπορ αυτό, απλά να πω ότι το συγκεκριμένο task μας δίνει την δυνατότητα να υλοποιήσουμε μια εργασία που διαβάζει από κάποια πηγή (source data source) και μετατρέπει τα δεδομένα αυτά σε μορφή τέτοια που να είναι συμβατή από τη πηγή που αυτά θα τοποθετηθούν (destination data source). Με άλλα λόγια υλοποιούμε μια Extract Transform Load (ETL) λύση.

Στα προηγούμενα post της σειράς αυτής έχω αναφερθεί σε αρκετά πράγματα τα οποία θα πρέπει να λάβουμε υπόψη στον σχεδιασμό και την υλοποίηση μιας τέτοια λύσης. Σε αυτό όμως θα πάμε ένα βήμα παραπέρα και θα δούμε μερικά properties που το συγκεκριμένο task έχει με τα οποία μπορούμε να «παίξουμε» ώστε να κάνουμε αυτό να εκτελείται καλύτερα με όσο το δυνατό μικρότερη κατανάλωση πόρων.

περισσότερα

Auditing Enhancements in SQL Server 2012

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

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

περισσότερα

Posted: Πέμπτη, 12 Απριλίου 2012 9:08 μμ από το μέλος Antonios Chatzipavlis | 0 σχόλια
Δημοσίευση κάτω από: ,
Security Enhancements in SQL Server 2012

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

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

Ας πάρουμε με την σειρά τα καλούδια που μας ήρθαν με τον SQL Server 2012 και αφορούν την ασφάλεια.

περισσότερα

Considerations on Data Loading Phase during ETL process

Έχουμε φτάσει στο σημείο που θα πρέπει να γεμίσουμε με δεδομένα τους πίνακες που έχουμε στο DW. Και σε αυτή την φάση υπάρχουν θέματα στα οποία θα πρέπει να πάρω αποφάσεις για αυτά.

Surrogate Keys

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

Η μία λέει ότι αφήνω την βάση να δίνει τιμή σε αυτό με την χρήση identity columns. H συγκεκριμένη «σχολή» έχει σαν πλεονεκτήματα ότι

  • δεν δίνει overhead στην διαδικασία ETL καθώς αυτόματα δίνεται τιμή κατά την εισαγωγή νέας έγγραφής από την βάση.
  • μπορείς να ελέγξεις από που θα ξεκινάς και πως θα ανεβαίνεις (seed,increment)
  • μπορώ να έχω concurrency καθώς με την αυτόματη ανάθεση τιμής σε αυτό από την βάση δεν θα έχω duplicate key values

περισσότερα

Considerations on Data Transformation Phase during ETL process

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

Η φάση αυτή είναι ίσως η δυσκολότερη σε σχέση με τις άλλες και μάλιστα απαιτεί και περισσότερο χρόνο ανάπτυξης. Σημαντικό αξίωμα (όπως λέμε στα μαθηματικά) για την υλοποίηση της είναι η κατανόηση με σαφήνεια των απαιτήσεων αλλά και των δεδομένων που...

περισσότερα

Considerations on Data Staging when used during ETL process

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

see more

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 Server AlwaysOn, a new high availability solution delivering increased application availability, lower TCO and ease of use.
  • xVelocity, in-memory technologies significantly boost data warehouse and analytics performance by up to 100x.
  • Power View, a web-based, highly interactive, data visualization and presentation solution designed to enable business users and decision makers to quickly discover meaningful insights from their data.
  • Data integration and management, new and enhanced tools to deliver credible, consistent data to the right users at the right time, including new SQL Server Data Quality Services and enhanced Master Data Services.
  • Enhanced PowerPivot functionalities enable customers to leverage new advanced analytic capabilities and further ease of use while still working within the familiar tools provided by Excel.
  • The new Business Intelligence (BI) Semantic Model provides a single, scalable model for BI applications, from reporting and analysis to dashboards and scorecards.
  • SQL Server Data Tools, a new tool that unifies SQL Server and cloud SQL Azure development for both professional database and application developers.

Customers can download the latest version of SQL Server 2012 here. Also, for a deep dive on all things SQL Server 2012, check out the SQL Server 2012 Virtual Launch Event. All content from the Virtual Launch Event will be available until June 30, 2012. The event features 30+ webcasts from SQL Server 2012 experts in addition to a number of other multimedia features from Microsoft partners.

We are also pleased to announce the release of the second Preview of our Hadoop based service for Windows Azure. We are expanding capacity of this service by up to 4x to accommodate exceptionally high demand. This preview provides an elastic Hadoop service with more reliability through disaster recovery of the Hadoop Distributed File System (HDFS) NameNode, and support for advanced analytics through Hadoop projects like Mahout. In addition, it provides actionable insights to everyone through familiar tools like Office, SharePoint and award winning BI tools like PowerPivot and Power View in SQL Server 2012. This preview also enables customers to enrich their data by connecting to data and intelligence outside their firewalls. Customers interested in signing up for the latest preview should visit http://www.hadooponazure.com

 

Source : http://blogs.technet.com/b/dataplatforminsider/archive/2012/04/02/sql-server-2012-is-generally-available.aspx

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)

Μια τέτοια διαδικασία θα πρέπει να σχεδιαστεί έτσι ώστε να έχει την μέγιστη απόδοση (performance), κλιμάκωση (scalability) και διαχείριση/συντήρηση (manageability) για όλες τις παραπάνω φάσεις ξεχωριστά για την κάθε μία, αλλά και στο σύνολο της σαν διαδικασία.

Σε αυτό το post θα ασχοληθούμε με την φάση του extract data form data source.

Περισσότερα

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

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

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

Περισσότερα

Περισσότερες Δημοσιεύσεις Επόμενη »