ในสภาพแวดล้อมของ SQL Server ไฟล์ฐานข้อมูลแต่ละไฟล์สามารถบีบอัดได้โดยการลบเพจที่ไม่ได้ใช้งาน แม้ว่า Database Engine จะปรับการจัดสรรดิสก์ให้เหมาะสม แต่ก็มีบางครั้งที่ไฟล์ไม่ต้องการจำนวนเงินที่จัดสรรไว้ก่อนหน้านี้อีกต่อไป โปรแกรมมีการบีบอัดไฟล์ฐานข้อมูลทั้งแบบแมนนวลและแบบอัตโนมัติหลังจากช่วงเวลาหนึ่ง
คำแนะนำ
ขั้นตอนที่ 1
สำหรับการบีบอัดอัตโนมัติ สภาพแวดล้อมมีฐานข้อมูล AUTO_SHRINK ซึ่งพารามิเตอร์เพียงพอที่จะตั้งค่าเป็น ON ด้วยฐานข้อมูลนี้บนระบบ โปรแกรมฐานข้อมูลจะย่อขนาด SQL ใดๆ ที่มีพื้นที่ว่างโดยอัตโนมัติ พารามิเตอร์ได้รับการกำหนดค่าโดยใช้คำสั่ง ALTER DATABASE ซึ่งตั้งค่าเริ่มต้นเป็น OFF การดำเนินการบีบอัดอัตโนมัติทั้งหมดเกิดขึ้นในพื้นหลังและไม่ส่งผลต่อการดำเนินการของผู้ใช้ในฐานข้อมูล
ขั้นตอนที่ 2
ฐานข้อมูล SQL Server ถูกบีบอัดด้วยตนเองโดยใช้คำสั่ง DBCC SHRINKDATABASE (DBCC SHRINKFILE) หากคำสั่งที่เลือกไม่สามารถจองพื้นที่ในไฟล์บันทึกได้ ข้อความแสดงข้อมูลจะปรากฏขึ้นเพื่อระบุการดำเนินการที่จำเป็นในการเพิ่มพื้นที่ว่างในดิสก์
ขั้นตอนที่ 3
ด้วย DBCC SHRINKDATABASE คุณไม่สามารถลดขนาดฐานข้อมูลให้เป็นขนาดที่เล็กกว่าขนาดดั้งเดิมได้ หากฐานข้อมูลถูกสร้างขึ้นด้วยขนาด 10MB แล้วขยายเป็น 50MB จะสามารถบีบอัดได้เพียง 10MB แม้ว่าข้อมูลทั้งหมดจะถูกลบ
ขั้นตอนที่ 4
ด้วย DBCC SHRINKFILE คุณสามารถบีบอัดไฟล์แต่ละไฟล์ให้มีขนาดที่เล็กกว่าขนาดเริ่มต้นอย่างเห็นได้ชัด อย่างไรก็ตาม ไฟล์ฐานข้อมูลแต่ละไฟล์จะต้องถูกบีบอัดแยกกัน
ขั้นตอนที่ 5
เมื่อใช้คำแนะนำเหล่านี้ บันทึกธุรกรรมจะถูกลดขนาดโดยอัตโนมัติตามขนาดที่ร้องขอ ผลสูงสุดของการบีบอัดจะเกิดขึ้นได้ก็ต่อเมื่อดำเนินการหลังจากการดำเนินการที่สร้างพื้นที่เพิ่มเติมจำนวนมาก (เช่น การวางตาราง)