การเรียกคืนข้อมูล กรณีย้ายตาราง และข้อมูลด้วยโปรแกรม Navicat แต่เลือกข้อมูลผิดส่งผลให้ข้อมูลระบบจริงสูญหาย
- Posted by pisut
- Categories Explicit Knowledge, ชุมชนนักพัฒนา
- Date July 11, 2022
๑. ภาระงานที่รับผิดชอบ
พัฒนาระบบสารสนเทศให้หน่วยงานในสังกัดมหาวิทยาลัยบูรพา และหน่วยงานภายนอกมหาวิทยาลัย โดยมีรายละเอียดเกี่ยวกับหน้าที่รับผิดชอบ ดังนี้ สำรวจความต้องการชองผู้ใช้บริการ เขียนรายละเอียดการจัดทำโครงการ และแผนการดำเนินงาน วิเคราะห์ ออกแบบระบบและฐานข้อมูล พัฒนา ทดสอบและแก้ไขโปรแกรม จัดทำคู่มือ และให้การฝึกอบรมที่พัฒนา ติดตามและประเมินผลการใช้งานระบบสารสนเทศจากผู้ใช้งาน เพื่อนำมาปรับปรุงแก้ไขระบบได้ดีขึ้น อีกทั้งให้คำแนะนำการใช้งาน คำปรึกษาแก่ผู้ใช้งาน ควบคุม ดูแล ปรับปรุงระบบงานให้สามารถใช้งานได้อย่างต่อเนื่องและมีประสิทธิภาพ และปฏิบัติงานอื่นตามที่ได้รับมอบหมาย
สำนักคอมพิวเตอร์ ส่วนงานที่มีภารกิจหลักในการสนับสนุนการใช้งานเทคโนโลยีสารสนเทศของมหาวิทยาลัย เพื่อให้การใช้งานระบบสารสนเทศสามารถใช้งานได้อย่างตอบโจทย์ผู้ใช้งาน การปรับปรุงแก้ไขโปรแกรม และตารางการจัดเก็บข้อมูลจึงเป็นงานอีกส่วนหนึ่งที่ผู้พัฒนาระบบต้องดำเนินการอยู่บ่อยครั้ง โดยการพัฒนาระบบสารสนเทศนั้นมีการแยกกันระหว่างเครื่องที่เปิดให้ผู้ใช้งานนั้นได้ใช้งานจริง (Production) กับเครื่องที่ใช้ในการพัฒนาหรือแก้ไขสำหรับผู้พัฒนาระบบ (Develop)
เมื่อผู้พัฒนาระบบดำเนินการพัฒนาหรือแก้ไขโปรแกรมที่เครื่อง Develop เสร็จแล้ว ขั้นตอนต่อมาคือการอัปเดต ฐานข้อมูล และโค้ดโปรแกรมบนเครื่องที่ใช้งานจริง (Production) ซึ่งในขั้นตอนนี้เอง หากผู้พัฒนาระบบเลือกคำสั่งการอัปเดตตารางในฐานข้อมูลผิด อาจส่งผลให้ข้อมูลในฐานข้อมูลที่ใช้งานอยู่โดนข้อมูลจากเครื่องพัฒนาบันทึกลงไป จนทำให้ข้อมูลจริงนั้นสูญหายไปได้ ดังนั้นเพื่อให้ผู้พัฒนาระบบท่านอื่นรับรู้ถึงวิธีการแก้ไขปัญหาดังกล่าว ผู้เขียนจึงได้เขียนแนวทางการแก้ไขปัญหา
๒. การเรียนรู้ ความคาดหวัง ของ “ลูกค้า/ผู้ที่เกี่ยวข้องกับกระบวนการที่นำเสนอ”
๒.๑ ผู้พัฒนาระบบทราบแนวทางการเรียกคืนข้อมูลที่สูญหาย
๓. วัตถุประสงค์
๓.๑ เพื่อให้ผู้พัฒนาระบบ สามารถรับรู้ขั้นตอนการเรียกคืนข้อมูลที่สูญหาย
๔. บทสรุปองค์ความรู้
๔.๑ ปัญหาที่พบ
ผู้เขียนพัฒนาโปรแกรมด้วย Azure DevOps และต้องการอัปเดตตารางจัดเก็บข้อมูลจากเครื่อง Develop ไปสู่ Production ด้วยโปรแกรมจัดการฐานข้อมูล Navicat โดยใช้ฟังก์ชั่น Data Transfer ซึ่งสาเหตุของปัญหาคือ ผู้เขียนเลือก Database Object ผิด จากที่ต้องการนำเข้าแค่ตารางที่สร้างขึ้นมาใหม่ กลับกลายเป็นนำทุกตารางจากเครื่อง Develop มายัง Production ส่งผลให้ข้อมูลเครื่อง Production โดนบันทึกทับของเดิม และข้อมูลที่ใช้งานจริงสูญหาย

๔.๒ ขั้นตอนการแก้ไข
๔.๒.๑. ติดต่อ ผู้ดูแล Azure DevOps ของฝ่ายโครงสร้างพื้นฐานระบบ แจ้งปัญหา และให้รายละเอียด เช่น ชื่อระบบ วันเวลาที่เกิดปัญหา โดยผู้ดูแล Azure DevOps จะดำเนินการดึงข้อมูลสำรอง ที่ถูก backup ล่าสุดมาให้ในรูปแบบของไฟล์คำสั่ง Sql
๔.๒.๒. ติดต่อเจ้าของระบบ แจ้งปัญหา และขอหยุดการใช้งานระบบชั่วคราว
๔.๒.๓. นำไฟล์คำสั่ง Sql มารันบนโปรแกรม Navicat
๔.๒.๔. เมื่อรันไฟล์คำสั่ง Sql เสร็จ ให้ตรวจสอบข้อมูลว่าข้อมูลแถวสุดท้ายถูกอัปเดตเมื่อวัน เวลาที่เท่าไร และแจ้งเจ้าของระบบรับทราบ และดำเนินการประกาศแจ้งผู้ใช้งานให้ตรวจสอบข้อมูล
๔.๓ ข้อสังเกต
ผู้ดูแล Azure DevOps จะดำเนินการสำรองข้อมูลในเวลาเที่ยงคืนของทุกวัน ดังนั้นไฟล์ Sql ที่ได้มานั้นมีความเป็นไปได้ที่จะไม่ได้ข้อมูลทั้งหมด โดยข้อมูลหลังจากเที่ยงคืน จนถึงเวลาที่เกิดปัญหาจะไม่ถูกสำรองเอาไว้
๔.๔ ข้อแนะนำ
เมื่อผู้พัฒนาระบบต้องการอัปเดตฐานข้อมูลเครื่อง Production ให้ใช้วิธีเปิดโปรแกรม Navicat เลือกฐานข้อมูลเครื่อง Develop คลิกขวาตารางที่ต้องอัปเดตไปยังเครื่อง Production เลือก Dump SQL File และเลือกว่าต้องการอัปเดตตารางพร้อมข้อมูล หรือตารางอย่างเดียว

โปรแกรม Navicat จะสร้างไฟล์ SQL ให้ผู้พัฒนาระบบเปิดไฟล์ คัดลอกคำสั่ง และนำคำสั่งไปรันบนเครื่อง Production

ด้วยวิธีการนี้ จะสามารถลดข้อผิดพลาดจากการย้ายตาราง และฐานข้อมูลลงได้
๕. ประโยชน์ที่ได้รับ
๕.๑ ให้ผู้พัฒนาระบบ สามารถรับรู้ขั้นตอนการเรียกคืนข้อมูลที่สูญหาย
You may also like
จากการปฏิบัติงานพัสดุสำนักคอมพิวเตอร์ มหาวิทยาลัยบูรพา ที่ผ่านมาพบปัญหาเรื่องของการบริหารสัญญางานจัดจ้างเหมาทำความสะอาดอาคารสำนักคอมพิวเตอร์ และอาคารเฉลิมพระเกียรติฉลองสิริราชสมบัติครบ 60 ปี (KB) (พื้นที่ให้บริการ IT Services ชั้น 1) จำนวน 1 งาน เนื่องจากผู้ปฏิบัติงานของคู่สัญญางานจัดจ้างเหมาทำความสะอาดอาคารสำนักคอมพิวเตอร์ได้ขาดงาน ดังนั้น การจัดทำสัญญาตามพระราชบัญญัติการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 ประกอบระเบียบกระทรวงการคลังว่าด้วยการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 สำนักคอมพิวเตอร์ ในฐานะผู้ว่าจ้าง จะต้องจัดทำสัญญาและบริหารสัญญา ให้เป็นไปตามเงื่อนไขหรือข้อกำหนดในสัญญา เพื่อรักษาสิทธิและประโยชน์ของหน่วยงานหรือคู่สัญญา ทั้งจะต้องปฏิบัติงานตามระเบียบ ข้อกำหนดของทางราชการ และข้อกฎหมายที่เกี่ยวข้อง ด้วยความเป็นธรรม และตรวจสอบได้การบริหารสัญญาเป็นหน้าที่ของคณะกรรมการตรวจรับ ตามพระราชบัญญัติการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 ข้อ 100 ความว่า ในการดำเนินการตามสัญญาหรือข้อตกลง …
Excel AI Insight: ปลดล็อกพลังการวิเคราะห์ข้อมูลอัจฉริยะ
Excel AI Insight: ปลดล็อกพลังการวิเคราะห์ข้อมูลอัจฉริยะ หลายครั้งที่เรามีข้อมูลจำนวนมาก และต้องใช้เวลานานในการสรุปผล สร้างกราฟ หรือหาคำตอบให้ผู้บริหาร แต่ปัจจุบัน Excel มีเครื่องมือที่ช่วยให้การวิเคราะห์ข้อมูลเป็นเรื่องง่ายขึ้น นั่นคือฟังก์ชัน Analyze Data เครื่องมือนี้เปรียบเสมือน “นักวิเคราะห์ข้อมูลส่วนตัว” ที่ใช้ AI ช่วยมองหาความสัมพันธ์ แนวโน้ม และประเด็นสำคัญจากข้อมูลให้เราโดยอัตโนมัติ …
การตรวจไวยากรณ์งานเขียนภาษาอังกฤษด้วย AI (Grammarly) ที่ให้ความแม่นยำสูงถึง 90% ขึ้นไป
Grammarly Grammarly เป็นเครื่องมือ AI ที่ถูกออกแบบมาเพื่อช่วยตรวจสอบไวยากรณ์ภาษาอังกฤษ ซึ่งได้รับความนิยมอย่างแพร่หลายทั้งในวงการการศึกษาและธุรกิจ ด้วยความสามารถในการตรวจสอบความถูกต้องของไวยากรณ์ การสะกดคำ การจัดวางประโยคและการให้คำแนะนำเกี่ยวกับสไตล์การเขียน Grammarly ยังสามารถช่วยผู้ใช้งานปรับปรุงข้อความให้เหมาะสมกับวัตถุประสงค์ เช่น การเขียนเชิงวิชาการ การสื่อสารในงานอาชีพ หรือการแสดงความรู้สึกส่วนตัว ด้วยการใช้งานง่ายผ่านแพลตฟอร์มต่าง ๆ เช่น เว็บเบราว์เซอร์ แอปพลิเคชันเดสก์ท็อป และส่วนเสริมใน Word ผู้ใช้งานจึงสามารถเขียนภาษาอังกฤษได้อย่างมั่นใจและเป็นมืออาชีพมากยิ่งขึ้น Grammarly AI เป็นเครื่องมือช่วยตรวจสอบและแก้ไขภาษาอังกฤษที่มีประสิทธิภาพสูง โดยมีจุดเด่นที่สำคัญดังนี้ 1. การตรวจสอบไวยากรณ์และการสะกดคำอย่างแม่นยำ Grammarly AI ใช้เทคโนโลยี NLP (Natural Language Processing) และ …
