סימפטומים
נניח שיש לך משפט UPDATE המפנה פונקציית מחיצה לא קיימת באמצעות מילת המפתח של $PARTITION ב- Microsoft SQL Server 2014, 2016 או 2017. לדוגמה,
הערה
UPDATE TableName SET ColumnName='xyz' WHERE $PARTITION. NonExistingPartitionFunction(ColumnName) = 1
במצב זה, SQL Server אינו מבצע עדכון או מחזיר הודעת שגיאה כדי לציין שהאובייקט NonExistingPartitionFunction אינו קיים. עם זאת, מנקודת המבט של המשתמש, נראה שהצהרת UPDATE מבוצעת בהצלחה, אך למעשה היא נכשלה.
גורם
בעת ביצוע אצווה, SQL Server לבצע את זיהוי השם הדחוי (DNR). בתהליך זה, SQL Server אינו מפיק באופן מיידי שגיאה כאשר הוא נתקל באובייקט שאינו קיים, ומצפה שהאובייקט ייווצר על-ידי המודול או האצווה לפני ביצוע המשפט המפנה לאובייקט זה. עבור פונקציות מחיצה, SQL Server אינו מטפל כראוי ב- DNR.
מידע נוסף
לקבלת מידע נוסף אודות DNR, ראה זיהוי שם דחוי.
פתרון
בעיה זו נפתרה בעדכונים המצטברים הבאים עבור 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 כדי לתאר עדכוני תוכנה.