none
קבצי TMP גדולים בכונן C RRS feed

  • שאלה

  • שלום,

    ראיתי כי בהרצת שאילתא המחזירה כמות רבה של רשומות נוצר לי קובץ tmp תחת הספריה

    C:\Users\<user>\AppData\Local\Temp\2

    לעיתים הקובץ הזה גדל מאוד וגורם ל- Queue length על הכונן של ה- DATA להיות גבוה מאוד.

    שאלותיי הן:

    1. מה הגורם ליצירת קבצי ה- tmp האלו.

    2. האם ניתן להעבירם לכונן אחד גדול יותר?

    תודה רבה מראש,

    מיכל

    יום חמישי 27 מרץ 2014 11:27

תשובות

  • הי מיכל,

    מאוד הגיוני שהמידע צריך להירשם איפשהו לפני שמציגים אותו

    בדקתי אצלי ואכן ראיתי שנוצר קובץ בתיקייה הנ"ל
    פתרון אפשרי (בדקתי - עובד)  הוא להגדיר את ה SSMS  למצב output to file  ולבחור בתיקייה שונה בכונן שמתאים יותר לצורך זה.
    אפשרות אחרת היא להעביר את כל תקיית ה temp למיקום שונה (ברמת Windows )  אני לא בטוח כיצד לבצע זאת אבל בכל מקרה זה נשמע לי דרסטי מדי...

    בכל מקרה אם השאילתא  מחזירה כמות מאוד גדולה של מידע  - נראה לי נכון יותר ליצא אותה מראש לקובץ (את הרי לא עוברת על כל הרשומות ב SSMS)

    או לטעון לטבלה / טבלה זמנית ב Database

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

    • סומן כתשובה על-ידי pituachMVP, Editor יום שני 07 אפריל 2014 19:58
    יום שישי 28 מרץ 2014 14:14
  • שבת שלום,

    התשובה היא כן, אפשר להעביר את תקיות המערכת לכונן שונה.

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

    תבדוק את הקישור הבא ואני ממליץ לחפש מדריכים נוספים בגוגל:
    http://answers.microsoft.com/en-us/windows/forum/windows_7-files/win7-how-do-i-move-user-folder-to-a-different/565f16a5-e5ed-43c9-8422-4f56aebb296e

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

    כדאי מאוד לקרוא את ה"מדוע לא לבצע זאת" ולקבל את ההחלטה לבד. כמובן שאפשר כמו שהוצע להעביר רק תקייה מסויימת למיקום אחר (אני לא נתקלתי בבעיות כאלה כשהפעולה מבוצעת ברמת ההתקנה, אבל על אחריותך!).
    http://www.zdnet.com/dont-move-your-windows-user-profiles-folder-to-another-drive-7000022142/

    * עוד נקודה: בשרת ייעודי ל SQL לא הייתי מבצע זאת! אין בכך סיבה והעבודה צריכה להיות מותאמת ל SQL ולא למשתמשים.


    [Personal Site] [Blog] [Facebook]signature

    • נערך על-ידי pituachMVP, Editor יום ראשון 30 מרץ 2014 14:43
    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 06 אפריל 2014 22:41
    שבת 29 מרץ 2014 12:44
    מנחה דיון

כל התגובות

  • הי מיכל,

    מאוד הגיוני שהמידע צריך להירשם איפשהו לפני שמציגים אותו

    בדקתי אצלי ואכן ראיתי שנוצר קובץ בתיקייה הנ"ל
    פתרון אפשרי (בדקתי - עובד)  הוא להגדיר את ה SSMS  למצב output to file  ולבחור בתיקייה שונה בכונן שמתאים יותר לצורך זה.
    אפשרות אחרת היא להעביר את כל תקיית ה temp למיקום שונה (ברמת Windows )  אני לא בטוח כיצד לבצע זאת אבל בכל מקרה זה נשמע לי דרסטי מדי...

    בכל מקרה אם השאילתא  מחזירה כמות מאוד גדולה של מידע  - נראה לי נכון יותר ליצא אותה מראש לקובץ (את הרי לא עוברת על כל הרשומות ב SSMS)

    או לטעון לטבלה / טבלה זמנית ב Database

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

    • סומן כתשובה על-ידי pituachMVP, Editor יום שני 07 אפריל 2014 19:58
    יום שישי 28 מרץ 2014 14:14
  • שבת שלום,

    התשובה היא כן, אפשר להעביר את תקיות המערכת לכונן שונה.

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

    תבדוק את הקישור הבא ואני ממליץ לחפש מדריכים נוספים בגוגל:
    http://answers.microsoft.com/en-us/windows/forum/windows_7-files/win7-how-do-i-move-user-folder-to-a-different/565f16a5-e5ed-43c9-8422-4f56aebb296e

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

    כדאי מאוד לקרוא את ה"מדוע לא לבצע זאת" ולקבל את ההחלטה לבד. כמובן שאפשר כמו שהוצע להעביר רק תקייה מסויימת למיקום אחר (אני לא נתקלתי בבעיות כאלה כשהפעולה מבוצעת ברמת ההתקנה, אבל על אחריותך!).
    http://www.zdnet.com/dont-move-your-windows-user-profiles-folder-to-another-drive-7000022142/

    * עוד נקודה: בשרת ייעודי ל SQL לא הייתי מבצע זאת! אין בכך סיבה והעבודה צריכה להיות מותאמת ל SQL ולא למשתמשים.


    [Personal Site] [Blog] [Facebook]signature

    • נערך על-ידי pituachMVP, Editor יום ראשון 30 מרץ 2014 14:43
    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 06 אפריל 2014 22:41
    שבת 29 מרץ 2014 12:44
    מנחה דיון