06 มกราคม 2552

MSSQL การซ่อม Database เสียหายบางส่วน

ลักษณะอาการ
ฐานข้อมูลใช้ได้ปกติแต่ บางครั้ง Select แล้วจะ Error หรือ Save ข้อมูล แล้วขึ้น Error
อาจเกิดจาก Index หรือบางส่วนของข้อมูลเสียหาย อาจแก้ไขได้ดังนี้

วิธีการแก้ไข
1. ให้หยุดใช้งาน เครื่องอื่นๆ ทุกเครื่องก่อน
2. เข้าไปที่ Server (เครื่องที่ เป็นตัวเก็บฐานข้อมูล)
3. เข้า Enterprise Manager คลิกขวาที่ ฐานข้อมูลที่มีปัญหาแล้ว เลือก Properties
เลือกไปที่ Options แล้ว เลือกที่ Restrict accress แล้วเปลี่ยนเป็น Single User
4. ปิด Enterprise Manager
5. เข้า Query Analyzer เลือก ฐานข้อมูล ที่มีปัญหา แล้วใช้คำสั่ง
dbcc checkdb ('ชื่อฐานข้อมูลที่มีปัญหา',repair_allow_data_Loss)
Run จนกว่าจะไม่มี error
6. เข้า Enterprise Manager คลิกขวาที่ ฐานข้อมูลที่มีปัญหาแล้ว เลือก Properties
เลือกไปที่ Options แล้ว เปลี่ยน จาก Single User เป็น Member Of db_Owner แล้วเอา ติ๊กที่
Restrict accress ออก