02-12-2006, 22:25
|
|
מנהל פורום מערכות הפעלה - הרובע המייקרוסופטי.
|
|
חבר מתאריך: 07.10.04
הודעות: 13,777
|
|
הסבר מהיר (בגלל שאני לא בטוח עם פורום בסיסי נתונים פעיל, אבל אתה אמור לשאול שם)
וייסלחו לי הDBA-ים על חוסר הדיוקים... אני לא הכי אוהב את המקצוע הזה
transaction log הוא בסיס נתונים אשר שומר בתוכו את כל השינויים שאמורים להתבצע בטבלאות שלך.
כדי "לרוקן" אותו (או לבצע את השינויים) אתה צריך לבצע פקודת commit, ביחד עם השינויים בDB הtransaction log שלך ייתרוקן, אבל מקום שהוקצה בו עדיין יישאר.
truncate (לא בטוח מה המשמעות מבחינת SQL) היא פקודה למחיקת כל הנתונים מטבלה מסויימת מבלי למחוק את הטבלה, אני בספק אם זו פעולה שאתה רוצה לבצע.
בכול מקרה, גם מקום שהתפנה עדיין יהיה מוקצה לבסיס נתונים בSQL שלך.
shrink database בSQL פשוט ישחרר את כל המקום המוקצה שאינו בשימוש הDB שלך, כך שייתפנה לך מקום ולא תאבד שום מידע.
אתה חייב לשבת עם מישהו שמבין עניין ולבצע תוכניות maitenance לטיפול בDB שלך כדי שלא ייקרה מצב זהה...
אני רק מזכיר שכדי למחוק לדוגמה 500 מגה (שלא ע"י shrink) מהDB שלך אתה צריך לפחות 1 ג'יגה פנוי על הכונן
_____________________________________
|