See Also Shrink a Database Add Data or Log Files to a Database คำติชม ส่งและดูข้อคิดเห็นสำหรับ
ปัญหาขนาด database log โตไม่หยุด Microsoft Server เป็นไฟล์ที่แยกเก็บบันทึก transaction ของไฟล์ฐานข้อมูล () และจำเป็นต้องใช้งานคู่กัน ถ้าหา transaction log ไม่สมบูรณ์หรือเราจัดการผิดวิธี sql server จะเรียกใช้งาน database ก้อนนั้นไม่ได้เลย สาเหตุที่ไฟล์. LDF ขนาดใหญ่ขึ้นไม่หยุด ปกติค่า default ของฐานข้อมูลใน SQL server จะอยู่ใน full recovery mode แปลว่าถ้าเราไม่ทำอะไรซักอย่างกับ database ก้อนนี้ ขนาดของไฟล์ ก็จะโตขึ้นเรื่อยๆ ทุกวันจนฮาร์ดดิสเต็มในที่สุด ในการติดตั้ง SQL Server ไม่ได้มี options นี้ให้เราเลือก admin หลายคนกด next ไปไม่โดยไม่สนใจ บางทีก็คิดไปเองว่า การติดตั้ง database ลงในเซิฟเวอร์เป็นหน้าที่ของผู้พ้ฒนาโปรแกรมน่าจะรู้เรื่องมั้ง (พลาด แล้ว.. ) วิธีแก้ปัญหาขนาดไฟล์. LDF 1. ตั้งค่า recovery model ของdatabase เป็น simple เพื่อให้ database หยุดขยายขนาด log แบบไม่มี limit – ใช้ SQL Server Management Studio login เข้าไปจัดการเซิฟเวอร์ฐานข้อมูล – ใน Object Explorer browse ไปที่ไฟล์ database ที่ต้องการ Right click > Properties > Options เลือก Rocovery model: Simple 2. ลดขนาดของlog file () ที่เกินจำเป็น – Options A: Shink database เลือกคลิ้กขวาที่ database > Tasks > Shrink > Files type: Log action: Release unused space 3.
Simple recovery model: เมื่อถึงจุด Checkpoint ระบบจะเคลียร์พื้นทีจาก Record แรกสุด – MinLSN เป็นที่ว่างเขียนทับได้ 2. Full recovery model: records ทั้งหมดจะห้ามเขียนทับจนกว่าเราจะทำtransaction log backup (Manual) 3. Bulk-logged recovery model: จะสร้าง Checkpoint ทุกครั้งที่เรา backup logหรือทำ bulk-copy สรุปว่า นอกจาก Simple Recovery model แล้วจะต้องมี admin คอยทำหน้าที่จัดการ backup log file และ Shrink database เป็นประจำนั่นเอง อ้างอิงจาก: เรียบเรียงโดย:
วิธีการ Shrink Database เพื่อลดขนาดของฐานข้อมูล โดยปกติแล้วลักษณะโครงสร้างระบบฐานข้อมูลของโปรแกรม Microsoft SQL Server จะจัดเก็บข้อมูล Database ที่ประกอบไปด้วย 2 ไฟล์คือ 1. ) Data File นามสกุล เป็นที่เก็บข้อมูลจริงของฐานข้อมูลนั้น ๆ 2. ) Transaction Log File นามสกุล เก็บ Operation หรือข้อมูล Log ซึ่งเกิดจากการทำงานกับข้อมูลจริง การใช้งานจริงเมื่อมีการบันทึกเพิ่มข้อมูลเข้าไปจำนวนมาก อาจทำให้ฐานข้อมูลมีขนาดใหญ่ขึ้น และอาจส่งผลทำให้ระบบช้าลง เพราะฐานข้อมูลมีขนาดใหญ่มากผิดปกติ ซึ่งสามารถลดขนาดของฐานข้อมูลเบื้องต้นได้ตามขั้นตอน ดังนี้ ขั้นตอนที่ 1 Login เข้าระบบจัดการฐานข้อมูล คลิกขวาเลือกฐานข้อมูลที่ต้องการลดขนาด ขั้นตอนที่ 2 จะปรากฏหน้าต่าง Shrink Database ให้กด OK ระบบจะประมวลผลเพื่อปรับโครงสร้างฐานข้อมูลให้มีขนาดเล็กลง จะทำให้การทำงานของระบบเร็วขึ้น
กด OK – Option B: detach/attach สร้าง log file ใหม่*ควรจะทำ full backup ไว้ก่อน เลือกคลิ้กขวาที่ database > Tasks > Detach… ถ้ามีการใช้งาน database นี้อยู่จะมี Active connections ให้ ปิดโปรแกรมที่ใช้งานก่อนติ๊กถูกที่ drop connections กดOK 1. ลบ หรือ เปลี่ยนชื่อ ไฟล์ ldf เป็นชื่ออื่น 2.
ทำการกำหนด Maximum File Size สำหรับ ไฟล์ LDF ที่ Page Files ในตาราง Database files เลือกไฟล์ transaction log ในคอลัมน์ Autogrowth / Maxsize ในหน้าต่าง Maximum File Size เปลี่ยนจาก Unlimited เป็น Limited to (MB) ตามขนาดไฟล์ที่ต้องการจำกัด ขนาดไฟล์ Transaction Log (LDF) ของฐานข้อมูลถูกลดขนาดลงหลังจาก ทำขั้นตอน Shrink database เรียบร้อย ไฟล์ ถูกลดขนาดลงจาก 25. 3GB เหลือ 8MB ทั้งนี้เพื่อป้องกันไฟล์ Transaction Log มีขนาดโตจนเกิดพื้นที่จัดเก็บอีก ผู้ดูแลฐานข้อมูลควรตั้ง Schedule ทำการสำรองฐานข้อมูลอย่างสม่ำเสมอเพื่อให้เกิดกระบวนการเคลียร์ข้อมูลใน transaction log โดยอัตโนมัติ
วิธีการ Clear พื้นที่ว่างใน database มีขั้นตอนอย่างไร มีขั้นตอนดังนี้ วิธีการ Clear พื้นที่ว่างใน database สาเหตุที่ทำให้ Log File และ data File มีขนาดใหญ่ขึ้นหลังจากรันสคิปต่างๆ เนื่องจากโปรแกรมจะไปจองพื้นที่ในการพักข้อมูลเพื่อให้ข้อมูลได้ทำกระบวนการต่างๆก่อนที่จะโอนข้อมูลกลับ แต่ หลังจากรันสคิปต่างๆเสร็จสิ้นพื้นที่ที่ถูกจองดังกล่าวจะไม่ถูกเคลียออก จึงเป็นสาเหตุที่ให้ทั้ง 2 ไฟล์มีขนาดใหญ่ขึ้น 1. Clear ไฟล์ Log File 1. 1 คลิ๊กขวาที่ฐานข้อมูลที่ต้องการเคลียไฟล์ > เลือก Tasks > เลือก Shrink > เลือกไฟล์ 1. 2 เลือก File type เป็น Log และเลือกที่ Shrink action เป็น Empty file by migrating the data to other files in the same filegroup > จากนั้นรอการประมวลผลของโปรแกรมเคลียข้อมูลที่ Log File 2. Clear ไฟล์ Data File 2. 1 คลิ๊กขวาที่ฐานข้อมูลที่ต้องการเคลียไฟล์ > เลือก Tasks > เลือก Shrink > เลือกไฟล์ 2. 1 เลือก File type เป็น Data และเลือกที่ Shrink action เป็น Release unused space > จากนั้นรอ การประมวลผลของโปรแกรมเคลียข้อมูลที่ Data File > จากนั้นรอการประมวลผลของโปรแกรมเคลียข้อมูลที่ Data File