MSSQL בעיה במסד נתונים

24sharon

New member
MSSQL בעיה במסד נתונים

כל כמה זמן 'נופל' השרת של הנתונים. ברגע שמנסים להכניס נתון לנתונים מקבלים את הודעת השגיאה:
Msg 1105, Level 17, State 2, Line 1 Could not allocate space for object 'TblCandidates' in database 'XXXXX' because the 'PRIMARY' filegroup is full.​
לפי הבנתי זה אומר שהמסד מלא בנתונים. הנתונים צריכים להיות שמורים בזמן הפעולה לחישובים, אבל יום למחרת אין כל צורך בנתונים. העניין הוא שבכל מקרה נשמר קובץ הלוג היות שהוא מוגדר על FULL, ובשרת לא הסכימו להוריד את אפשרות שמירת המידע לSIMPLE. הפתרון שעובד הוא מחיקת הטבלה. ויצירת חדשה תחתיה. מה ניתן לעשות במקרה כזה? איך אפשר לדעת במסד נתונים מה הפעולה הכבדה ש'לוקחת' הרבה מקום מהשרת. מה הייתם עושים במקרה כזה. אני יכולה ויודעת לפתור את הבעיה נקודתית, אבל אני רוצה לשפר את הביצועים העתידיים, שלא כל 'חודש' יפול השרת ויצטרכו לפתור. האם יש אפשרות בשאילתא של הכנסת הנתונים, להגדיר משהו על מנת שלא יישמר בלוג. מצרפת כאן כמה תוצאות של הנתונים בשרת, אולי תוכלו למקד אותי בפתרון הבעיה. המון תודה! וסליחה על צרור השאלות
 

24sharon

New member
והנה עוד מידע

של שאילתות מידע על קובצי השרת. אם צריך עוד מידע כלשהו אשמח לתת. המון המון תודה
 

ShlomoBenAri

New member
בשאילתה השלישית שדה maxsize מוגבל

וצריך הגדלה משמעותית אפשר בנוסף לבצע שרינק תקופתי ובמצב לוג FULL, גיבוי מחזיר אותו למצב התחלתי (קטן מאוד).
 

GeForce 5

New member
>>

כפי הנראה אין קשר ל-log או ל-recovery model. הקובץ המלא הוא Primary המכיל את ה-Data. ההגבלה שלך היא ל-15MB ואת משתמשת בכולה. הדרך לפתור זאת היא להגדיל את ההקצאה או למחוק נתונים. אם אין צורך בנתונים ישנים מומלץ להגדיר job שיבצע מחיקה.
 

24sharon

New member
יש אפשרות לעשות איזו שאילתא

שתרוץ על כל האובייקטים במסד (טבלאות, SP או כל דבר אחר) ולומר לי כמה אחוז מהנפח לוקח כל אובייקט. לדוגמא: טבלת משתמשים:5% טבלת לקוחות 25%. וכו'. כי המסד לא כ"כ מלא בנתונים והנפח שלו ממש גדול, אני לא מוצאת את הגורם לסיבה. נקודה נוספת. על שרת זה מוגדרת מערכת משתמשים של ASP NET. ייתכן מאוד והיא לוקחת את רוב הכובד. לגבי מחיקה אין לי אפשרות להכניס לוג אבל הכנסתי טריגר שמוחק את הנתונים אוטומטית. אבל יש כאן משהו שהוא לא פרופציוני. טבלה שהיא די ריקה בלי הרבה נתונים, לוקחת 15MB.
 

24sharon

New member
תיקון סופרים

*אין לי אפשרות להכניס ג'וב. * אני לא מוצאת את הגורם /הסיבה .
 

24sharon

New member
והנה ההודעה על קובץ לוג מנופח

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

24sharon

New member
ואין לי הרשאה

לבצע SHRINKFILE על מנת לצמצם את קובץ הלוג. הודעת חוסר ההרשאה היא:
Msg 7983, Level 14, State 13, Line 1 User 'XXXXX' does not have permission to run DBCC SHRINKFILE for database 'YYYYY'. DBCC execution completed. If DBCC printed error messages, contact your system administrator.​
מה אפשר לעשות בכזה מצב? ושוב סליחה על רצף השאלות.
 

GeForce 5

New member
>>

1. מצורף סקריפט להצגת הגודל בה משתמשת כל טבלה. 2. הבעיה עם הלוג היא שאת מנסה למחוק את כל ה-data "במכה". ולכן הפעולה כולה נשמרת ללוג ומנפחת אותו. אם יש לך מגבלת לוג הפתרון הוא מחיקה ב-bulks. אבל עדיין, מכיוון שה-recovery שלך full יש לבצע backup ללוג כדי לנקות אותו, אז זה לא ממש יעזור אם אין לך הרשאות לכך. אני לא חושב שיש קשר לדפי ה-asp, אלא לעובדה שהמסד שלך מוגבל ל-15MB והלוג ל-10MB, ואלו גדלים שקל מאוד לעבור אותם, במיוחד במצב full.
 

24sharon

New member
סקריפט מצוין!

שמרתי אותו מיד. אבל הוא מגדיל אצלי את הפרדוקס. קצת רקע. המדובר על סוג של מבחן לייעוץ קריירה ניתן להתרשם ממנו כאן: http://www.ilimudim.co.il/GUI/General/HollandTest.aspx?CategoryID=456 יש לי טבלת משתמשים וטבלת תוצאות (עם קישור למשתמשים) התעבורה שם עצומה, וכל תשובה נכנסת למסד הנתונים, המדובר על 192 תשובות לאדם, וברגע שהתעבורה גבוהה (וכך זה בפועל) הנתונים מתמלאים בצורה חריגה. יש לי עניין לשמור את הנתונים של תוצאות המבחן להנפקת הדו"ח, אך אין לי כל עניין בנתונים אח"כ. ולכן יצרתי טריגר שמוחק את הנתונים הישנים בעת הכנסת מועמד חדש. אין לי מושג למה אבל כל כמה זמן אין שטח והמסד מלא. גם כשאין נתונים מצרפת כאן את התוצאות של גודל הטבלאות במסד ואת התוצאות של נפח המסד בעצמו. וההפרש עצום, איך אפשר למצוא את הגורם? תודה בכל אופן.
 

24sharon

New member
ועוד תוספת

ברגע שמדברים עם התמיכה להוריד את אפשרות הגיבוי לSIMPLE, הם טוענים שאי אפשר לבצע את זה היות שזה יכול 'לדפוק' להם את כל הגיבוי של השרת. פעם ראשונה שאני שומעת כזה דבר, ואני רוצה לברר אם המדובר על תרוץ/נפנוף, או שבאמת יש מצבים שכל מסדי הנתונים צריכים להיות מוגדרים עם לוג FULL בשביל הגיבוי
 

גרי רשף

New member
השאלה מה רוצים..

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

24sharon

New member
SIMPLE SIMPLE

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

גרי רשף

New member
אחת משתיים

או שיש כאן שיקולים של מדיניות גיבוי של הארגון, או שהם דוחים אותך בקש..
 

24sharon

New member
לי דווקא נראה שתיים

עדיין אני רוצה לדעת איפה יכול 'להתחבא' גודל של מסד. הגודל הוא 15MB בעוד שהטבלאות כמעט ריקות. איך אפשר לדעת איפה 'מתחבא' הגודל הנותר? תודה ושבת שלום!
 
למעלה