תופעות

נניח שאתה משתמש ב-Microsoft SQL Server 2016 או 2017. כאשר אתה מעבד תנועות נתונים ממוטבות בזיכרון באמצעות משתני טבלה ממוטבים באמצעות זיכרון עם המשפט where קיים , ייתכן שתקבל תוצאה שגויה.

לדוגמה:

Step1: יצירת מסד נתונים וטבלה ממוטבים בזיכרון.

יצירת הדגמה של מסד נתונים

שינוי הדגמה של מסד נתונים הוספת FILEGROUP demo_mod מכילה MEMORY_OPTIMIZED_DATA 

שינוי הדגמה של מסד הנתונים הוסף קובץ (name = ' demo_mod1 ', filename = ' C:\DATA\ demo_mod1 ') ל-FILEGROUP demo_mod 

שימוש בהדגמה

לכת

צור הקלד dbo. IN_MEMORY_TABLE_TYPE כטבלה

(source_col INT NULL,

target_col INT not NULL

INDEX ix_InMemoryTable NONCLUSTERED (target_col)

) עם (MEMORY_OPTIMIZED = ON)

לכת

Step2: הוספת נתונים ועדכון נתונים.

הצהר על @t dbo. IN_MEMORY_TABLE_TYPE

הוספת ערכי @t (source_col, target_col) (10, 0), (0, 0)

בחר * מתוך @t

עדכון הגדרת r1 target_col =-1 מ-@t r1

היכן קיים (בחר * מ-@t r2 שבו r2.source_col > 0)

בחר * מתוך @t

לכת

Step3: בדוק את התוצאות.

תוצאות בפועל: לא כל השורות של משתנה הטבלה @t להתעדכן.

source_col | target_col

----------------------

10 | -1

0 | 0

התוצאות הצפויות: כל השורות אמורות להתעדכן כדי לקבל target_col =-1.

source_col | target_col

----------------------

10 | -1

0 | 1.

פתרון

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

      עדכון מצטבר 1 עבור SQL Server 2017 

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

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

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

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

מצב

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

הפניות

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

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלכם?

תודה על המשוב!

×