מחיקת קבצי LOG של SQL SERVER 2005

יאירN

New member
מחיקת קבצי LOG של SQL SERVER 2005

שלום לכם, האם ישנה דרך כלשהי למחוק קבצי לוג אשר שרת SQL SERVER 2005 מייצר באופן אוטומטי? כמו למשל, קבצי לוג של טרנזקציות שאין להם בקוד COMMIT בטעות ולכן הם כל פעם נוצרים מחדש ומכבידים על השרת. מהי הדרך להסיר LOGים לא רצויים אלו מה-DATABASE \ שרת. תודה רבה מראש, יאיר נבט
 

ShlomoBenAri

New member
עד כמה שידוע לי SQL חייב את קבצי הלוג , אבל

ניתן להגדיר שישמור רק את [הכל / כלום / הטרנזקציה האחרונה ]
| R.Mouse on DbName::properties->Options->Recovery Model = [Full / Bulk-logged / Simple]​
אך לא מומלץ בגיבוי ה DB , בהגדרה מתאימה, קובץ הלוג מתרוקן
 

יאירN

New member
במידה ואני אתן SIMPLE, אז כל השאר יתרוקן?

אהלן שלמה, במידה ואני אכן אתן SIMPLE (שאם הבנתי נכון, הוא שומר רק את הטרנזקצייה האחרונה), אז כל שאר רשומות הטרנזקציות אוטוממטית יימחקו?
 
אם יש טראנסאקציה פתוחה

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