Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

ΕΙΣΑΓΩΓΗ

Οι εκδόσεις του Microsoft SQL Server νεότερες από το SQL Server 2000 Service Pack 3 (SP3) παρήγγειλαν τις περισσότερες επείγουσες επιδιορθώσεις στη βελτιστοποίηση ερωτήματος σε κατάσταση off-by-default, προκειμένου να αποτρέψετε τους υπάρχοντες πελάτες παραγωγής να δουν αναμενόμενες αλλαγές προγράμματος που θα μπορούσαν να προκαλέσουν παλινδρόμηση επιδόσεων. Στην αρχή, κάθε άμεση επιδιόρθωση παραδόθηκε με ξεχωριστή σημαία ανίχνευσης. Αργότερα, αυτή η πρακτική άλλαξε, έτσι ώστε οι περισσότερες σημαίες να συνδυάζονται με μία σημαία ανίχνευσης (4199). Αυτή η νέα πρακτική ξεκίνησε σε πολλές εκδόσεις ξεκινώντας με τις ακόλουθες ενημερώσεις:

  • SQL Server 2005 Service Pack 3 (SP3) Αθροιστική ενημέρωση 6

  • SQL Server 2008 Service Pack 1 (SP1) πακέτο αθροιστικής ενημέρωσης 7

  • SQL Server 2008 R2 (RTM)

Η σημαία ανίχνευσης 4199 χρησιμοποιήθηκε για τη συλλογή επειγουσών επιδιορθώσεων που προορίζονταν να χρησιμοποιούνται από προεπιλογή σε μια μελλοντική έκδοση, ενώ άλλες σημαίες ανίχνευσης χρησιμοποιήθηκαν για περιπτώσεις στις οποίες μια επιδιόρθωση δεν είχε σκοπό να γίνει από προεπιλογή στην τρέχουσα μορφή. Ξεκινώντας SQL Server 2016 RTM, η ρύθμιση COMPATIBILITY_LEVEL βάσης δεδομένων θα χρησιμοποιηθεί για ενεργοποίηση επειγουσών επιδιορθώσεων που σχετίζονται με τη σημαία ανίχνευσης 4199 από προεπιλογή. Αυτό το άρθρο περιγράφει τη μηχανική και την πολιτική του πώς θα παραδίδονται οι άμεσες επιδιορθώσεις που επηρεάζουν το πρόγραμμα για SQL Server 2016 και νεότερες εκδόσεις.

Περισσότερες πληροφορίες

Στο SQL Server 2016, οι άμεσες επιδιορθώσεις σημαίας ανίχνευσης 4199 που έχουν γίνει σε προηγούμενες εκδόσεις του SQL Server θα ενεργοποιηθούν στην περιοχή βάσης δεδομένων COMPATIBILITY_LEVEL 130 χωρίς ενεργοποιημένη τη σημαία ανίχνευσης 4199. Η σημαία ανίχνευσης 4199 θα χρησιμοποιηθεί για την κυκλοφορία μελλοντικών άμεσων επιδιορθώσεων SQL Server 2016 για βάσεις δεδομένων, χρησιμοποιώντας το επίπεδο συμβατότητας 130. Επειδή η σημαία ανίχνευσης 4199 συνιστάται μόνο για τους πελάτες που βλέπουν συγκεκριμένα ζητήματα επιδόσεων, συνιστάται στους πελάτες να καταργήσουν τη σημαία ανίχνευσης 4199 μετά τη μετεγκατάσταση των βάσεων δεδομένων τους στο πιο πρόσφατο επίπεδο συμβατότητας, επειδή η σημαία ανίχνευσης 4199 θα επαναχρησιμοποιηθεί για μελλοντικές επιδιορθώσεις που ενδέχεται να μην ισχύουν για την εφαρμογή σας και μπορεί να προκαλέσουν μη αναμενόμενες αλλαγές επιδόσεων σχεδίου σε ένα σύστημα παραγωγής. Αυτό σημαίνει ότι έχουν ενεργοποιηθεί διαφορετικές επείγουσες επιδιορθώσεις σημαίας ανίχνευσης 4199 για κάθε επίπεδο συμβατότητας που υποστηρίζεται σε μια δεδομένη έκδοση προϊόντος. Το πιο πρόσφατο επίπεδο συμβατότητας επιτρέπει ήδη όλες τις προηγούμενες επιδιορθώσεις κάτω από τη σημαία ανίχνευσης 4199. Αυτό σημαίνει ότι η αναβάθμιση μιας βάσης δεδομένων στο πιο πρόσφατο επίπεδο συμβατότητας και η κατάργηση της σημαίας ανίχνευσης 4199 εξακολουθεί να επιτρέπει όλες τις επιδιορθώσεις που αξιοποιούσε ένας φόρτος εργασίας πριν από την αναβάθμιση της βάσης δεδομένων, αλλά όχι νέες επιδιορθώσεις. Εάν αργότερα οι πελάτες αντιμετωπίσετε προβλήματα επιδόσεων ερωτήματος, πειραματιστείτε με την ενεργοποίηση της επιλογής εύρους βάσης δεδομένων QUERY_OPTIMIZER_HOTFIXES ή της υπόδειξης ερωτήματος ENABLE_QUERY_OPTIMIZER_HOTFIXES σε ένα περιβάλλον δοκιμής για να προσδιορίσετε εάν επιλύθηκαν τα προβλήματα. Ανατρέξτε στην τεκμηρίωση σχετικά με QUERY_OPTIMIZER_HOTFIXES. 

Σημείωση Από προεπιλογή, οι βάσεις δεδομένων που δημιουργούνται SQL Server 2016 χρησιμοποιούν το επίπεδο συμβατότητας 130 και έχουν ήδη ενεργοποιημένη τη νέα λογική βελτιστοποίησης.

Το σημαντικότερο πλεονέκτημα αυτού του μοντέλου είναι ότι μειώνει τον κίνδυνο για τα συστήματα παραγωγής κατά τη διαδικασία αναβάθμισης. Αυτή η προσέγγιση διαχωρίζει την εγκατάσταση μιας νέας κύριας έκδοσης SQL Server από την αυτόματη ενεργοποίηση όλων των αλλαγών του νέου επεξεργαστή ερωτημάτων. Επειδή οι αναβαθμίσεις κύριας έκδοσης αλλάζουν τη μορφή αρχείου και δεν είναι αναστρέψιμες, είναι καλή ιδέα να χρησιμοποιήσετε τη ρύθμιση COMPATIBILITY_LEVEL, επειδή αυτό επιτρέπει σε έναν πελάτη να υποβαθμίσει γρήγορα εάν βρεθεί ένα μη αναμενόμενο πρόβλημα επιδόσεων σχεδίου κατά τη διάρκεια μιας αναβάθμισης. Εάν ένας πελάτης εντοπίσει μια μη αναμενόμενη αλλαγή σχεδίου που αποκλείει μια αναβάθμιση εφαρμογής, ο πελάτης μπορεί να διευκολύνει την κατάσταση εφαρμόζοντας μια κατάλληλη υπόδειξη προγράμματος χρησιμοποιώντας το Χώρο αποθήκευσης ερωτημάτων για να επιβάλετε το προηγούμενο σχέδιο ή μπορεί να διευκολύνει την κατάσταση επικοινωνώντας με την υποστήριξη πελατών της Microsoft για να σας βοηθήσει με το πρόβλημα για να δώσετε μια λύση ή μια άμεση επιδιόρθωση. Όταν μειωθεί όλο το πρόβλημα, η αναβάθμιση μπορεί να συνεχιστεί. Οι πελάτες θα πρέπει να ενσωματώσουν αυτήν τη δυνατότητα στο σχεδιασμό αναβάθμισης για SQL Server 2016.

Ο παρακάτω πίνακας εξηγεί το μοντέλο για τον τρόπο με τον οποίο θα λειτουργεί η σημαία ανίχνευσης 4199 ξεκινώντας SQL Server 2016.

Ρύθμιση

SQL επίπεδο συμβατότητας

Σημαία ανίχνευσης 4199

Επιδιορθώσεις βελτιστοποίησης πριν SQL Server 2016 RTM

Επιδιορθώσεις βελτιστοποίησης μετά SQL Server 2016 RTM

1.

120

Απενεργοποιημένο

Απενεργοποιήθηκε

Απενεργοποιήθηκε

2.

120

Με την

Ενεργοποιημένο

Απενεργοποιήθηκε

3.

130

Απενεργοποιημένο

Ενεργοποιημένο κατά επίπεδο συμβατότητας

Απενεργοποιήθηκε

4.

130

Με την

Ενεργοποιημένο κατά επίπεδο συμβατότητας

Ενεργοποιημένο κατά επίπεδο συμβατότητας

Σημείωση Ο ορισμός 3 συνιστάται για τους πελάτες που αναβαθμίζουν πρόσφατα σε SQL Server 2016.

Για τις κύριες εκδόσεις μετά SQL Server 2016, η Microsoft σχεδιάζει να συνεχίσει να χρησιμοποιεί αυτό το μοντέλο συντήρησης για τις επείγουσες επιδιορθώσεις βελτιστοποίησης. Από προεπιλογή, ή κάθε κυκλοφορία, οποιεσδήποτε άμεσες επιδιορθώσεις σημαίας ανίχνευσης 4199 από την προηγούμενη έκδοση θα ενεργοποιηθούν στο επόμενο επίπεδο συμβατότητας. Αυτό σημαίνει ότι η προτεινόμενη κατάσταση για τους πελάτες μετά τη μετεγκατάσταση στο πιο πρόσφατο επίπεδο συμβατότητας θα είναι η απενεργοποίηση της σημαίας ανίχνευσης 4199. Οι νεότερες επείγουσες επιδιορθώσεις θα χρησιμοποιούν τη σημαία ανίχνευσης 4199 για να ενεργοποιούν επιδιορθώσεις για τους πελάτες που πρέπει να ενεργοποιήσουν αυτές τις συγκεκριμένες επείγουσες επιδιορθώσεις σε μια εφαρμογή. Συνιστάται στους πελάτες να απενεργοποιήσουν τη σημαία ανίχνευσης 4199 μετά την αναβάθμιση μιας εφαρμογής στο πιο πρόσφατο επίπεδο συμβατότητας για να αποφύγουν απροσδόκητες μελλοντικές αλλαγές βελτιστοποίησης που ενεργοποιούνται σε μια εφαρμογή απροσδόκητα. Αυτή η αναβάθμιση στο πιο πρόσφατο επίπεδο συμβατότητας και η κατάργηση της σημαίας ανίχνευσης 4199 εξακολουθεί να επιτρέπει όλες τις επιδιορθώσεις που αξιοποιούσε ένας φόρτος εργασίας πριν από την αναβάθμιση, αλλά όχι νέες επιδιορθώσεις.

Σημείωση Ενώ πολλές επείγουσες επιδιορθώσεις βελτιστοποίησης είναι ενεργοποιημένες κάτω από τη σημαία ανίχνευσης 4199, ορισμένες χρησιμοποιούν άλλες σημαίες ανίχνευσης. Η σημαία ανίχνευσης 4199 καλύπτεται ιστορικά από σημαίες ανίχνευσης που είναι ευρέως εφαρμόσιμες και ενδέχεται να ενεργοποιηθούν από προεπιλογή σε μια μελλοντική έκδοση. Οι εναλλακτικές σημαίες ανίχνευσης χρησιμοποιούνται σε επείγουσες επιδιορθώσεις όπου οι συνθήκες είναι πολύ συγκεκριμένες για λίγους μόνο πελάτες, όπου η επιδιόρθωση μπορεί να προκαλέσει παλινδρόμηση επιδόσεων σε άλλα είδη εφαρμογών ή όπου η εσωτερική λειτουργικότητα μπορεί να δει αλλαγές πριν να είναι έτοιμη να ενεργοποιηθεί για όλους. Η Microsoft θα συνεχίσει να χρησιμοποιεί άλλες σημαίες ανίχνευσης, όπως απαιτείται για την εξυπηρέτηση του προϊόντος.

Σημείωση Αυτό το άρθρο εστιάζει στο μοντέλο για την κυκλοφορία επειγουσών επιδιορθώσεων σημαίας ανίχνευσης 4199 στο πιο πρόσφατο επίπεδο συμβατότητας του πιο πρόσφατου προϊόντος. (Τη στιγμή της δημοσίευσης, αυτή είναι SQL Server 2016.) Οι άμεσες επιδιορθώσεις βελτιστοποίησης ενδέχεται να κυκλοφορήσουν σε παλαιότερες εκδόσεις του SQL Server ή σε χαμηλότερα επίπεδα συμβατότητας (120 ή προηγούμενες) του SQL Server 2016. Η Microsoft θα αξιολογεί κάθε περίπτωση και θα καθορίζει εάν θα χρησιμοποιεί τη σημαία ανίχνευσης 4199 ή μια διαφορετική σημαία ανίχνευσης. Επειδή οι αλλαγές που δεν είναι άμεσες επιδιορθώσεις είναι επίσης ενεργοποιημένες όταν γίνεται μια μετακίνηση σε μεταγενέστερο επίπεδο συμβατότητας, δεν υπάρχει συγκεκριμένη υπόσχεση ότι δεν θα γίνουν αλλαγές στο σχέδιο κατά τη διάρκεια μιας αναβάθμισης (με ή χωρίς σημαία ανίχνευσης 4199). Οι πελάτες θα πρέπει πάντα να δοκιμάζω τις αλλαγές στο επίπεδο συμβατότητας προσεκτικά για τις εφαρμογές παραγωγής και θα πρέπει να χρησιμοποιούν τεχνολογίες μετριασμού, όπως το Χώρο αποθήκευσης ερωτημάτων, εάν υπάρχει ένα πρόβλημα επιδόσεων που σχετίζεται με την επιλογή προγράμματος.

Για αναφορά, χρησιμοποιήθηκαν οι ακόλουθες σημαίες ανίχνευσης για τις επείγουσες επιδιορθώσεις του επεξεργαστή ερωτήματος πριν από την εισαγωγή της σημαίας ανίχνευσης 4199:

4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4115, 4116, 4117, 4119, 4120, 4121, 4122, 4124, 4125, 4126, 4127, 4128, 4129, 4131, 4133, 4135.

SQL Server 2012 και νεότερες εκδόσεις

Η σημαία ανίχνευσης 4199 περιλαμβάνεται στις εκδόσεις κυκλοφορίας SQL Server 2012 και νεότερες εκδόσεις.

Τρόπος ενεργοποίησης της σημαίας ανίχνευσης 4199

Μπορείτε να ενεργοποιήσετε τη σημαία ανίχνευσης 4199 κατά την εκκίνηση ή σε μια περίοδο λειτουργίας χρήστη. Αυτή η σημαία ανίχνευσης έχει εφέ καθολικού επιπέδου ή επιπέδου περιόδου λειτουργίας. Για να ενεργοποιήσετε τη σημαία ανίχνευσης 4199, χρησιμοποιήστε την εντολή DBCC TRACEON ή χρησιμοποιήστε το –T 4199 ως παράμετρο εκκίνησης.

Εάν χρησιμοποιείται η DBCC TRACEON\TRACEOFF, αυτό δεν δημιουργεί ξανά ένα νέο σχέδιο στο cache για αποθηκευμένες διαδικασίες. Τα προγράμματα μπορεί να είναι στο cache που δημιουργήθηκαν χωρίς τη σημαία ανίχνευσης.

Για λεπτομερείς πληροφορίες σχετικά με τον τρόπο ενεργοποίησης ή απενεργοποίησης των σημαιών ανίχνευσης και για επεξηγήσεις των σημαιών ανίχνευσης καθολικού επιπέδου και περιόδου λειτουργίας, ανατρέξτε στα ακόλουθα θέματα στο SQL Server Books Online:

Αναφορές

Για περισσότερες πληροφορίες σχετικά με το σχήμα ονοματοθεσίας για SQL Server ενημερώσεις, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

822499
Νέο σχήμα ονοματοθεσίας για Microsoft SQL Server πακέτων ενημέρωσης λογισμικού
Για περισσότερες πληροφορίες σχετικά με την ορολογία ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

824684
Περιγραφή της τυπικής ορολογίας που χρησιμοποιείται για την περιγραφή των ενημερώσεων λογισμικού της Microsoft

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×