כיצד לכווץ את הנתונים tempdb ב- SQL Server

תרגומי מאמרים תרגומי מאמרים
Article ID: 307487 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

תקציר

מאמר זה דן שלוש שיטות בהן ניתן להשתמש כדי לכווץ את מסד הנתונים tempdb לגודל קטן יותר מגודל שתצורתו נקבעה האחרון שלו. השיטה הראשונה מעניקה לך שליטה מלאה של גודל הקבצים tempdb . עם זאת, השיטה הראשונה מחייבת הפעלה מחדש של שרת Microsoft SQL. השיטה השנייה מכווץ את הנתונים tempdb ולאחר ייתכן שיהיה עליך להפעיל מחדש את שרת SQL. השיטה השלישית מאפשרת לכווץ קבצים בודדים במסד הנתוניםtempdb . לאחרונה שתי השיטות מחייבות כי אין פעילות להתרחש במסד הנתונים tempdb במהלך פעולת הכיווץ.

הערהאם אתה משתמש ב- SQL Server 2005, שיטות אלה חלות גם. עם זאת, עליך להשתמש Studio ניהול שרת SQL במקום Enterprise Manager ומנתח שאילתות כדי לבצע פעולות אלה. כמו כן שים לב כי Studio ניהול של שרת SQL ב- SQL Server 2005 תציג את הגודל הנכון של קבציםtempdbלאחר פעולת הכיווץ. הערך "כרגע מוקצה שטח" תמיד הנלקח מתוך sys.master_files dmv של, ואת ערך זה אינו מתעדכן לאחר פעולת הכיווץ מתרחש עבור הנתוניםtempdb . כדי למצוא את הגודל הנכון של קבצים tempdb לאחר פעולת הכיווץ, ביצוע המשפט הבא ב- Studio ניהול של שרת SQL:
use tempdb
select (size*8) as FileSizeKB from sys.database_files

הערהSQL Server 2008 אינו מושפע מבעיה שמוצג גודל הקבציםtempdbשגוי לאחר פעולת הכיווץ.

מידע Tempdb

Tempdb הוא סביבת עבודה זמניים. בין שימושים אחרים, שרת SQL משתמש tempdb עבור הפריטים הבאים:
  • אחסון של טבלאות זמניות שנוצרו באופן מפורש
  • Worktables אשר מכילות תוצאות הביניים שנוצרו במהלך שאילתה עיבוד ומיון
  • סמנים סטטי materialized
שרת SQL רושם רק את המידע ביומן הטרנזקציה tempdbבהחזרת טרנזקציה, אך לא לבצע שוב תנועות במהלך שחזור מסד הנתונים. תכונה זו מגדילה את הביצועים של משפטי INSERT בtempdb. בנוסף, אין לך לרשום מידע כדי לבצע שוב את כל התנועות מאחר tempdb נוצר מחדש בכל פעם שתפעיל מחדש את שרת SQL. לכן, יש לה ללא תנועות קדימה או לגלגל אחורה. בעת הפעלת SQL Server, tempdb נוצר מחדש על-ידי שימוש בעותק של מסד הנתונים של מודל ולאחר tempdb אפס לגודל שהוגדר האחרון שלו.

כברירת מחדל, הנתונים tempdb מוגדר הרחבה אוטומטית לפי הצורך. לכן, מסד נתונים זה עשויים לגדול בזמן בגודל העולה על גודל הרצוי. הפעלה מחדש פשוט של SQL Server איפוס גודל tempdb לגודל שהוגדר האחרון שלו. הגודל שהוגדרה הוא הגודל המפורש האחרון שהוגדר על-ידי שימוש גודל קובץ שינוי פעולה כגון מסד הנתונים לשנות המשתמשת האפשרות לשנות קובץ או המשפט DBCC SHRINKFILE.

באפשרותך להשתמש בשלוש השיטות הבאות כדי לכווץtempdbלגודל קטן יותר מהגודל שהוגדר שלו.

שיטה 1: השתמש Transact-SQL פקודות

שיטה 2: השתמש בפקודה DBCC SHRINKDATABASE

שיטה 3: השתמש בפקודה DBCC SHRINKFILE

אפקטים של ביצוע DBCC SHRINKDATABASE או DBCCSHRINKFILE כאשר tempdb נמצא בשימוש

אם tempdb נמצא בשימוש, אתה מנסה לכווץ אותם באמצעות DBCC SHRINKDATABASE או פקודות DBCC SHRINKFILE, אתה עשוי לקבל שגיאות מרובות עקביות הדומות הבאות, ואת פעולת הכיווץ עלול להיכשל:
  • שרת: Msg 2501, רמת 16, מצב 1, קו 1Could לא מצא טבלה בשם '1525580473'. בדוק sysobjects.
  • שרת: הודעת 8909, 16 רמת, מצב 1, Corrupt 0Table קו: 1 מזהה אובייקט, מזהה אינדקס 0, עמוד מזהה % S_PGID. PageId כותרת העמוד = % S_PGID.
למרות שגיאה 2501 לא עשוי להצביע על פגמים ב- tempdb, שגיאה זו גורמת פעולת הכיווץ להיכשל. מצד שני, שגיאה 8909 להצביע נזק במסד הנתוניםtempdb . הפעל מחדש את שרת SQL כדי ליצור מחדש tempdb ולנקות את השגיאות עקביות. עם זאת, שים לב כי ייתכן שקיימת בשגיאות פגימה נתונים פיזיים סיבות אחרות כמו שגיאה 8909, ואלה כוללות בעיות מערכת המשנה של קלט/פלט.

הפניות

SQL Server ספרים מקוונים; נושאים: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"

מאפיינים

Article ID: 307487 - Last Review: יום חמישי 10 אוקטובר 2013 - Revision: 2.0
המידע במאמר זה חל על:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
מילות מפתח 
kbsqlsetup kbhowtomaster kbmt KB307487 KbMthe
תרגום מכונה
חשוב: מאמר זה תורגם באמצעות תוכנת תרגום מכונה של Microsoft וייתכן שנערך לאחר מכן על-ידי קהילת Microsoftבאמצעות טכנולוגייתCommunity Translation Framework (CTF) או באמצעות תרגום אנושי. Microsoft מציעה לך גם מאמרים בתרגום אנושי, מאמרים בתרגום מכונה ומאמרים שנערכו על ידי הקהילה כדי לאפשר גישה למאמרים הקיימים במאגר הידע (Knowledge Base) שלMicrosoft בשפות שונות. מאמרים מתורגמים יכולים להכיל שגיאות באוצר המילים, בתחביר או בדקדוק. Microsoft אינה אחראית לחוסר דיוק, שגיאות או נזקים שייגרמו כתוצאה מטעויות בתכנים או משימוש בתכנים על ידי לקוחותיה.
כותרת מאמר זה באנגלית: 307487

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com