סימפטומים
נניח שיש לך שאילתה שמבצעת פעולות מחרוזת מסוימות, לדוגמה, שרשור, בעמודות CHAR או VARCHAR ב- Microsoft SQL Server 2014, 2016 ו- 2017. בחן את התרחיש הבא:
- שרשור עמודות עם איסוףים שונים שהוקצו להם.
- איסוףים אלה אינם תואמים זה עם זה. לדוגמה, אתה מנסה לשרשר עמודה האיסוף כעמודה Latin1_General_CI_AI עם Latin1_General_BIN.
- התוצאה הסופית של שרשור מוקצית לאיסוף ספציפי (כולל "database_default") כפתרון ההתנגשות.
בתרחיש זה, SQL Server להחזיר קמעונאות המציינת "השוואה לא חוקית עקב NO COLLATION", ואתה עשוי לקבל הודעות שגיאה מסוימות הדומה להודעה הבאה:
הערה
מיקום: typinfo.cpp:LineNumber
ביטוי: False
SPID: SPID
מזהה תהליך: ProcessID
תיאור: השוואה לא חוקית עקב אין איסוף.Msg 3624, רמה 20, מצב 1, מספר שורה
בדיקת קביעת מערכת נכשלה. עיין ביומן SQL Server השגיאות לקבלת פרטים. בדרך כלל, כשל קביעה נגרם על-ידי באג תוכנה או השחתת נתונים. כדי לבדוק אם מסד הנתונים פגום, שקול להפעיל את DBCC CHECKDB. אם הסכמת לשלוח קבצי Dump ל- Microsoft במהלך ההתקנה, קובץ Dump מצומצם יישלח אל Microsoft. ייתכן שעדכון יהיה זמין מ- Microsoft ב- Service Pack העדכני ביותר או בתיקון חם מהתמיכה הטכנית.Msg 596, רמה 21, מצב 1, מספר שורה
אין אפשרות להמשיך בביצוע מאחר שההפעלה נמצאת במצב kill.Msg 0, Level 20, State 0, LineNumber
אירעה שגיאה חמורה בפקודה הנוכחית. יש לבטל את התוצאות, אם קיימות.
גורם
במהלך שלב מיטוב השאילתות, SQL Server לחשב מספר מונה בתוצאות ביניים של שלבי שאילתה שונים, לדוגמה, שרשור. מאחר שפתרון ההתנגשות של האיסוף מתרחש בסוף, ממטב השאילתות עשוי להיות לא מודע לכך ומנסה לבצע את החישוב של מספר המונה של שרשור בקלט עם איסוף מתנגש.
פתרון
בעיה זו נפתרה בעדכונים המצטברים הבאים עבור SQL Server:
עדכון מצטבר 8 עבור SQL Server 2016 SP1
עדכון מצטבר 4 עבור SQL Server 2017
עדכון מצטבר 9 עבור SQL Server 2014 SP2
אודות עדכונים מצטברים עבור SQL Server:
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
העדכון המצטבר האחרון עבור SQL Server 2016
העדכון המצטבר האחרון עבור SQL Server 2017
העדכון המצטבר האחרון עבור SQL Server 2014
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".
חומרי עזר
קבל מידע על המינוח שבו משתמשת Microsoft כדי לתאר עדכוני תוכנה.