ใน SQL Server 2005 และเวอร์ชันที่ใหม่กว่า การลดขนาดฐานข้อมูล tempdb นั้นไม่แตกต่างจากการลดขนาดฐานข้อมูลผู้ใช้ ยกเว้นข้อเท็จจริงที่ว่า tempdb จะรีเซ็ตเป็นขนาดที่กำหนดค่าไว้หลังจากการรีสตาร์ทอินสแตนซ์ของ SQL Server แต่ละครั้ง การย่อขนาดใน tempdb นั้นปลอดภัย ในขณะที่กิจกรรม tempdb ดำเนินอยู่
การย่อขนาดฐานข้อมูลช่วยเพิ่มประสิทธิภาพหรือไม่
แต่การย่อขนาดอาจส่งผลต่อประสิทธิภาพฐานข้อมูลของคุณอย่างมาก หากไม่ดำเนินการอย่างถูกต้อง การหดตัวจะเพิ่มการแตกแฟรกเมนต์และจะทำให้การดำเนินการ DB มีค่าใช้จ่ายสูง จำเป็นต้องสร้างดัชนีใหม่หลังจาก DB ย่อขนาดเพื่อลดการกระจายตัวและเพิ่มประสิทธิภาพ
คุณย่อ tempdb อย่างไร
เราสามารถใช้ วิธี SSMS GUI เพื่อลด TempDB ได้เช่นกัน คลิกขวาที่ TempDB และไปที่ Tasks ในรายการงาน ให้คลิกที่ Shrink และคุณสามารถเลือกฐานข้อมูลหรือไฟล์ได้ ทั้งตัวเลือกฐานข้อมูลและไฟล์นั้นคล้ายกับคำสั่ง DBCC SHRINKDATABASE และ DBCC SHRINKFILE ที่เราได้อธิบายไว้ก่อนหน้านี้
tempdb ย่อขนาดโดยอัตโนมัติหรือไม่
โดยค่าเริ่มต้น ฐานข้อมูล tempdb จะเพิ่มขึ้นโดยอัตโนมัติเมื่อต้องการพื้นที่ว่าง เนื่องจากขนาด MAXSIZE ของไฟล์ถูกตั้งค่าเป็น UNLIMITED ดังนั้น tempdb สามารถเติบโตต่อไปได้จนกว่าพื้นที่บนดิสก์ที่มี tempdb จะหมดลง
ทำไม tempdb ถึงโตมาก
การเติบโตของ Tempdb คือ สาเหตุหลักมาจากการสืบค้นที่มีประสิทธิภาพไม่ดี ดังนั้น คุณสามารถใช้ SQL Profiler และอาจกรอง Duration เป็นตรวจสอบว่ามีขั้นตอนการจัดเก็บที่ใช้เวลานานกว่า x วินาทีในการดำเนินการหรือไม่