none
Transaction log מתנפח (בעיה לא טריוויאלית) RRS feed

  • שאלה

  • שלום לכולם,

    יש לנו לקוח שבשרת שלו רצה אפליקציה שיושבת על SQL Server 2000. גודל DB הוא קרוב ל-1GB וגודל ה-log לא עלה על 200MB עד לאחרונה. פתאום, ה-log התנפח עד 9GB תוך שעה, וזה קרה באמצע הלילה. האפליקציה תמיד online, אבל עובדים איתה מ- 8:00 עד 18:00 בערך. מאז זה קורה פעם בשבוע בשעות שרירותיות, לרוב בלילה. מסיבה הזאת לא הצלחתי לתפוס את האירוע עם trace. חוץ מזה הכל עובד תקין ותוכניתנים שתומכים באפליקציה טוענים שהם לא רואים שום דבר יוצא דופן בלוגים שלהם. ה-DB נמצא ב-Full recovery model, מתרחש גיבוי log פעם בשעה, ה- job הזה לא נופל, בדקתי. האם יש למישהו רעיונות?

    יום שני 19 נובמבר 2012 12:33

תשובות

  • היי איוון,

    האם ניסית לבדוק האם רץ תהליך שמבצע Rebuild לאינקדסים בשעות האלו?? אם אכן יש לך תהליך כזה, סביר מאד להניח שהוא מנפח את קובץ הלוג.

    במידה ולא מדובר בתהליך הקשור לאינקדסים, הייתי בודק האם מתבצע בלילה תהליך של מחיקה/העברה/עדכון של כמות נתונים גדולה יחסית (תהליכים כגון העברה לארכיון, דוחות וכו'). אלו התסריטים השכיחים ביותר למצב בו קובץ הלוג מתנפח.

    מקווה שעזרתי,

    חקיקת יוסי

    • הוצע כתשובה על-ידי Guy GlantserMVP, Moderator יום שלישי 20 נובמבר 2012 05:08
    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 20 נובמבר 2012 18:31
    יום שני 19 נובמבר 2012 12:54
  • בדוק ב-application event log וב-SQL log וחפש אירועים חריגים משעות אלה. במידה ולא תמצא, ובמידה וגם הלוגים של האפליקציה לא מראים כלום - אין לך ברירה אלא להציב טרייס ולחכות לפעם הבאה שזה יקרה. 

    אם גודל ה-DB הוא ג'יגה אחד אז זה לא rebuild indexes.

    • סומן כתשובה על-ידי Ivan Radchenko יום שלישי 11 דצמבר 2012 05:50
    יום שני 10 דצמבר 2012 12:12

כל התגובות

  • היי איוון,

    האם ניסית לבדוק האם רץ תהליך שמבצע Rebuild לאינקדסים בשעות האלו?? אם אכן יש לך תהליך כזה, סביר מאד להניח שהוא מנפח את קובץ הלוג.

    במידה ולא מדובר בתהליך הקשור לאינקדסים, הייתי בודק האם מתבצע בלילה תהליך של מחיקה/העברה/עדכון של כמות נתונים גדולה יחסית (תהליכים כגון העברה לארכיון, דוחות וכו'). אלו התסריטים השכיחים ביותר למצב בו קובץ הלוג מתנפח.

    מקווה שעזרתי,

    חקיקת יוסי

    • הוצע כתשובה על-ידי Guy GlantserMVP, Moderator יום שלישי 20 נובמבר 2012 05:08
    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 20 נובמבר 2012 18:31
    יום שני 19 נובמבר 2012 12:54
  • היי יוסי,

    ישנו גם ג'וב שמבצע Rebuild לאינדקסים וגם זה שמוחק מידע, אבל ה-log מתנפח בשעות שרירותיות ולא בזמן ריצה של הג'ובים האלה.

    לגבי הדוחות, איך הם יכולים לנפח את ה-log? עם אני לא טועה, משתמש לא יכול לגרום ל-log להתנפח: הוא לא יכול למחוק דברים ולא יכול לבצע כמות עדכונים כזאת תוך שעה.

    תודה רבה על העזרה!


    יום שלישי 20 נובמבר 2012 08:30
  • בדוק ב-application event log וב-SQL log וחפש אירועים חריגים משעות אלה. במידה ולא תמצא, ובמידה וגם הלוגים של האפליקציה לא מראים כלום - אין לך ברירה אלא להציב טרייס ולחכות לפעם הבאה שזה יקרה. 

    אם גודל ה-DB הוא ג'יגה אחד אז זה לא rebuild indexes.

    • סומן כתשובה על-ידי Ivan Radchenko יום שלישי 11 דצמבר 2012 05:50
    יום שני 10 דצמבר 2012 12:12
  • תודה, הבעיה נפתרה כבר. לדעתי, התוכניתנים מצאו סוף סוף מה קרה ותיקנו את זה.
    יום שלישי 11 דצמבר 2012 05:53