KB4009823 - תיקון: אחרי גורמים מפעילים של DELETE מתרחשים בסדר שגוי בשרשרת הפעולה ON DELETE CASCADE ב- SQL Server 2014 או 2016

חל על
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 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) SQL Server 2016 Service Pack 1 SQL Server 2014 Service Pack 2 - duplicate (do not use)

סימפטומים

בחן את התרחיש הבא:

  • ב- SQL Server 2014 או 2016, קיימות כמה טבלאות, שכל אחת מהן כוללת אילוץ מסוג PRIMARY KEY צוין.
  • עליך ליצור שרשרת מדורגת עבור טבלאות אלה באמצעות אילוץ FOREIGN KEY יחד עם הפעולה ON DELETE CASCADE.
  • עליך ליצור גורם מפעיל של AFTER DELETE עבור כל טבלה.
  • אתה מוחק שורה מטבלת האב. פעולה זו מפעילה את המפעילים AFTER DELETE ואת שרשרת הפעולה ON DELETE CASCADE.

בתרחיש זה, גורמים מפעילים עשויים להתרחש בסדר שגוי.

פתרון

בעיה זו נפתרה בעדכונים המצטברים הבאים עבור SQL Server:

עדכון מצטבר 5 עבור SQL Server 2016 RTM

עדכון מצטבר 2 עבור SQL Server 2016 SP1

עדכון מצטבר 5 עבור SQL Server 2014 SP2

עדכון מצטבר 11 עבור SQL Server 2014 Service Pack 1

אודות עדכונים מצטברים עבור SQL Server

כל עדכון מצטבר חדש עבור SQL Server מכיל את כל תיקוני האבטחה והתיקונים החמים שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:

העדכון המצטבר האחרון עבור SQL Server 2016

העדכונים המצטברים האחרונים עבור SQL Server 2014

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

חומרי עזר

אילוצי שלמות הקשרים מדורגים

למד על המינוח שבו Microsoft משתמשת לתיאור עדכוני תוכנה.