סימפטומים
נניח שאתה מתקין את גירסת 64 הסיביות של 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 טרה-בתים (TB) בתהליך x64 ו ממשיכים לרדת ולהישג כמה ג'יגה-בתים (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 כדי לתאר עדכוני תוכנה.