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

חל על: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Developer Edition

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


השתמש ב- SQL Server 2005 מיזוג שכפולים או SQL Server 2008 מיזוג שכפולים עם סנכרון אינטרנט מבוסס מנוי. דליפת זיכרון מתרחשת אחרי סינכרונים חוזרות וייתכן שיופיעו שגיאות 'אין זיכרון פנוי' לאחר פרק זמן מסוים. זה הופך ניכרת כאשר התהליך המארח לא מחדש במשך זמן רב, כגון כאשר נעשה שימוש סוכן מיזוג (Replmerg.exe) עם המתג-רציף או כאשר צוין הפרמטר רציף בפרופיל סוכן המוחל על הסוכן. גם בעיה זו עשוי להשפיע על RMO יישום או שירות שפיתחת הפועל סינכרון בלולאה כאשר היישום פועל במשך כמה ימים מבלי לצאת.

הגורם


למספר אובייקטים פנימיים הם נחשף בעת סינכרון כל.

פתרון


SQL Server 2005 Service Pack 3


התיקון עבור בעיה זו פורסם לראשונה ב- 6 עדכון מצטבר עבור SQL Server 2005 Service Pack 3. לקבלת מידע נוסף אודות חבילת עדכון מצטבר זה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
974648 Cumulative בחבילת 6 עדכון עבור SQL Server 2005 Service Pack 3
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2005 מהדורה. Microsoft ממליצה כי תשקול את החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
960598 SQL Server 2005 בונה שפורסמו לאחר פורסם SQL Server 2005 Service Pack 3.
תיקונים חמים של Microsoft SQL Server 2005 נוצרות עבור ערכות שירות הספציפי של שרת SQL. עליך להחיל תיקון חם SQL Server 2005 Service Pack 3 על התקנה של SQL Server 2005 Service Pack 3. כברירת מחדל, כל תיקון חם הכלול ב- SQL Server service pack נכלל ב- SQL Server service pack הבא.

גירסת ההפצה של SQL Server 2008

חשוב עליך להתקין תיקון זה אם אתה מפעיל את המהדורה של SQL Server 2008.

התיקון עבור בעיה זו פורסם לראשונה ב- 8 עדכון מצטבר. לקבלת מידע נוסף אודות האופן שבו ניתן להשיג את חבילת עדכון מצטבר זה עבור SQL Server 2008, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
975976 Cumulative בחבילת 8 עדכון עבור SQL Server 2008
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 מהדורה. אנו ממליצים לך לשקול החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
956909 SQL Server 2008 בניית תוכן שפורסמו לאחר ב- SQL Server 2008 פורסם

SQL Server 2008 ה-Service Pack 1

חשוב עליך להתקין תיקון זה אם אתה משתמש ב- SQL Server 2008 Service Pack 1.


התיקון עבור בעיה זו פורסם לראשונה ב- 5 עדכון מצטבר עבור SQL Server 2008 Service Pack 1. לקבלת מידע נוסף אודות חבילת עדכון מצטבר זה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
975977 Cumulative בחבילת 5 עדכון עבור SQL Server 2008 Service Pack 1
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 מהדורה. Microsoft ממליצה כי תשקול את החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
970365 SQL Server 2008 בניית תוכן שפורסמו לאחר SQL Server 2008 Service Pack 1 פורסם
תיקונים חמים של Microsoft SQL Server 2008 נוצרות עבור ערכות שירות הספציפי של שרת SQL. עליך להחיל תיקון חם SQL Server 2008 Service Pack 1 להתקנה של SQL Server 2008 Service Pack 1. כברירת מחדל, כל תיקון חם הכלול ב- SQL Server service pack נכלל ב- SQL Server service pack הבא.

מצב


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

פתרון הבעיה


כדי לעקוף בעיה זו, השתמש באחת מהשיטות הבאות:

שיטה 1

אם אתה משתמש של סוכן מיזוג במצב רציף, לעצור את תהליך סוכן מיזוג מעת לעת, והפעל אותו שוב.

לדוגמה, תקבל שגיאות 'אין זיכרון פנוי' לאחר חמישה ימים, ומתוזמן שלך סוכן מיזוג כפעולת. לאחר מכן, באפשרותך לתזמן משימה חדשה של SQL Server Agent כדי להתקשר sp_stop_job ואחריו sp_start_job ציון שמך משימת סוכן מיזוג, יעבור במחזוריות התהליך מושפע כל חמישה ימים. בעת הפסקת תהליך סוכן מיזוג (Replmerg.exe), יפורסמו כל דליפת זיכרון בתוך שטח הזיכרון של תהליך.

לקבלת מידע נוסף אודות השימוש בבורר-רציף על סוכן מיזוג, עיין באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):

שיטה 2

אם תשתמש סוכן מיזוג מתוך משימה, באפשרותך להגדיר ידנית לוגיקה לולאה בתוך המשימה באמצעות שלבים נוספים במקום להסתמך על הפרמטר רציף. במקום תהליך סוכן מיזוג אחת שימוש בלולאה מתמדת פנימי ברציפות, לתזמן את סוכן מיזוג כצעד משימה שחוזרת על בסיס תכופים כגון פעם אחת כל דקה. התהליך תיסגר בין נסיונות חוזרים, ופינוי זו כל דליפת זיכרון.
ערוך הסוכן מיזוג משימת כך חזור על השלבים בלולאה עם השהיה בין חוזר על עצמו.
  1. לאחר שלב [3] הוסף שלב חדש [4] "לזהות כיבוי סוכן nonlogged," בשם "לולאה שנית מוגבל." TSQL ואת הפקודה כדי להגדיר את הסוג "עיכוב waitfor ' 0: 00:05'", עיכוב TSQL זה יספק השהיה השני 5 שבו באפשרותך להגדיר כ מרווח זמן תשאול באופן כזה כי הסוכן מיזוג השתהה לרגע בין הפעלות וכי לא יפעל באופן קבוע. בכרטיסיה ' מתקדם ' ציין "על הצלחת הפעולה" כ- "מעבר לשלב סוכן הפעלה [2]" ו- "על הפעולה כשל" כ- "Go לסוכן ריצה שלב [2]".
  2. ערוך שלב [2] הפעלת סוכן כדי להבטיח שמתמלאת הלולאה שלב [4]. בכרטיסיה מתקדם של שלב [2], הגדר את ההצלחה בפעולה, "עבור לשלב: [4] לולאה שנית מוגבל" והגדר את הפעולה כשל On "מעבר לשלב הבא".
  3. ערוך שלב [3] "זיהוי סוכן nonlogged כיבוי" כדי לוודא הלולאה בשלב [4] מתמלאת. בכרטיסיה מתקדם של שלב [3], הגדר על הצלחת הפעולה, "מעבר לשלב הבא". באפשרותך גם להחליט אם ברצונך שלב [3] על כשל הפעולה יוגדר כ "לעבור לשלב הבא" או "לצאת את משימת דיווח על כשל". אם הוא מוגדר כדי לצאת, הוא יציג הכשל משימה בשכפול והצג המשימה. אם הוא מוגדר לאחר הכישלון כדי לעבור אל השלב הרביעי של לולאה, להפעיל שוב סוכן מיזוג ללא הגבלה, ונרשם השגיאות ללא הגבלה.

שיטה 3

באופן דומה אם ניתן להשתמש ביישום RMO לקרוא לפעולת השירות MergeSynchronizationAgent.Synchronize() אשר מסנכרנת את מסד הנתונים של מנוי בלולאה, הפסק והפעל מחדש את התהליך באופן סדיר כדי לפנות זיכרון שבו נחשף עקב בעיה זו.
לקבלת מידע נוסף אודות האובייקט ושיטת זה, עיין באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN): http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.mergesynchronizationagent.synchronize(SQL.90).aspx

הפניות


לקבלת מידע נוסף אודות אופן השימוש בבורר-רציף על סוכן מיזוג, בקר באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):
לקבלת מידע נוסף אודות הפרוצדורה המאוחסנת sp_stop_job , בקר באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):
לקבלת מידע נוסף אודות הפרוצדורה המאוחסנת sp_start_job , בקר באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):
לקבלת מידע נוסף כיצד להשיג את SQL Server 2005 Service Pack 3, לחץ על מספר המאמר שלהלן כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:

913089 כיצד להשיג את ה-service pack העדכני עבור SQL Server 2005

לקבלת מידע נוסף אודות תכונות חדשות ב- SQL Server 2005 Service Pack 3 (SP3) ועל השיפורים ב- SQL Server 2005 SP3, בקר באתר האינטרנט הבא של Microsoft:לקבלת מידע נוסף הסכימה למתן שמות עבור עדכונים של SQL Server, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:

חבילות עדכון הסכימה למתן שמות חדשים 822499 עבור תוכנת שרת Microsoft SQL

לקבלת מידע נוסף על מינוח עדכוני התכנה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
824684 תיאור המינוח הרגיל המשמש לתיאור עדכוני התוכנה של Microsoft