תופעות
שקול את התרחיש הבא:
-
אתה משתמש במופע של Microsoft SQL Server 2012 או ב-SQL Server 2014 שNUMA זמין.
-
SQL Server מוגדר להשתמש בליבות CPU רבות על-פני צמתים מרובים של NUMA (לדוגמה, 4 צמתים NUMA הכוללים 12 ליבות כל אחד).
-
אתה מפעיל עומס עבודה כבד של קומפילציה היוצר שיעור הידור גבוה מהתקשרויות מרובות בו.
בתרחיש זה, אינך מבחין בגידול בתוצאות של שאילתת הידור/שניה עם מספר גדל של ליבות זמינות מעבר ל-12. כמו כן, ה-CPU עשוי להראות את הניצול של 100 אחוז.הערה החומרה של רוויית המעבד תלויה במספר הליבות לכל צומת NUMA וגם בקצב הקומפילציה.
סיבה
הבעיה מתרחשת מאחר ש-SQL Server משתמש במבנה נתונים שעשוי לתרום לתבניות תוכן של CPU בחומרה המותאמת ל-NUMA באמצעות העברות בו.
פתרון
לאחר החלת תיקון זה, SQL Server מחליף את השימוש במבנה משותף עם נתונים מקומיים של thread. הבעיה נפתרה לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 1 עבור SQL Server 2012 SP2 /en-us/help/2976982
עדכון מצטבר 2 עבור SQL Server 2014 /en-us/help/2967546
עדכון מצטבר 10 עבור SQL Server 2012 SP1 /en-us/help/2954099
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
פתרון
כדי לעקוף את הבעיה, הקטן את קצב הקומפילציה במערכת SQL Server.
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".