ไฟล์ EDB คืออะไร??
ไฟล์ที่มีนามสกุลไฟล์ .edb เป็นฐานข้อมูลเมลบ็อกซ์ที่สร้างโดย Microsoft Exchange Server เพื่อเก็บข้อมูลเกี่ยวกับเมล EDB, Exchange Database จัดเก็บข้อความที่อยู่ระหว่างดำเนินการและไม่ใช่ SMTP EDB เรียกอีกอย่างว่าไฟล์ฐานข้อมูล Extensible Storage Engine (ESE) และจัดเก็บไฟล์โดยใช้โครงสร้าง b-tree ในฐานะที่เป็นไฟล์จัดเก็บ ไฟล์ EDB สามารถแปลงเป็นรูปแบบไฟล์จัดเก็บเมลอื่นๆ เช่น PST และ OST
รูปแบบไฟล์ EDB
ไม่มีข้อมูลจำเพาะรูปแบบไฟล์ EDB ที่เป็นทางการ/เปิดที่สามารถอ้างอิงได้ มีความคืบหน้าบางอย่างสำหรับการทำวิศวกรรมย้อนกลับรูปแบบไฟล์ ส่งผลให้มีการถอดรหัสข้อมูลจำเพาะบางส่วน ไฟล์ EDB ประกอบด้วย:
- ส่วนหัวของไฟล์ - มีข้อมูลส่วนหัวของไฟล์ฐานข้อมูล
- หน้าขนาดคงที่ - มีฐานข้อมูลซึ่งประกอบด้วยตารางและดัชนี
ส่วนหัวของไฟล์ฐานข้อมูล
ส่วนหัวของไฟล์ฐานข้อมูลอยู่ในหน้าฐานข้อมูลแรกและมีขนาดอย่างน้อย 668 ไบต์ ส่วนหัวของไฟล์ประกอบด้วย `File Format Version’ และ ‘File Type’ นอกเหนือจากฟิลด์อื่นๆ
ประเภทไฟล์
| ประเภท | คำอธิบาย |
|---|---|
| 0 | ฐานข้อมูล |
| 1 | สตรีมมิ่ง |
หมายเหตุ: ไม่รู้จักตัวระบุสำหรับประเภทเหล่านี้
เวอร์ชันรูปแบบไฟล์
รูปแบบเดิมของ EDB เริ่มต้นในเดือนเมษายน 1997 และพัฒนาอย่างต่อเนื่องเพื่อการเปลี่ยนแปลงหลังจากนั้น
| วันที่แก้ไข | เวอร์ชัน | การแก้ไข | คำอธิบาย |
|---|---|---|---|
| เม.ย. 2540 | 0x00000620 | 0x00000000 | ระบบปฏิบัติการดั้งเดิม รูปแบบเบต้า |
| พฤษภาคม 2540 | 0x00000620 | 0x00000001 | เพิ่มคอลัมน์ในแคตตาล็อกสำหรับการจัดทำดัชนีตามเงื่อนไขและ OLD. |
| มิ.ย. 2540 | 0x00000620 | 0x00000002 | เพิ่มแฟล็ก fLocalizedText ใน IDB |
| ต.ค. 1997 | 0x00000620 | 0x00000003 | เพิ่ม SPLIT_BUFFER ไปยังหน้ารากของสเปซทรี |
| ม.ค. 1998 | 0x00000620 | 0x00000002 | ย้อนกลับการแก้ไขเพื่อให้ ESE97 ยังคงสามารถใช้งานร่วมกันได้ |
| 0x00000620 | 0x00000003 | เพิ่มคอลัมน์ที่ติดแท็กใหม่ในแคตตาล็อก (“CallbackData” และ “CallbackDependencies”) | |
| พฤษภาคม 1998 | 0x00000620 | 0x00000004 | Super Long Value (SLV) รองรับ: signSLV, fSLVexists ใน dbheader |
| พฤษภาคม 2541 | 0x00000620 | 0x00000005 | ผังพื้นที่ SLV ใหม่ |
| ต.ค. 2541 | 0x00000620 | 0x00000006 | SLV space map. |
| ธันวาคม 1998 | 0x00000620 | 0x00000007 | IDXSEG 4 ไบต์ |
| ม.ค. 1999 | 0x00000620 | 0x00000008 | รูปแบบคอลัมน์เทมเพลตใหม่ |
| มิถุนายน 1999 | 0x00000620 | 0x00000009 | คอลัมน์เทมเพลตที่เรียงลำดับ ใช้ใน Windows XP SP3 |
| 0x00000620 | 0x0000000b | มีส่วนหัวของหน้าที่มีการตรวจสอบ ECC ที่ใช้ใน Exchange | |
| 0x00000620 | 0x0000000c | ใช้ใน Windows Vista (SP0) | |
| 0x00000620 | 0x00000011 | รองรับหน้า 2 KiB, 16 KiB และ 32 KiB ส่วนหัวของหน้าแบบขยายพร้อมการตรวจสอบ ECC เพิ่มเติม การบีบอัดคอลัมน์ คำแนะนำเกี่ยวกับ Space ใช้ใน Windows 7 (SP0) | |
| พฤษภาคม 2542 | 0x00000623 | 0x00000000 | ผู้จัดการ Space ใหม่ |
ไฟล์ฐานข้อมูล
ไฟล์ฐานข้อมูล EDB มีสคีมาสำหรับตารางทั้งหมดในฐานข้อมูล นอกจากนี้ยังรวมระเบียนสำหรับตารางฐานข้อมูลทั้งหมดและดัชนีสำหรับตาราง ตำแหน่งถูกกำหนดโดยตัวระบุต่อไปนี้
- JetCreateDatabase
- JetCreateDatabase2
- JetAttach ฐานข้อมูล
- JetAttachDatabase2
จากข้อมูลเหล่านี้ สามารถประเมินสถานะของฐานข้อมูลได้ดังนี้
| ค่า | ตัวระบุ | คำอธิบาย |
|---|---|---|
| 1 | JET_dbstateJustCreated | เพิ่งสร้างฐานข้อมูล |
| 2 | JET_dbstateDirtyShutdown | ฐานข้อมูลต้องการการกู้คืนแบบฮาร์ดหรือแบบซอฟต์เพื่อให้สามารถใช้งานได้หรือเคลื่อนย้ายได้ ไม่ควรพยายามย้ายฐานข้อมูลในสถานะนี้ |
| 3 | JET_dbstateCleanShutdown | ฐานข้อมูลอยู่ในสถานะสะอาด สามารถแนบฐานข้อมูลได้โดยไม่ต้องมีไฟล์บันทึกใดๆ |
| 4 | JET_dbstate กำลังแปลง | ฐานข้อมูลกำลังได้รับการอัปเกรด |
| 5 | JET_dbstateForceDetachInternal | ค่านี้ถูกนำมาใช้ใน WindowsXP |