บล็อกนี้กล่าวถึงขั้นตอนในการพิจารณาผู้ใช้ที่รับผิดชอบในการตัดและลบข้อมูลออกจากตารางบนเซิร์ฟเวอร์ MSSQL และระบุหน่วยงานที่รับผิดชอบ
ตัวอย่างเช่น:เมื่อใดที่ตารางถูกตัดทอน และเมื่อใดที่ข้อมูลถูกลบออกจากตาราง?ใครเป็นคนตัดตารางและนำข้อมูลออกจากตาราง?
เหตุผลในการรวบรวมข้อมูลนี้
นี่คือเพื่อดูว่ามีใครลบข้อมูลโดยเจตนาหรือโดยบังเอิญ เพื่อให้เราสามารถติดตามบุคคลนั้นและดำเนินการป้องกันได้ เราได้รับคำขอเล็กน้อยจากลูกค้าที่กำลังมองหาข้อมูลนี้ เมื่อเราทราบเวลาที่แน่นอนของการดำเนินการล้างข้อมูล เราสามารถกู้คืนข้อมูลได้อย่างง่ายดายด้วยคำสั่งหยุดที่ข้อระหว่างการดำเนินการสำรองข้อมูลบันทึก
สรุปปัญหา
ส่วนต่อไปนี้จะอธิบายหลักการสำคัญสี่ประการสำหรับ GitOps:
ระหว่าง 17.00 น. และ 19.00 น. ในวันที่ 5 มกราคม 2020 ตาราง "dump truncate" ถูกตัดทอนและข้อมูลจากตาราง "dump delete" จะถูกลบออกจากฐานข้อมูล "truncate test" คำถามที่เป็นไปได้ที่ต้องแก้ไข ได้แก่:
- คุณต้องหาให้ได้ว่าปัญหาคืออะไร
- ใครเป็นคนลบข้อมูลออกจากตาราง “dump_delete”
- ตาราง “dump delete” ถูกลบไปกี่แถว
- ใครเป็นคนตัดตาราง “dump_truncate”?
- ตารางเหล่านี้ถูกตัดและลบเมื่อใด
- บนเซิร์ฟเวอร์ กำหนดการสำรองข้อมูลปัจจุบันมีดังนี้:
- ทุกสัปดาห์ในวันอาทิตย์ จะมีการสำรองข้อมูลเต็มรูปแบบ
- ทุกวัน เวลา 13.00 น. สำรองส่วนต่าง
- สำรองข้อมูลบันทึกทุก 15 นาที
ข้อกำหนดเบื้องต้น:
- DB ควรอยู่ในโหมดการกู้คืนเต็มรูปแบบ
- ควรมีการสำรองข้อมูลเต็มรูปแบบ แตกต่าง และบันทึก
แนวทางในระดับสูง:
- ระบุว่าการสำรองข้อมูลบันทึกใดที่เก็บการลบและตัดทอนการดำเนินการ
- ระบุรายละเอียดของการดำเนินการตัดทอนและลบโดยใช้การสำรองข้อมูลบันทึก
ตรวจสอบว่าบันทึกสำรองใดเก็บการดำเนินการลบและตัดทอน:
หมายเหตุ :เราดำเนินการตามขั้นตอนเหล่านี้โดยการสร้างสำเนาใหม่ของฐานข้อมูล
-
กู้คืนข้อมูลสำรองเต็มรูปแบบในวันอาทิตย์ที่ 2 ม.ค. ด้วยโหมดสแตนด์บาย
-
คืนค่าการสำรองข้อมูลส่วนต่างของวันที่ 5 ม.ค. ด้วยโหมดสแตนด์บาย
-
กู้คืนข้อมูลสำรองด้วยโหมดสแตนด์บาย ตรวจสอบจำนวนตารางหลังจากการเรียกคืนบันทึกแต่ละครั้ง เพื่อดูว่าบันทึกสำรองใดเก็บบันทึกการตัดทอนและลบบันทึกการทำงาน
เมื่อเรากู้คืนข้อมูลสำรองบันทึกตั้งแต่เวลา 18.00 น. ตาราง "dump truncate" จะว่างเปล่า และรายการจากตาราง "dump delete" หายไป เป็นผลให้มันหมายถึง:
ระหว่าง 17:45 น. ถึง 18:00 น. ตาราง "dump truncate" จะถูกตัดทอน และข้อมูลจากตาราง "dump delete" จะถูกล้างไปพร้อมกัน
คุณต้องเรียกใช้คำสั่งกู้คืนต่อไปนี้:
ระบุรายละเอียดของการดำเนินการตัดและลบโดยใช้ข้อมูลสำรอง:
ขั้นตอนที่ 1:รวบรวมรหัสธุรกรรมสำหรับการดำเนินการตัดทอนและลบทั้งหมดที่เกิดขึ้นระหว่าง 17:45 ถึง 18:00 น.
แบบสอบถาม:
เราพบว่ามีการดำเนินการ 2 รายการ ได้แก่ การลบและตัดทอน เมื่อเวลา 17:50 น. และการดำเนินการเหล่านี้ดำเนินการโดย RP Dev สำหรับการเข้าสู่ระบบ
ขั้นตอนที่ 2:ค้นหาชื่อตารางที่เชื่อมโยงกับรหัสธุรกรรม
หากต้องการรับข้อมูลเกี่ยวกับการดำเนินการลบ ให้ทำตามขั้นตอนด้านล่าง:
I) กำหนด ID อ็อบเจ็กต์และ ID พาร์ติชันของการดำเนินการลบ
จากผลลัพธ์นี้ เราสามารถอนุมานข้อมูลต่อไปนี้:คอลัมน์คำอธิบายและชื่อธุรกรรม:ดำเนินการลบแล้ว
- เวลาเริ่มต้น:การลบเริ่มต้นเมื่อ 2022/01/05 17:50:22:493
- Login_Name:RP_DEV ได้เรียกใช้การดำเนินการลบ
- ข้อมูลการล็อก:แต่ละแถวที่ขึ้นต้นด้วยคำนำหน้า "HoBt" หมายถึงการลบหนึ่งแถว รวมเป็น 7 แถว
- รหัสอ็อบเจ็กต์ที่เชื่อมโยงกับตารางที่นำข้อมูลออก
- Partition Id:Partition id ของวัตถุที่ข้อมูลถูกลบ
II) ค้นหาตารางที่มี ID อ็อบเจ็กต์และ ID พาร์ติชัน
แบบสอบถาม:
ตอนนี้เราสามารถสรุปได้ว่าข้อมูลจาก "dump delete" ถูกลบโดยผู้ใช้ RP DEV เมื่อเวลา 17:50 น. ภายใต้รหัสธุรกรรม '0000:00016a96' และลบทั้งหมด 7 แถว
หากต้องการรับข้อมูลเกี่ยวกับการดำเนินการตัดทอน ให้ทำตามขั้นตอนด้านล่าง:
I) กำหนด ID อ็อบเจ็กต์และ ID พาร์ติชันของการดำเนินการตัดทอน
เอาท์พุต:
ตอนนี้เราสามารถสรุปได้ว่าข้อมูลจาก "dump delete" ถูกลบโดยผู้ใช้ RP DEV เมื่อเวลา 17:50 น. ภายใต้รหัสธุรกรรม '0000:00016a96' และลบทั้งหมด 7 แถว
หากต้องการรับข้อมูลเกี่ยวกับการดำเนินการตัดทอน ให้ทำตามขั้นตอนด้านล่าง:
I) กำหนด ID อ็อบเจ็กต์และ ID พาร์ติชันของการดำเนินการตัดทอน
แบบสอบถาม:
เอาท์พุต
ผลลัพธ์ของการดำเนินการตัดทอนจะแตกต่างจากการดำเนินการลบเล็กน้อย
คอลัมน์ Partition ID:ไม่แสดง ID พาร์ติชันที่ถูกต้อง คุณสามารถค้นหาข้อมูลนี้ได้ในคอลัมน์คำอธิบาย รหัสพาร์ติชันถูกเน้น รหัสพาร์ติชันคือ 72057594043564032 และ 72057594043629568
ล็อกคำอธิบาย: แถว SCH_M_OBJECT Always เสมอ ใน Lock Description จะแสดง Object ID ที่ถูกต้อง รหัสวัตถุคือ:885578193
ค้นหาตารางที่มี ID อ็อบเจ็กต์และ ID พาร์ติชัน
แบบสอบถาม:
เอาท์พุต
ตอนนี้เราสามารถระบุได้ว่าข้อมูลจาก “dump truncate” ถูกตัดทอนเวลา 17:50 น. โดยผู้ใช้ RP_DEV ภายใต้รหัสธุรกรรม'0000:00016a95'
บทสรุป
เป็นประโยชน์ที่จะรู้ว่าใครเป็นผู้ดำเนินการตัดทอนและลบข้อมูล เพื่อหลีกเลี่ยงไม่ให้สิ่งนี้เกิดขึ้นอีกเมื่อยังไม่ได้เปิดใช้งานการตรวจสอบ ในกรณีของการดำเนินการลบ ธุรกิจจะทราบว่ามีการลบแถวจำนวนเท่าใด เพื่อให้มีเวลาในการกู้คืนที่แน่นอน มีประโยชน์มากในการกู้คืนข้อมูล เครื่องมือของบุคคลที่สามอื่น ๆ เช่น ApexSQL Log และ ApexSQL Recover ยังสามารถใช้เพื่อกู้คืนข้อมูลได้อีกด้วย อ้างอิงลิงค์นี้เพื่อให้มีความรู้เกี่ยวกับเครื่องมือเหล่านี้:
ให้ผู้เชี่ยวชาญของเราแนะนำคุณเกี่ยวกับเส้นทางแพลตฟอร์มข้อมูลยุคใหม่
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน