KB4046745 - תיקון: משפט UPDATE נכשל באופן שקט בעת הפניה לפונקציית מחיצה שאינה קיימת במשפט WHERE ב- SQL Server 2014, 2016 או 2017

חל על
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise Core SQL Server 2017 Enterprise SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

סימפטומים

נניח שיש לך משפט 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 כדי לתאר עדכוני תוכנה.