Συμπτώματα
Ας υποθέσουμε ότι εκτελείτε ένα ερώτημα με συμμετοχή ή συνάθροιση σε μια στήλη που καλύπτεται τόσο από μία στήλη όσο και από πολλές στήλες Στατιστικά στοιχεία (στα οποία αυτή η στήλη δεν είναι η κύρια στήλη). Εάν χρησιμοποιείτε προεπιλεγμένος εκτιμητής προτεραιότητα (CE) στον SQL Server 2016, μπορεί να υποτιμήσει τον αριθμό διακριτές γραμμές. Αυτό οδηγεί σε ένα σχέδιο εκτέλεσης ερωτήματος που δεν είναι βέλτιστο (για παράδειγμα: η χαμηλή εκτίμηση μπορεί να προκαλέσει ανεπαρκή επιχορήγηση μνήμης για έναν τελεστή κατακερματισμού, ο οποίος προκαλεί τη διαρροή του ερωτήματος στο tempdb).
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".
Επίλυση
Αυτό το πρόβλημα διορθώνεται με την ακόλουθη αθροιστική ενημέρωση για τον SQL Server:
Σημείωση Για να τεθεί σε ισχύ αυτή η επιδιόρθωση, πρέπει να ενεργοποιήσετε τις επείγουσες επιδιορθώσεις του Query Optimizer χρησιμοποιώντας τη σημαία παρακολούθησης (TF) 4199 ή την αντίστοιχη ρύθμιση παραμέτρων εύρους δεδομένων ή την επιλογή υπόδειξη ερωτήματος.
Πληροφορίες για τις αθροιστικές ενημερώσεις για τον SQL Server:
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Λύση
Αυτό το πρόβλημα μπορεί να διορθωθεί με την προσθήκη της ακόλουθης υπόδειξης ερωτήματος:
ΧΡΉΣΗ ΥΠΌΔΕΙΞΗ (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
Αναφορές
Μάθετε περισσότερα σχετικά με την ορολογία που χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.