KB4077105 - ΕΠΙΔΙΌΡΘΩΣΗ: Σφάλμα ανεπαρκούς μνήμης όταν ο χώρος εικονικών διευθύνσεων της διαδικασίας SQL Server είναι πολύ χαμηλός σε SQL Server

Ισχύει για
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 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)

Συμπτώματα

Ας υποθέσουμε ότι εγκαθιστάτε την έκδοση 64-bit του Microsoft SQL Server 2014, 2016 ή 2017 σε έναν υπολογιστή που εκτελεί Windows Server 2012 ή παλαιότερη έκδοση του λειτουργικού συστήματος των Windows. Όταν SQL Server εξαντλήσει όλο το χώρο εικονικών διευθύνσεων λειτουργίας χρήστη, ενδέχεται να λάβετε ένα μήνυμα λάθους εξάντλησης μνήμης στο αρχείο καταγραφής σφαλμάτων SQL Server. Επιπλέον, τα ερωτήματα καθυστερούν πολύ χρόνο για να ολοκληρωθεί η εκτέλεση και παρουσιάζεται η SOS_MEMORY_TOPLEVELBLOCKALLOCATOR αναμονή.

Εξετάζοντας τα ακόλουθα σημεία πληροφοριών, θα διαπιστώσετε ότι υπάρχει πολύ μικρός διαθέσιμος χώρος εικονικών διευθύνσεων:

  • DBCC MEMORYSTATUS - Ενότητα Process / System Counts - Διαθέσιμη εικονική μνήμη
  • DMV: sys.dm_os_process_memory - στήλη virtual_address_space_available_kb

Αυτές οι τιμές ξεκινούν από περίπου 8 terabyte (TB) σε μια διαδικασία x64 και συνεχίζουν να κατεβαίνουν και να φτάνουν σε μερικά gigabyte (GB).

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

Τα ακόλουθα σημεία δεδομένων θα συνεχίσουν να αυξάνονται με την πάροδο του χρόνου:

  • DMV: sys.dm_os_process_memory και sys.dm_os_memory_nodes - στήλη virtual_address_space_reserved_kb
  • DBCC MEMORYSTATUS - Τμήμα διαχείρισης μνήμης - Δεσμευμένο VM

Αυτές οι τιμές συνήθως αυξάνονται σε πολλαπλάσια της τιμής "μέγιστη μνήμη διακομιστή" έως και περίπου 8 TB.

Σημείωση Σχετικό ζήτημα περιγράφεται επίσης στο KB 3074434.

Επίλυση

Αυτή η ενημέρωση περιλαμβάνεται στις ακόλουθες αθροιστικές ενημερωμένες εκδόσεις για SQL Server:

Αθροιστική ενημέρωση 4 για το SQL Server 2017

Αθροιστική ενημερωμένη έκδοση 8 για SQL Server 2016 SP1

Αθροιστική ενημερωμένη έκδοση 10 για SQL Server 2014 Service Pack 2

Πληροφορίες σχετικά με τις συγκεντρωτικές ενημερώσεις για SQL Server:

Κάθε νέα αθροιστική ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη αθροιστική ενημερωμένη έκδοση. Δείτε τις πιο πρόσφατες αθροιστικές ενημερώσεις για SQL Server:

Τελευταία αθροιστική ενημέρωση για το SQL Server 2017

Τελευταία αθροιστική ενημέρωση για το SQL Server 2016

Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2014

Σημείωση Μετά την εφαρμογή αυτής της ενημερωμένης έκδοσης, πρέπει να προσθέσετε τη σημαία παρακολούθησης 8075 ως παράμετρο εκκίνησης για να ενεργοποιήσετε αυτήν την αλλαγή.

Κατάσταση

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

Παραπομπές

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