KB2733630 - סוכן המיזוג עלול להיכשל במהלך סינכרון שכפול מיזוג ב SQL Server

חל על
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Parallel Data Warehouse SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web 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 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use)

סימפטומים

במהלך סינכרון של שכפול מיזוג ב- Microsoft SQL Server 2008 ובגירסאות מתקדמות יותר של SQL Server, סוכן המיזוג עלול להיכשל. נוסף לכך, אתה מקבל את הודעת השגיאה הבאה:

הערה

סוכן המיזוג נכשל לאחר שזיהה שניקוי מטה-נתונים מבוסס שמירה מחק מטה-נתונים אצל המנוי עבור שינויים שעדיין לא נשלחו למפרסם. עליך לאתחל מחדש את המינוי (ללא העלאה). (מקור: MSSQL_REPL, מספר שגיאה: MSSQL_REPL-2147199401)

קבלת עזרה: http://help/MSSQL_REPL-2147199401

בעיה זו עלולה להתרחש ממספר סיבות. אלה כוללות סיבות רבות הצפויות בנסיבות מסוימות. כדי לקבוע אם נתקלת בשגיאה זו באופן בלתי צפוי, בדוק את פרטי המטה-נתונים המתוארים בסעיף "סיבה".

גורם

ניתן למצוא את הגורם לבעיה זו בטבלאות המערכת הבאות במנוי:

  • dbo.sysMergeSubscriptions
  • dbo. MsMerge_Genhistory

ודא שסוכן המיזוג אינו מסתנכרן עוד. לאחר מכן, הפעל את השאילתה הבאה ובחן את התוצאות:

בחר sentgen מ- SubscriberDB.dbo.sysMergeSubscriptions כאשר pubid = subid ו- sentgen אינו Null

תוצאות שאילתה

העמודה sentgen מסמנת את קבוצת השינויים הישנה ביותר שהמנוי שלח למפרסם. אם מוחזרים ערכים מרובים, בדוק את העמודות האחרות בטבלה dbo.sysMergeSubscriptions כדי לוודא שאתה מציג את המטה-נתונים עבור הפרסום הנכון. לאחר מכן, השתמש בערך ששאילתה זו מחזירה בשאילתה הבאה:

בחר את 20 המובילים * מתוך SubscriberDB.dbo.MSmerge_genhistory שבו Generation >= sentgen_value סדר לפי דורהפלט של השאילתה צריך להיות בערך כך:

תוצאת שאילתה לפי דור

אתה עשוי להיתקל בשגיאה באופן בלתי צפוי כאשר כל התנאים הבאים מתקיימים:

  • הערך בעמודת היצירה בשורה הראשונה גדול מעט מהערך של sentGen בשאילתה הקודמת.
  • הערך בעמודה genstatus הוא 4.
  • הערך בעמודה changecount הוא 0.

הערה גם הערך של עמודת ה- coldate של השורה הראשונה הוא בדרך כלל הרבה יותר מבוגר מהערך של עמודה זו בשורות האחרות.

פתרון

כדי לפתור בעיה זו, אתחל מחדש את המנוי שהביא לשגיאה.

בתרחישים מסוימים, ייתכן שתוכל לפתור בעיה זו ללא אתחול מחדש מלא. פנה לשירותי תמיכת הלקוחות של Microsoft לקבלת מידע אודות פתרון אפשרי.

כדי למנוע מופעים עתידיים של בעיה זו, החל אחד מהתיקונים הבאים, בהתאם לגירסת SQL Server שברשותך.

מידע עדכון מצטבר

SQL Server 2008

אין תיקון עבור בעיה זו ב- SQL SQL Server 2008.

SQL Server 2008 R2 Service Pack 2

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 3. לקבלת מידע נוסף על אופן ההשגה של חבילת עדכון מצטבר זו עבור SQL Server 2008 R2 Service Pack 2, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2754552 חבילת עדכון מצטבר 3 עבור SQL Server 2008 R2 Service Pack 2
 הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008 R2 Service Pack 2. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2730301 גירסאות Build של SQL Server 2008 R2 שפורסמו לאחר הפצת SQL Server 2008 R2 Service Pack 2

SQL Server 2012

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 4. לקבלת מידע נוסף על אופן ההשגה של חבילת עדכון מצטבר זו עבור SQL Server 2012, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2758687 חבילת עדכון מצטבר 4 עבור SQL Server 2012
 הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2012. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2692828 גירסאות ה- Build של SQL Server 2012 שפורסמו לאחר הפצת SQL Server 2012

SQL Server 2008 R2 Service Pack 1

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 8. לקבלת מידע נוסף על אופן ההשגה של חבילת עדכון מצטבר זו עבור SQL Server 2008 R2 Service Pack 1, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:

2723743 חבילת עדכון מצטבר 8 עבור SQL Server 2008 R2 SP1הערה מאחר שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008 R2 Service Pack 1. מומלץ לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציגו במאגר הידע Microsoft Knowledge Base:

2567616 גירסאות Build של SQL Server 2008 R2 שפורסמו לאחר הפצת SQL Server 2008 R2 SP1