KB3030352 - תיקון: טבלת השינויים מסודרת באופן שגוי עבור שורות מעודכנות לאחר הפיכת לזמינה שינוי לכידת נתונים עבור מסד נתונים של Microsoft SQL Server

חל על
SQL Server 2008 Enterprise SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard 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

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

סימפטומים

לאחר הפיכת לכידת נתוני שינוי לזמינה עבור מסד נתונים של Microsoft SQL Server 2012, 2014 או 2016, ייתכן שהעמודה __$operation בטבלת השינויים תהיה מסודרת באופן שגוי עבור שורות מעודכנות. בעת עדכון שורה, קיימות שתי שורות בטבלת השינויים, כאשר delete ו- insert עבור __$operation. אך פעולת הוספה עשויה להופיע באופן בלתי צפוי לפני פעולת מחיקה. אם היישום מחיל מחדש את השורות על טבלה אחרת עם אילוץ מפתח ראשי, עלולה להתרחש הפרת המפתח הראשי הבאה:

הערה

Msg 2627, רמה 14, מדינה 1, שורה 6הפרה של אילוץ מפתח ראשי 'Primary_Key_name'. אין אפשרות להוסיף מפתח כפול באובייקט 'table_name'. ערך המפתח המשוכפל הוא (value).

      

פתרון

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

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

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

מצב

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

חומרי עזר

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