תיקון: "היתה לא בצע שוב רשומת יומן" שגיאה ולאחר משוכפל מושעה ב- SQL Server 2016, 2014, או 2012

מאפייני הבעיה

שקול את התרחיש הבא:

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

בנוסף, ייתכן שתקבל הודעת שגיאה הדומה להודעה הבאה:
< חותמת זמן > spid41s שגיאה: 3456, סיכון: 21, מצב: 1.
spid41s < חותמת זמן > לא היתה שוב רשומת יומן רישום (#), עבור מזהה תנועה (#), בעמוד (#), מסד נתונים '< dbname >' (מסד נתונים מזהה #). דף: LSN = (#), יחידת ההקצאה = #, סוג = #. Log: OpCode = #, ההקשר #, PrevPageLSN: (#). שחזור מגיבוי של מסד הנתונים, או לתקן את מסד הנתונים.
spid41s < חותמת זמן > קבוצות זמינות AlwaysOn להעברת נתונים עבור מסד נתונים '< dbname >' הושעתה מהסיבה הבאה: "מערכת" (2 מזהה מקור; מחרוזת של מקור: 'SUSPEND_FROM_REDO'). כדי לחדש את התנועה נתונים במסד הנתונים, יהיה עליך לחדש את מסד הנתונים באופן ידני. לקבלת מידע אודות האופן שבו ניתן לחדש את מסד נתונים של זמינות, ראה ספרים מקוונים של שרת SQL.
< חותמת זמן > שגיאה spid41s: 3313, סיכון: 21, מצב: 2. אירעה שגיאה < חותמת זמן > spid41s במהלך redoing של פעולה שנרשמו ביומן במסד נתונים '< dbname >', בחלק מזהה רשומה ביומן (#). בדרך כלל, כשלים ספציפיים נרשמת בעבר שגיאה בשירות יומן האירועים של Windows. שחזר את מסד הנתונים מגיבוי מלא, או לתקן את מסד הנתונים.

הגורם

בעיה זו מתרחשת כאשר השינויים מוחלים בעת תהליך בצע שוב אם מנגנון מסד הנתונים נתקל LSNs out סדר העמודים מערכת (GAM, PFS).

פתרון

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

המלצה: התקן את העדכון המצטבר האחרון עבור שרת SQL


העדכון מונע התרחשות של בעיה זו. אם הבעיה כבר התרחשה, בצע את השלבים הבאים כדי להצטרף שוב את קבוצת זמינות AlwaysOn:
  1. הסר קיים AlwaysOn משני העותקים המשוכפלים.
  2. הפעל את הפקודה הבאה קבצי הנתונים המושפעת כדי להסיר שטח שלא הוקצה ממסד הנתונים:
    DBCC SHRINKFILE(<file_id>, TRUNCATEONLY) 
  3. גבה את מסד הנתונים וקבצי יומן הרישום.
  4. שחזר את מסד הנתונים ואת יומני על העותק המשוכפל משני AlwaysOn.
  5. להצטרף לקבוצה AlwaysOn זמינות.

מצב

Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.

הפניות

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

מזהה פריט: 3173471 - סקירה אחרונה: 17 בינו׳ 2017 - תיקון: 1

Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core

משוב