KB4013128 - ΕΠΙΔΙΌΡΘΩΣΗ: Μειωμένες επιδόσεις και μεγάλες αναμονές για CLR_AUTO_EVENT και CMEMTHREAD όταν SQLCLR UDT χρησιμοποιείται ως παράμετρος αποθηκευμένης διαδικασίας για μια κλήση SQL RPC

Ισχύει για
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Συμπτώματα

Μπορείτε να χρησιμοποιήσετε Microsoft SQL Server 2012, 2014 ή 2016 και μπορείτε να δημιουργήσετε έναν τύπο που ορίζεται από το χρήστη (UDT), χρησιμοποιώντας SQL Server ενοποίηση χρόνου εκτέλεσης κοινής γλώσσας (SQL CLR).

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

Σε αυτήν την περίπτωση, ενδέχεται να αντιμετωπίσετε μειωμένη απόδοση για την εκτέλεση της αποθηκευμένης διαδικασίας. Αυτό συμβαίνει εξαιτίας μιας αναποτελεσματικότητας που προκαλείται όταν το RPC φορτώνει και καταργεί τη φόρτωση της συγκρότησης SQLCLR χωρίς λόγο.

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

Επίλυση

Πληροφορίες Service Pack για SQL Server

Αυτή η ενημέρωση διορθώνεται στα ακόλουθα service pack για SQL Server:

Service Pack 2 για SQL Server 2016

Service Pack 3 για SQL Server 2014

Service Pack 4 για SQL Server 2012

Σχετικά με τα service pack για SQL Server:

Τα service pack είναι αθροιστικά. Κάθε νέο service pack περιέχει όλες τις ενημερώσεις κώδικα που βρίσκονται σε προηγούμενα service pack, μαζί με τυχόν νέες ενημερώσεις κώδικα. Η σύσταση μας είναι να εφαρμόσετε το πιο πρόσφατο service pack και την πιο πρόσφατη αθροιστική ενημέρωση για αυτό το service pack. Δεν χρειάζεται να εγκαταστήσετε ένα προηγούμενο service pack πριν να εγκαταστήσετε το πιο πρόσφατο service pack. Χρησιμοποιήστε τον Πίνακα 1 στο παρακάτω άρθρο για να βρείτε περισσότερες πληροφορίες σχετικά με το πιο πρόσφατο service pack και την πιο πρόσφατη αθροιστική ενημέρωση.

Πώς μπορείτε να καθορίσετε την έκδοση, την έκδοση και το επίπεδο ενημέρωσης του SQL Server και των στοιχείων του

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Παραπομπές

Ενημερωθείτε για την ορολογία που χρησιμοποιεί η Microsoft για να περιγράφει τις ενημερώσεις λογισμικού.