sqlschool.gr logo

articles

Articles of SQLschool.gr Team

Database Scoped Configuration in SQL Server 2016

Fivi Panopoulou - Sotiris Karras
Thursday 14 July 2016

Στον SQL Server 2016 παρουσιάστηκε η δυνατότητα να παραμετροποιήσουμε το περιβάλλον εκτέλεσης ενός query σε επίπεδο database. Μπορούμε λοιπόν πλέον να καθορίσουμε την τιμή των εξής παραμέτρων για μια συγκεκριμένη βάση στον server μας:

  • MAXDOP: Θέτουμε την επιθυμητή τιμή του MAXDOP για την βάση μας
  • LEGACY CARDINALITY ESTIMATION: Καθορίζουμε αν θέλουμε να χρησιμοποιηθεί ο καινούριος cardinality estimator ή όχι, άσχετα με το compatibility level που έχουμε επιλέξει για την συγκεκριμένη βάση
  • PARAMETER SNIFFING: Απενεργοποιώντας την επιλογή αυτή, τα queries μας προς την βάση αυτή θα συμπεριφέρονται σαν να είχαμε ορίσει το OPTIMIZE FOR UNKNOWΝ query hint.
  • QUERY OPTIMIZER HOTFIXES: Ενεργοποιώντας την παράμετρο αυτή επιτρέπουμε να χρησιμοποιούνται στο επίπεδο της συγκεκριμένης βάσης τα πιο πρόσφατα hotfixes που αφορούν τον query optimizer, ανεξάρτητα από το επιλεγμένο compatibility level

Αυτό το configuration γίνεται μέσω του ALTER DATABASE SCOPED CONFIGURATION statement που προστέθηκε στον SQL Server 2016, ενώ παράλληλα μπορούμε ανά πάσα στιγμή να δούμε τις επιλογές που έχουμε θέσει με το sys.database_scoped_configurations όπως φαίνεται παρακάτω:

SELECT * 
FROM sys.database_scoped_configurations;
configuration_id name                                                         value                                                                                                                                                                                                                                                         value_for_secondary
---------------- ------------------------------------------------------------ --------
1                MAXDOP                                                       0                                                                                                                                                                                                                                                                NULL
2                LEGACY_CARDINALITY_ESTIMATION                                0                                                                                                                                                                                                                                                                NULL
3                PARAMETER_SNIFFING                                           1                                                                                                                                                                                                                                                                NULL
4                QUERY_OPTIMIZER_HOTFIXES                                     0                                                                                                                                                                                                                                                                NULL

Επιπλέον, μας δίνεται και η δυνατότητα να καθαρίζουμε την procedure cache όπου αποθηκεύονται τα execution plans των queries που έχουν γίνει compile μόνο της βάσης που μας ενδιαφέρει (σε αντίθεση με την χρήση της DBCC FREEPROCCACHE η οποία καθαρίζει την cache ολόκληρου του instance).

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;  

Fivi Panopoulou

Fivi Panopoulou

Το 2007 ξεκίνησα τις σπουδές μου στη σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών στο Εθνικό Μετσόβιο Πολυτεχνείο.Κατά την διάρκεια των σπουδών μου εκεί αγάπησα τον προγραμματισμό και τα συστήματα πληροφορικής, καθώς επίσης απέκτησα το ιδιαίτερο ενδιαφέρον μου για τις βάσεις δεδομένων. Κατά την διάρκεια της διπλωματικής μου ασχολήθηκα με ζητήματα ανωνυμοποίησης δεδομένων και την ανάπτυξη σχετικού εργαλείου. Τα τελευταία χρόνια των σπουδών μου, μου δόθηκε η ευκαιρία να ασχοληθώ περισσότερο και να διευρύνω τους ορίζοντές μου ως Microsoft Student Partner και μέσω της κοινότητας Student Guru. Στα πλαίσια των κοινοτήτων αυτών, ξεκίνησα να ασχολούμαι με παρουσιάσεις αλλά και να γνωρίζω τον SQL Server. Από την πρώτη στιγμή που ασχολήθηκα μαζί του, συνειδητοποίησα πόσο ήθελα να εμβαθύνω τις γνώσεις μου σχετικά με αυτόν και τα συστήματα διαχείρισης βάσεων δεδομένων γενικότερα, πράγμα που προσπαθώ να κάνω έκτοτε. Πριν χρόνια είχα την τύχη να συμμετέχω στο πρόγραμμα mentoring, μέσω του οποίου γνώρισα τον κ. Χατζηπαυλή. Από τότε συμμετέχω στην ομάδα του SQLschool.gr.


Sotiris Karras

Sotiris Karras

Είμαι απόφοιτος της σχολής Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Εθνικού Μετσόβιου Πολυτεχνείου και στα ενδιαφέροντά μου συμπεριλαμβάνεται o τομέας του Knowledge and Data Engineering. Πιο συγκεκριμένα, έχω ασχοληθεί ακαδημαϊκά και ερευνητικά με τον τομέα του data privacy και data anonymity, ενώ πάθος μου είναι ό,τι έχει να κάνει με relational databases και data management. Στο παρελθόν, έχω συνεργαστεί με την Microsoft Hellas ως Microsoft Student Partner για ακαδημαϊκές δραστηριότητες και ήμουν μέρος του MVP mentoring προγράμματός της, στο οποίο είχα την τύχη να γνωρίσω τον κ. Χατζηπαυλή.

Episode

First look: SQL Database in Microsoft Fabric

image

More Episodes...

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.