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

Rocking with Knowledge for .NET programming

News about .NET programming
Database Data File Special Pages

Διαβάζοντας το τελευταίο άρθρο του Jonathan Kehayias διαπίστωσα ότι έχω πολύ καιρό να γράψω κάτι για τα internals του SQL Server.

Μέσα στο άρθρο αυτό του Jonathan υπάρχουν αναφορές σε κάποια ειδικά pages που υπάρχουν σε κάθε database στον SQL Server. Με αφορμή αυτό αποφάσισα να γράψω το post αυτό και να αναφερθώ σε όλα αυτά το special pages.

Page structure and page offset

Πριν ξεκινήσω όμως την αναφορά μου σε αυτά θα πρέπει να είμαι σίγουρος ότι όλοι γνωρίζουμε ότι κάθε data file σε μια SQL Server database δομείτε εσωτερικά σε pages των 8ΚΒ. Σε αυτά αποθηκεύονται τα δεδομένα του SQL Server. Ένα page έχει τον page header που είναι 96 bytes και το offset array το οποίο βρίσκεται στο τέλος του page, είναι 36 bytes και παρέχει τους δείκτες (pointers) στο byte location της αρχής της κάθε γραμμής (record) που είναι στην συγκεκριμένη σελίδα.

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

Το υπόλοιπο τμήμα (8060 bytes) είναι ο χώρος στον οποίο αποθηκεύονται τα records. Αυτός είναι και ο λόγος που λέμε ότι το max record length δεν μπορεί να είναι πάνω από 8060 bytes καθώς ένα record δεν μπορεί να είναι σπασμένο σε δύο pages.

Extents

Κάθε 8 τέτοιες σελίδες φτιάχνουν ένα extent. Υπάρχουν δύο είδη extent

read more

Deal with Transaction Log Virtual Log Files to improve db performace, recovery time, replication and db mirroring performance (SQL Saturday Night #15)

Οι περισσότεροι είστε σε κάποιον παραθαλάσσιο μέρος και καλά κάνετε. Παρόλα αυτά όμως τα SQL Saturday Nights ακόμα δεν έχουν τελειώσει, απλά αντί να σας βάζω σε διαδικασίες να τα παρακολουθήσετε live αποφάσισα να φτιάξω ένα απόψε καθώς θέλω να αναδείξω ένα θέμα το οποίο οι περισσότεροι δεν γνωρίζετε ή το γνωρίζετε λίγο ή ακόμα και για αυτούς που το γνωρίζουν δεν είναι κακό να το ξαναδούν.

Αφορά τον αριθμό των VLFs (Virtual Log Files) που έχει ένα transaction log σε μία database στον SQL Server και πως όταν αυτός ο αριθμός είναι αρκετά μεγάλος επηρεάζει την απόδοση μιας datatase.

περισσότερα

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

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

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

read more

Using CONTEXT_INFO function–Another useful usage scenario

Πρόλογος

Αυτό που με εξιτάρει περισσότερο στην δουλειά μου και στην ενασχόληση μου με τον SQL Server είναι να βρίσκω λύση σε προβλήματα, αλλά και σε ποιον δεν αρέσει αυτό;

Το Πρόβλημα

Σήμερα ένας συνάδελφος στην εταιρία που εργάζομαι έρχεται με το εξής ερώτημα-πρόβλημα

«Έχω ένα πίνακα και έχω φτιάξει μια stored procedure η οποία περιέχει ένα business logic αρκετά σημαντικό και περίπλοκο με το οποίο κάνω insert στον συγκεκριμένο πίνακα. Θέλω να κάνω insert στο συγκεκριμένο πίνακα μόνο από την συγκεκριμένη stored procedure και μόνο πως μπορεί να γίνει αυτό;»

Στην αρχή ξαφνιάστηκα καθώς ο συνάδελφος είναι εμπειρότατος και η ερώτηση του μου φάνηκε κάπως. Του απάντησα ότι αυτό είναι στο χέρι του καθώς αυτός γράφει τον κώδικα. Φυσικά η απάντηση μου δεν τον ικανοποίησε. Έτσι μετά από μια σύντομη συζήτηση κατάλαβα τι ακριβώς ήθελε να κάνει το οποίο τελικά ήταν:

«Έχω ένα πίνακα και έχω φτιάξει μια stored procedure η οποία περιέχει ένα business logic αρκετά σημαντικό και περίπλοκο με το οποίο κάνω insert στον συγκεκριμένο πίνακα. Θέλω να κάνω insert στο συγκεκριμένο πίνακα μόνο από την συγκεκριμένη stored procedure και μόνο είτε από την εφαρμογή είτε από τον SSMS είτε από οπουδήποτε. Θέλω δηλαδή εκτός από να προστατέψω την ποιότητα των δεδομένων που θα μπαίνουν στον συγκεκριμένο πίνακα θέλω να προστατέψω και εμένα και τους άλλους developers καθώς στην καθημερινότητα μας φτιάχνουμε πολλές stored procedures και υπάρχει πάντα το ενδεχόμενο σε μια νέα που φτιάχνουμε να κάνουμε insert στον συγκεκριμένο πίνακα χωρίς να καλέσουμε την εν λόγο stored procedure με αποτέλεσμα να έχω λάθος στα δεδομένα στον πίνακα. Επίσης αυτό θέλω να μπορεί να γίνει ακόμα και για αυτούς που έχουν δικαιώματα sysadmin στον SQL Server. Πως μπορεί να γίνει αυτό;»

περισσότερα

DBCC OPTIMIZER_WHATIF

Εισαγωγή

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

Η ανάγκη

Ας έρθουμε όμως στο ζουμί. Σαν DBA ή DB Dev καθημερινά γράφεις queries. Αρκετές φορές μέχρι κάποια πάνε σφαίρα κάποια πάνε αργά και γενικά είσαι μέσα σε μια ατέρμονη διαδικασία τα αργά να τα κάνεις να πάνε γρήγορα και τα γρήγορα γρηγορότερα.

περισσότερα

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

Εισαγωγή

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

Αυτό το post αποφάσισα να το γράψω μετά από ένα πραγματικό γεγονός που έγινε σε πραγματικό περιβάλλον εργασίας και το οποίο δημιουργούσε αρκετά προβλήματα.
Για να γίνει κατανοητό αυτό ας έρθουμε να δούμε ένα παράδειγμα και για αυτό το λόγο ας έρθουμε να φτιάξουμε μια βάση με ένα πίνακα που θα παίξει το ρόλο του πειραματόζωου και θα είναι ένας πίνακας πελατών όπου η απόφαση που έχουμε είναι να υπάρχει το ΑΦΜ σαν σημείο αναφοράς για το record άρα και primary key. Σε αυτόν θα βάλουμε 10.000 rows. Όλα αυτά μπορούν να γίνουν με τα παρακάτω script

περισσότερα

How to check my queries if they are ANSI compatible? (Tip of the day)

Αρκετές φορές έχω ερωτηθεί και έχω πει την άποψη μου για το τι είναι ANSI Transact SQL και τι όχι, όπως επίσης έχω πει και το πόσο ο SQL Server έχει δώσει βάρος στο να είναι κοντά στο ANSI.

Όπως και να έχει όμως είτε θέλω να γράφω pure ANSI επειδή ενδεχομένως να θέλω portability είτε γιατί απλά είμαι περίεργος και θέλω να ξέρω αυτό που γράφω πόσο ANSI είναι , μπορώ το κάνω απλά χρησιμοποιώντας την <διαβάστε το άρθρο>

SQL Server 2012 Release Candidate is now Available

Από χθες είναι διαθέσιμη η πρώτη RC του SQL Server 2012.

Η εταιρία συνεχίζοντας την ανάπτυξη του προιόντος στο τρίπτυχο

FURTHER, FORWARD, FASTER

πρόσθεσε μερικά ακόμα χαρακτηριστικά όπως το CDC support for Oracle, κάποιες ακόμα βελτιώσεις στο AlwaysOn και αρκετά ακόμα features στο Power View, SQL Data Tools, LocalDB, SQL Azure

Download SQL Server 2012 RC today here.

Learn more about SQL Server 2012 at www.microsoft.com/sql server.

SQL Server 2012 – Database Engine Tuning Advisor Enhancements

Ένα από τα εργαλεία τα οποία έχουμε στην διάθεση μας για να κάνουμε tuning τον SQL Server είναι και ο Database Engine Tuning Advisor (DTA).

Ένα αρκετά καλό εργαλείο που μπορείς εύκολα να πάρεις σχεδόν άμεσα απάντηση που θα σου βελτιώνει το performance στα queries σου.

Μέχρι τώρα η τροφή που έπρεπε να δώσεις στο εργαλείο αυτό ήταν ή ένα trace workload ή ένα script με τα queries που ήθελες να ελέγξεις.

Πλέον όμως μπορεί να πάρει τροφή διαβάζοντας [Read more]

SQL Server 2012 - Backup Timeline feature

Όσοι ασχολούμαστε καθημερινά με τον SQL Server και το πρώτο πράγμα που κάνουμε το πρωί πριν ακόμα πιούμε την πρώτη τζούρα καφές είναι σχεδόν σίγουρο ότι όταν θα χρειαστεί να κάνουμε κάποιο restore σε μια database γνωρίζουμε εξ αρχής σε ποιο χρονικό σημείο θα γυρίσουμε.

Παρόλα αυτά όμως κάνουμε επιβεβαίωση χρησιμοποιώντας διάφορες τεχνικές κυρίως με T-SQL commands.

Στο SQL Server 2012 όταν πάμε να κάνουμε restore μια βάση μέσα από το GUI θα δούμε πλέον όπως φαίνεται στην παρακάτω εικόνα ένα button με τίτλο Timeline

[View article]

SQL Server 2012 – Editions and Licensing Changes

Πριν μερικές μέρες ανακοινώθηκαν από την Microsoft οι πρώτες αλλαγές που αφορούν τις εκδόσεις και τις άδειες χρήσης του προϊόντος.

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

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

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

[read more]

Migrating Crystal Reports to Microsoft SQL Server Reporting Services

Αρκετές φορές έχω ερωτηθεί αν μπορεί να γίνει μετατροπή των υφιστάμενων report που είναι φτιαγμένα με Crystal Reports (.rtp) σε SQL Server Reporting Services (.rdl). Αυτό και άλλα πολλά ήταν και είναι εφικτό να γίνουν αρκεί να βουτούσες για τα καλά μέσα στο SQL Server 2008 R2 Reporting Services Migration Guide.

Πρόσφατα στο Microsoft | Business Intelligence site, η Microsoft μας ενημερώνει ότι μια εταιρεία... [read more]

TOD : You are not going to say “F***, I ran the test script in the production server!” again
http://sqlschoolgr.wordpress.com/2011/10/23/tod-you-are-not-going-to-say-f-i-ran-the-test-script-in-the-production-server-again/
SQL Server Developers Tools code-named “Juneau” becomes SQL Server Data Tools (SSDT)
http://sqlschoolgr.wordpress.com/2011/10/17/sql-server-developers-tools-code-named-juneau-becomes-sql-server-data-tools-ssdt/
The value of sys.dm_io_virtual_file_stats DMV
http://sqlschoolgr.wordpress.com/2011/10/12/the-value-of-sys-dm_io_virtual_file_stats-dmv/
The truth about WITH ENCRYPTION option
http://sqlschoolgr.wordpress.com/2011/10/07/the-truth-about-with-encryption-option/
TOD-Ever lost your Report Data window when working on BIDS?
http://sqlschoolgr.wordpress.com/2011/09/28/tod-ever-lost-your-report-data-window-when-working-on-bdis/
TOD: Using Hotmail Account with SQL Server DB Mail
http://sqlschoolgr.wordpress.com/2011/09/19/tod-using-hotmail-account-with-sql-server-db-mail/
TOD: Enable Aero Theme on Windows Server 2008 R2 / Windows 7 when open them with RDP
http://sqlschoolgr.wordpress.com/2011/09/16/tod-enable-aero-theme-on-windows-server-2008-r2-windows-7-when-open-them-with-rdp
Using Instant File Initialization with SQL Server

http://sqlschoolgr.wordpress.com/2011/09/16/using-instant-file-initialization-with-sql-server/

New Book - Real World .NET 4 and C#

A new book on discovering and understanding the Microsoft .NET 4 Framework has special meaning to our community. Real World .NET 4 and C# is a collaborative project created by real-world experts—in fact a whopping 15 MVPs contributed to its making.

 

Each MVP wrote a chapter, drawing from a particular area of expertise to provide valuable information on using various .NET 4, C# 4, Silverlight 4, and Visual Studio tools in real world applications. They cover topics such as Windows Presentation Foundation, Silverlight 4, Windows Communication Foundation, ASP.NET performance, and the entity framework.

Here’s an inside peak at the contents:

  • ASP.NET and jQuery, by C# MVP David Giard
  • ASP.NET Performance, by Visual Basic MVP Bill Evjen
  • Ethical Hacking ASP.NET, by Sharepoint MVP György Balássy
  • How to Build Real-World Silverlight Applications, by Silverlight MVP Gill Cleeren
  • Silverlight: The Silver Lining for Line-of-Business Applications, by Silverlight MVP Jeremy Likeness
  • JumpStart …., by Silverlight MVP Daron Yondem
  • MVVM Patterns in Silverlight 4, by Client Application Development MVP Kevin Grossnicklaus
  • Windows Phone Codenamed “Mango for Silverlight Developers, by Silverlight MVP Alex Golesh
  • Pragmatic Services Communication with WCF, by Windows Azure MVP Christian Weyer
  • Securing WCF Services Using the Windows Identity Foundation (WIF), by Development Security MVP Dominick Baier
  • .NET Parallel Programming with Task Parallel Library, by BizTalk MVP Jeff Juday
  • The WF Programming Language, by retired Solutions Architect MVP Vishwas Lele
  • Practical WPF Data Binding, by C# MVP Christian Nagel
  • Driving Development with User Stories and BDD, by ASP.NET\IIS MVP Scott Millett
  • Unit Testing, by Caleb Jenkins ASP.NET\IIS

Congratulations to all the contributors!

 

Source: http://blogs.msdn.com/b/mvpawardprogram/archive/2011/09/09/new-book-brings-together-more-than-a-dozen-mvps.aspxhttp://blogs.msdn.com/b/mvpawardprogram/archive/2011/09/09/new-book-brings-together-more-than-a-dozen-mvps.aspx

 

T-SQL Challenge #1:Different Level Ordering in Hierarchy
Πριν από μερικές μέρες μια συνάδελφος ήρθε με το εξής πρόβλημα, ήθελε να δείξει κάποια δεδομένα σε ένα treeview control σε ένα web page. Στην ουσία ήταν μια ιεραρχία που από την δομή του πίνακα έβγαινε αρκετά εύκολα με ένα order by clause. Όμως δεν ήταν τόσο απλά τα πράγματα, ήθελε να υπάρχει ταξινόμηση ανά επίπεδο ιεραρχίας το οποίο ορίζονταν από ένα άλλο πεδίο. Ολόκληρο το άρθρο εδώ
MVP Award…. re-awarded!

Τελικά ο Αη Βασίλης ήρθε και για μένα. Για δεύτερη χρονιά μου απονεμήθηκε ο
τίτλος του MVP στον SQL Server. Αυτό σημαίνει περισσότερες ευθύνες για μένα,
αλλά ευχάριστες.


Η χρονιά αυτή θα συνεχιστεί με περισσότερη δράση και περισσότερα SQL Saturday
Nights.


Καλή Χρονιά σε όλους και σας ευχαριστώ για την υποστήριξη v

Free ebook: Own Your Future: Update Your Skills with Resources and Career Ideas from Microsoft

This is copy-paste from the original article

9780735693616f We’re thrilled to offer another free ebook: Own Your Future: Update Your Skills with Resources and Career Ideas from Microsoft, by Katherine Murray. The ebook contains eight chapters and an appendix describing how you can assess and build your technology-based job skills.

To give you a sense of the ebook’s content, here is its Foreword, by Microsoft Learning’s Lutz Ziob:

Foreword

In the midst of a struggling economy, our fast-changing, knowledge-based economy has created unprecedented challenges for employers and workers alike. Employers increasingly need workers with a broad range of information technology (IT) skills. These skills will become even more important as we continue to retool major sectors of our economy, such as healthcare, transportation and energy. By 2014, more than three-quarters of all jobs in the United States will require some level of computing or technology skills, and the vast majority of newly created jobs will require post-secondary education or training. To meet this demand, students need a solid foundation in science, technology, engineering, math, and design, as well as in related disciplines such as computer science. And this means that workforce training systems need to be improved and expanded to meet the needs of all workers—the underemployed, the unemployed, and students who need better access to the requisite skills. Everyone entering or already in the workforce should have access to the resources they need to become lifelong learners who can adapt to an ever-changing workplace.

Technology is only one piece of the puzzle, but it has a pivotal role to play in these efforts. It can offer students, workers, and employers the training tools they need, and it can help to quickly and efficiently expand access to educational resources. IT also helps people develop other essential 21st-century skills such as collaboration and teamwork, finding and interpreting information, and using data to aid in decision making.

In this book, students will find a wealth of Microsoft resources they can
use to identify the technology skills they need, and gather knowledge and experience to help them take charge of their careers. Here at Microsoft, we care about students’ career success and hope these resources will open doors to learning that will lead them to better opportunities and a deeper understanding of the way technology continues to change and improve the ways people work—both here in the U.S. and around the world.

Lutz Ziob
Microsoft Learning General Manager

You can download the ebook in XPS format here and in PDF format here.

We hope that you find this material useful. Please leave us a comment and let us know!

Posted: Τετάρτη, 31 Μαρτίου 2010 9:37 μμ από το μέλος Antonios Chatzipavlis | 0 σχόλια
Δημοσίευση στην κατηγορία:
Ανάμεσα σε Θρύλους του SQL Server

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

NielsenMeDelaney

Ανάμεσα στον Paul Nielsen και την Kalen Delaney. Φοβεροί και οι δύο τους. RECPECT!

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