ב-SQL Server 2005 ובגירסאות מאוחרות יותר, כיווץ מסד הנתונים של tempdb אינו שונה מכיווץ מסד הנתונים של משתמש, למעט העובדה ש-tempdb מתאפס לגודל המוגדר שלו לאחר כל הפעלה מחדש של המופע של SQL Server. זה בטוח להפעיל כיווץ ב-tempdb בזמן שפעילות tempdb נמשכת.
האם כיווץ מסד נתונים משפר את הביצועים?
אבל הצטמקות עשויה להשפיע באופן משמעותי על ביצועי מסד הנתונים שלך, אם לא נעשה כראוי. הצטמקות תגביר את הפיצול ותגרום לכל פעולת DB יקר. יש צורך לבנות מחדש אינדקסים לאחר כיווץ DB כדי להפחית את הפיצול ולהגדיל את הביצועים.
איך מכווצים את tempdb?
אנו יכולים להשתמש בשיטת ה-SSMS GUI כדי לכווץ גם את ה-TempDB. לחץ לחיצה ימנית על ה-TempDB ועבור אל משימות. ברשימת המשימות, לחץ על כיווץ, ותוכל לבחור מסד נתונים או קבצים. שני אפשרויות מסד הנתונים והקבצים דומות לפקודת DBCC SHRINKDATABASE ו-DBCC SHRINKFILE שהסברנו קודם לכן.
האם tempdb מתכווץ אוטומטית?
כברירת מחדל, מסד הנתונים של tempdb גדל אוטומטית ככל שנדרש מקום, מכיוון ש-MAXSIZE של הקבצים מוגדר ל-UNLIMITED. לכן, tempdb יכול להמשיך לגדול עד שיגמר המקום בדיסק המכיל tempdb.
מדוע tempdb גדל כל כך?
Tempdb הצמיחה היא בעיקר בגלל שאילתות עם ביצועים גרועים, אז אתה יכול להשתמש ב-SQL Profiler וכנראה לסנן על Duration toלקבוע אם יש נהלים מאוחסנים שלוקח יותר מ-X שניות לביצוע.