תופעות
נניח שאתה משתמש ב-Microsoft SQL Server 2014. אתה עשוי להיתקל בשתי הבעיות הבאות הכלולות בהערות המוצר של SQL Server 2014:
-
פרטי אינדקס חסרים דווח באופן שגוי על עמודות הכלולותבבעיית הטבלה המותאמת לזיכרון: אם SQL Server 2014 מזהה אינדקס חסר עבור שאילתה בטבלה המותאמת לזיכרון, היא תדווח על אינדקס חסר בSHOWPLAN_XML וכן את DMVs האינדקס החסרים כגון sys.dm_db_missing_index_details. במקרים מסוימים, פרטי האינדקס החסרים יכילו עמודות כלולות. כאשר כל העמודות כלולות באופן מרומז עם כל האינדקסים בטבלאות ממוטבות זיכרון, אין אפשרות לציין במפורש עמודות כלולות באינדקסים ממוטבים בזיכרון.
-
פרטי האינדקס החסרים משמיטים אינדקסים חסרים אם אינדקס hash קיים אך אינו מתאיםלבעיית השאילתה: אם יש לך אינדקס hash על עמודות של טבלה ממוטבת לזיכרון שאליה מתבצעת הפניה בשאילתה, אך לא ניתן להשתמש באינדקס עבור השאילתה, SQL Server 2014 לא ידווח תמיד על אינדקס חסר בSHOWPLAN_XML ובsys.dm_db_missing_index_details רישוי. באופן ספציפי, אם שאילתה מכילה פרדיקאטים של שוויון הכוללים קבוצת משנה של עמודות מפתח האינדקס או אם היא מכילה פרדיקאטים של אי-שוויון הכרוכים בעמודות מפתח אינדקס, אין אפשרות להשתמש באינדקס של ה-HASH כפי שהוא, ונדרש אינדקס אחר לביצוע השאילתה ביעילות.
סיבה
הבעיות מתרחשות מאחר שלוגיקת האינדקס החסרה בממטב השאילתות אינה מבדילה בין אינדקסים מסורתיים שאינם מקובצים באשכולות בטבלאות מבוססות-דיסק לבין סוגי האינדקס החדשים עבור טבלאות ממוטבות בזיכרון.
פתרון
הבעיות תוקנו לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 1 עבור SQL Server 2014 /en-us/help/2931693
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
פתרון
כדי לעקוף בעיות אלה, השתמש בפתרונות הבאים:
-
פתרון עבור בעיה: פרטי אינדקס חסרים דוח שגוי כלול עמודות עבור מיטוב הזיכרון tableDo לא לציין את פסוקית כלול עם אינדקסים בטבלאות ממוטבות לזיכרון.
-
פתרון עבור בעיה: פרטי אינדקס חסרים משמיטים אינדקסים חסרים אם אינדקס hash קיים אך אינו מתאים למקרה queryIn שאתה משתמש באינדקסי hash, בדוק את השאילתות ותוכניות השאילתות כדי לקבוע אם השאילתות יוכלו ליהנות מפעולות חיפוש של אינדקס בקבוצת משנה של מפתח האינדקס, או פעולות חיפוש של אינדקס בפרדיקאטים של אי-שוויון. אם עליך לחפש בקבוצת משנה של מפתח האינדקס, השתמש באינדקס של NONCLUSTERED או השתמש באינדקס HASH בדיוק בעמודות שעליך לחפש. אם עליך לחפש פרדיקאט של אי-שוויון, השתמש באינדקס NONCLUSTERED במקום ב-HASH.
הערה הפתרונות הם מהערות המוצר של SQL Server 2014
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".