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

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 3074434
Ενημέρωση
Αφού εφαρμόσετε αυτήν την ενημερωμένη έκδοση, πρέπει να προσθέσετε το ίχνος σημαία - T8075 με την παράμετρο εκκίνησης για να ενεργοποιήσετε αυτήν την αλλαγή.
Συμπτώματα
Όταν εκτελείτε ένα ερώτημα σε μια έκδοση 64-bit του Microsoft SQL Server 2014 ή Microsoft SQL Server 2012, λαμβάνετε ένα μήνυμα λάθους out-of-memory που μοιάζει με το ακόλουθο στο αρχείο καταγραφής σφαλμάτων του SQL Server:

Απέτυχε η εκχώρηση σελίδες: FAIL_PAGE_ALLOCATION 513

Ερωτήματα διαρκέσει πολλή ώρα για να ολοκληρωθεί η εκτέλεση και αντιμετωπίζουν SOS_MEMORY_TOPLEVELBLOCKALLOCATOR αναμονή.

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

  • Διαθέσιμη εικονική μνήμη DBCC MEMORYSTATUS - διαδικασία/σύστημα μετράει την ενότητα-
  • DMV: sys.dm_os_process_memory - virtual_address_space_available_kb στήλης
Αυτές οι τιμές να ξεκινούν περίπου 8 terabyte (TB) σε x 64 επεξεργάζονται και να συνεχίσει να ανέλθουν πρανή προς τα κάτω και φτάσετε λίγα gigabyte (GB).

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

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

Αυτές οι τιμές συνήθως θα αυξηθεί σε πολλαπλάσια της τιμής "Διακομιστής Μέγιστη μνήμη" μέχρι σχεδόν 8 TB.
Αιτία
Όταν η διαδικασία SQL Server έχει φτάσει στην κατάσταση όπου το συνολικό μνήμης του διακομιστή = μνήμη του διακομιστή προορισμού = μνήμης max διακομιστή, υπάρχουν πολιτικές στη διαχείριση μνήμης του SQL Server για να επιτρέψετε σε νέες χορηγήσεις αίτηση πολλές σελίδες 8 KB με επιτυχία προσωρινά. Επανάληψη εκχώρησης μοτίβο υπό τέτοιες συνθήκες ενδέχεται να κατακερματισμό των μπλοκ μνήμης και της κατανάλωσης χώρου εικονικών διευθύνσεων. Εάν αυτή η διαδικασία επαναλαμβάνεται πολλές φορές, θα να εξαντληθεί ο χώρος εικονικών διευθύνσεων του SQL Server και θα παρατηρήσετε ότι τα συμπτώματα που είχαν αναφέρεται παραπάνω.
Προτεινόμενη αντιμετώπιση

Πληροφορίες άμεσης επιδιόρθωσης

Για να επιλύσετε αυτό το ζήτημα, εγκαταστήστε την επείγουσα επιδιόρθωση από ΕΠΙΔΙΌΡΘΩΣΗ: Σφάλμα κατά την αποθηκευμένη διαδικασία καλεί μια άλλη αποθηκευμένη διαδικασία στο συνδεδεμένο διακομιστή στον SQL Server 2014.

Προϋποθέσεις

Πρέπει να έχετε Αθροιστική ενημερωμένη έκδοση 3 για τον SQL Server 2014 Service Pack 1 για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.

Πληροφορίες αθροιστικής ενημερωμένης έκδοσης

Το πρόβλημα επιδιορθώθηκε για πρώτη φορά με την ακόλουθη αθροιστική ενημερωμένη έκδοση του SQL Server.

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


Αυτή η επείγουσα επιδιόρθωση δεν επιτρέπει την ανάληψη της μνήμης και τη συνεχή μείωση του διαθέσιμου χώρου εικονικών διευθύνσεων, ενδέχεται να αντιμετωπίσετε.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Περισσότερες πληροφορίες
  • Windows 2012 R2 επιτρέπει ο χώρος εικονικών διευθύνσεων για την καλλιέργεια μεγαλύτερο από 128 TB. Επομένως, δεν μπορεί να παρατηρήσετε αυτό το ζήτημα σε περιβάλλοντα Windows 2012 R2. Για περισσότερες πληροφορίες, ανατρέξτε στο ακόλουθο θέμα της το Κέντρο ανάπτυξης των Windows:

    Όρια μνήμης για εκδόσεις των Windows και του Windows Server
  • Εάν βλέπετε συνεχή αύξηση στο χώρο εικονικής διεύθυνσης, ακόμα και μετά την εφαρμογή της ενημέρωσης κώδικα, μπορείτε να καθορίσετε ποια ερωτήματα ή λειτουργίες ζητούν μεγάλα τμήματα μνήμης χρησιμοποιώντας το Page_allocated Εκτεταμένη συμβάν. Ένα δείγμα δέσμης ενεργειών εμφανίζεται ως εξής:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO
    Συνήθως πρόκειται για αντίγραφα ασφαλείας του αρχείου καταγραφής και λειτουργίες συντήρησης ευρετηρίου, η οποία παρουσιάζεται συχνά.

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Ιδιότητες

Αναγνωριστικό άρθρου: 3074434 - Τελευταία αναθεώρηση: 01/26/2016 18:07:00 - Αναθεώρηση: 8.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3074434 KbMtel
Σχόλια