KB2421014 - תיקון: הודעת השגיאה "אירעה שגיאה חמורה בפקודה הנוכחית" בעת שימוש בטבלה החופשית או בפונקציה Containstable בתצוגה סדורה באינדקס בשאילתת CTE ב- SQL Server 2008 או ב- SQL Server 2008 R2

חל על
SQL Server 2008 SQL Server 2008 R2 SQL Server 2008 Service Pack 2

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

סימפטומים

נניח שמופע בעל שם ב- Microsoft SQL Server 2008 או ב- Microsoft SQL Server 2008 R2 מותקן בשרת. בעת הפעלת שאילתת Common Table Expression (CTE) המשתמשת בפונקציה Freetexttable או Containstable בתצוגה סדורה באינדקס, שאילתת CTE תיכשל ותתרחש חריגת הפרת גישה. נוסף לכך, אתה מקבל את הודעת השגיאה הבאה:

הערה

Msg 0, רמה 11, מצב 0, שורה 0
אירעה שגיאה חמורה בפקודה הנוכחית. יש לבטל את התוצאות, אם בכלל.

לדוגמה, חריגת הפרת הגישה מתרחשת כשאתה מפעיל את הקוד הבא:

WITH CTE AS  (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >'))  SELECT * FROM CTE  

פתרון

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

SQL Server 2008 Service Pack 2

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

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

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

SQL Server 2008 R2

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

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

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

פתרון

כדי לפתור בעיה זו, השתמש באחת מהשיטות הבאות:

  • השתמש בתצוגה, טבלה זמנית או משתנה טבלה במקום CTE כדי לאחסן את תוצאות הביניים.
  • עדכן את השאילתה כך שתשתמש בטבלה נגזרת או בשאילתת משנה. הגדרה זו מבטלת את הצורך להשתמש ב- CTE.

מצב

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

חומרי עזר

למידע נוסף על השימוש בביטויי טבלה נפוצים, עבור אל אתר האינטרנט הבא של Microsoft:

כיצד להשתמש בביטויי טבלה נפוצים לקבלת מידע נוסף אודות הפונקציה Freetexttable (Transact-SQL), בקר באתר האינטרנט הבא של Microsoft:

FREETEXTTABLE (Transact-SQL) לקבלת מידע נוסף אודות הפונקציה Containstable (Transact-SQL), בקר באתר האינטרנט הבא של Microsoft:

CONTAINSTABLE (Transact-SQL) למידע נוסף על אופן היצירה של תצוגות סדורות באינדקס, עבור אל אתר האינטרנט הבא של Microsoft:

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

935897 מודל מתן שירות מצטבר זמין מצוות SQL Server כדי לספק תיקונים חמים לבעיות שדווחו

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

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

824684 תיאור של המונחים הרגילים המשמשים לתיאור עדכוני התוכנה של Microsoft