KB2727322 - תיקון: תוצאות שגויות מוחזרות בעת הפעלת שאילתה המשתמשת במקביליות בתוכנית ביצוע השאילתה ב SQL Server 2008, ב SQL Server 2008 R2 או ב SQL Server 2012

חל על
SQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Standard Edition for Small Business SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Enterprise Core SQL Server 2012 Web SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web

Microsoft מפיצה את תיקוני Microsoft SQL Server 2008 Service Pack 3 כקובץ אחד הניתן להורדה. מאחר שהתיקונים הם מצטברים, כל מהדורה חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008 Service Pack 3.

סימפטומים

נניח שאתה מפעיל שאילתה המשתמשת בתקבולת בתוכנית ביצוע השאילתה ב- SQL Server 2008, ב- SQL Server 2008 R2 או ב- SQL Server 2012. תוכנית השאילתה עומדת בתנאים הבאים:

  • תוכנית ביצוע השאילתה מכילה אופרטור מפת סיביות וצירוף hash או צירוף מיזוג.
  • פרדיקאט הצירוף של קוד Hash או הצירוף של מיזוג מכיל השוואת IS בעמודות שעשויות להיות NULL.

בתרחיש זה, השאילתה מחזירה תוצאות שגויות.

גורם

בעיה זו מתרחשת מאחר שערך NULL מתבטל כאשר SQL Server משתמש בסינון מפת סיביות בסריקת טבלה או בסריקת אינדקס.

פתרון

מידע עדכון מצטבר

חבילת עדכון מצטבר 1 עבור SQL Server 2012 Service Pack 1

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 1. לקבלת מידע נוסף על אופן ההשגה של חבילת עדכון מצטבר זו עבור SQL Server 2012 Service Pack 1, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2765331 חבילת עדכון מצטבר 1 עבור SQL Server 2012 Service Pack 1 הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2012. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2772858 גירסאות ה- Build של SQL Server 2012 שפורסמו לאחר הפצת SQL Server Service Pack 1 של 2012

SQL Server 2008 R2 Service Pack 2

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 2 עבור SQL Server 2008 R2 Service Pack 2. לקבלת מידע נוסף על אופן ההשגה של חבילת עדכון מצטבר זו, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2740411 חבילת עדכון מצטבר 2 עבור SQL Server 2008 R2 Service Pack 2 הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008 R2. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2730301 גירסאות Build של SQL Server 2008 R2 שפורסמו לאחר הפצת SQL Server 2008 R2 Service Pack 2

SQL Server 2008 R2 Service Pack 1

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 8. לקבלת מידע נוסף על אופן ההשגה של חבילת עדכון מצטבר זו עבור SQL Server 2008 R2 Service Pack 1, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2723743 חבילת עדכון מצטבר 8 עבור SQL Server 2008 R2 SP1הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008 R2 Service Pack 1. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2567616 גירסאות Build של SQL Server 2008 R2 שפורסמו לאחר הפצת SQL Server 2008 R2 SP1

SQL Server 2012

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 3 עבור SQL Server 2012. לקבלת מידע נוסף על חבילת עדכון מצטבר זו, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2723749 חבילת עדכון מצטבר 3 עבור SQL Server 2012הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2012. Microsoft ממליצה לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2692828 גירסאות Build של SQL Server 2012 שפורסמו לאחר הפצת SQL Server 2012 עליך להחיל תיקון חם של SQL Server 2012 על התקנה של SQL Server 2012.

SQL Server 2008 Service Pack 3

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 6 עבור SQL Server 2008 Service Pack 3. לקבלת מידע נוסף על חבילת עדכון מצטבר זו, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2715953 חבילת עדכון מצטבר 6 עבור SQL Server 2008 Service Pack 3 הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2629969 גירסאות Build של SQL Server 2008 שפורסמו לאחר הפצת SQL Server 2008 Service Pack 3 תיקונים חמים של Microsoft SQL Server 2008 נוצרים עבור ערכות Service Pack ספציפיות של SQL Server. עליך להחיל תיקון חם של SQL Server 2008 Service Pack 3 על התקנה של SQL Server 2008 Service Pack 3. כברירת מחדל, כל תיקון חם המסופק בערכת Service Pack של SQL Server כלול בערכת ה- Service Pack הבאה של SQL Server.

מצב

Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".

פתרון

כדי לעקוף בעיה זו, הימנע משימוש בתקבולת בשאילתה על-ידי החלת אחת מהשיטות:

  • הוסף את אפשרות הרמז של שאילתה MAXDOP 1.
  • הגדר את האפשרות 'מידה מרבית של תקבולת' ל- 1.

מידע נוסף

לקבלת מידע נוסף אודות צירופי Hash מקבילים, עבור אל אתר הבלוגים הבא של MSDN:

מידע כללי אודות צירופי Hash מקבילים לקבלת מידע נוסף אודות מסנני מפת סיביות של ביצוע שאילתה, עבור אל אתר האינטרנט הבא של הבלוגים של MSDN:

מידע כללי אודות מסנני מפת סיביות של ביצוע שאילתה