Συμπτώματα
Όταν χρησιμοποιείτε τον τύπο δεδομένων χωροταξικού και τις σχετικές μεθόδους στον Microsoft SQL Server 2012 ή Microsoft SQL κόβω 2014, οι στόχοι Quantum του λειτουργικού συστήματος του SQL Server (SQLOS) του χρονοδιαγράμματος προστατεύονται από το επίπεδο φιλοξενίας του SQL Server CLR. Αυτή η προστασία περιλαμβάνει προληπτικούς, SQLOS διακόπτες μπορεί να αυξήσει την κατανάλωση CPU. Ο λόγος για τον προληπτικό διακόπτη είναι η προστασία του χρονοδιαγράμματος SQLOS. Μια πρόσκληση σε μια εφαρμογή που βασίζεται στον SQL Server CLR μπορεί να λάβει απροσδιόριστο χρόνο χωρίς να δώσει το χρονοδιάγραμμα SQLOS ή να αλλάξει τη συμπεριφορά και τα μοτίβα συνταύτισης. Επομένως, ο τύπος δεδομένων χωρικών δεδομένων έχει σχεδιαστεί για να εναλλάσσει την προτίμηση κατά τη διάρκεια κάθε κλήσης. Σημείωση Ο τύπος δεδομένων χωρικών δεδομένων βασίζεται στον SQL Server CLR, μπορεί να αντιμετωπίσετε διάφορα επίπεδα της ανάλωσης μνήμης .NET και τη συμπεριφορά αλλαγής νήματος.
Αιτία
Οι εκτελέσεις μεθόδων τύπου δεδομένων χωρικών δεδομένων είναι συνήθως υπο-χιλιοστά του δευτερολέπτου και ενδέχεται να μην απαιτούν το πλήρες χρονοδιάγραμμα SQL OS και την προληπτική προστασία. Η επιβάρυνση της μετάβασης από και προς την κατάσταση προληπτικής λειτουργίας μπορεί να είναι πολύ μεγαλύτερη από την ίδια την εκτέλεση της μεθόδου χωροταξικού.
Επίλυση
Αυτή η επιδιόρθωση παρουσιάζει τη σημαία ανίχνευσης 6531 για να υποδείξει στο SQLOS hosting Layer ότι ο τύπος δεδομένων χωρικών δεδομένων θα πρέπει να αποφεύγει τις προληπτικές προστασίες. Αυτό μπορεί να μειώσει την κατανάλωση CPU και να βελτιώσει τη συνολική απόδοση για τις χωρικές δραστηριότητες. Χρησιμοποιήστε αυτήν τη σημαία παρακολούθησης μόνο εάν οι μεμονωμένες, χωρικές επικλήσεις μεθόδου (ανά γραμμή και στήλη) λαμβάνουν λιγότερο από ~ 4ms. Οι μεγαλύτερες κλήσεις χωρίς προληπτική προστασία θα μπορούσαν να οδηγήσουν σε προβλήματα συνταύτισης χρονοδιαγράμματος και μηνύματα τιμωρίας του SQLCLR που καταγράφονται στο αρχείο καταγραφής σφαλμάτων. Το πρόβλημα διορθώθηκε για πρώτη φορά με την ακόλουθη αθροιστική ενημέρωση του SQL Server.
Αθροιστική ενημερωμένη έκδοση 4 για τον SQL Server 2012 SP2 /en-us/help/3007556
Αθροιστική ενημερωμένη έκδοση 5 για τον SQL Server 2014 /en-us/help/3011055
Αθροιστική ενημερωμένη έκδοση 13 για τον SQL Server 2012 SP1 /en-us/help/3002044
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".