Що таке файл EDB?
Файл із розширенням .edb — це база даних поштових скриньок, створена Microsoft Exchange Server для зберігання даних, пов’язаних із поштою. EDB, база даних Exchange, зберігає повідомлення, які знаходяться в процесі обробки та не є SMTP. EDB також відомий як файли бази даних Extensible Storage Engine (ESE) і зберігають файли за допомогою структури b-дерева. Будучи файлами зберігання, файли EDB можна конвертувати в інші формати файлів зберігання пошти, наприклад PST і OST.
Формат файлу EDB
Немає офіційних/відкритих специфікацій формату файлів EDB, на які можна посилатися. Було досягнуто певного прогресу для зворотного проектування формату файлу, що призвело до часткового декодування специфікацій. Відповідно до них файл EDB складається з:
- Заголовок файлу - містить інформацію про заголовок файлу бази даних
- Сторінки фіксованого розміру - містять базу даних, яка складається з таблиць та індексів
Заголовок файлу бази даних
Заголовок файлу бази даних міститься на першій сторінці бази даних і має принаймні 668 байт. Заголовок файлу містить Версія формату файлу і Тип файлу на додаток до інших полів.
Типи файлів
| Тип | Опис |
|---|---|
| 0 | База даних |
| 1 | Потокове передавання |
Примітка. Ідентифікатори для цих типів невідомі.
Версія формату файлу
Оригінальний формат EDB розпочався у квітні 1997 року та продовжував розвиватися для подальших змін.
| Дата редакції | Версія | Редакція | опис |
|---|---|---|---|
| Квітень 1997 | 0x00000620 | 0x00000000 | Оригінальний бета-версія операційної системи. |
| Травень 1997 | 0x00000620 | 0x00000001 | Додайте стовпці в каталозі для умовної індексації та OLD. |
| Червень 1997 | 0x00000620 | 0x00000002 | Додати позначку fLocalizedText в IDB. |
| Жовтень 1997 | 0x00000620 | 0x00000003 | Додати SPLIT_BUFFER до кореневих сторінок космічного дерева. |
| Січень 1998 | 0x00000620 | 0x00000002 | Повернути версію, щоб ESE97 залишався сумісним із попередніми версіями. |
| 0x00000620 | 0x00000003 | Додати нові стовпці з тегами до каталогу (“CallbackData” і “CallbackDependencies”). | |
| Травень 1998 | 0x00000620 | 0x00000004 | Підтримка наддовгого значення (SLV): signSLV, fSLVE існує в заголовку бази даних. |
| Травень 1998 | 0x00000620 | 0x00000005 | Нове космічне дерево SLV. |
| Жовтень 1998 | 0x00000620 | 0x00000006 | Космічна карта SLV. |
| Грудень 1998 | 0x00000620 | 0x00000007 | 4-байт IDXSEG. |
| Січень 1999 | 0x00000620 | 0x00000008 | Новий формат стовпця шаблону. |
| Червень 1999 | 0x00000620 | 0x00000009 | Відсортовані стовпці шаблону. Використовується в Windows XP SP3 |
| 0x00000620 | 0x0000000b | Містить заголовок сторінки з контрольною сумою ECC, яка використовується в Exchange | |
| 0x00000620 | 0x0000000c | Використовується в Windows Vista (SP0) | |
| 0x00000620 | 0x00000011 | Підтримка сторінок розміром 2 КіБ, 16 КіБ і 32 КіБ. Розширений заголовок сторінки з додатковими контрольними сумами ECC. Стиснення стовпців. Підказки щодо простору. Використовується в Windows 7 (SP0) | |
| Травень 1999 | 0x00000623 | 0x00000000 | Новий менеджер простору. |
Файли бази даних
Файл бази даних EDB містить схему для всіх таблиць у базі даних. Крім того, він також містить записи для всіх таблиць бази даних та індекси для таблиць. Його розташування визначається наступними ідентифікаторами.
- JetCreateDatabase
- JetCreateDatabase2
- JetAttachDatabase
- JetAttachDatabase2
Виходячи з них, стан бази даних можна оцінити наступним чином.
| Значення | Ідентифікатор | Опис |
|---|---|---|
| 1 | JET_dbstateJustCreated | Базу даних щойно створено. |
| 2 | JET_dbstateDirtyShutdown | База даних потребує жорсткого або програмного відновлення, щоб стати придатною для використання або переміщення. Не слід намагатися перемістити бази даних у такому стані. |
| 3 | JET_dbstateCleanShutdown | База даних знаходиться в чистому стані. Базу даних можна прикріпити без файлів журналу. |
| 4 | JET_dbstateBeingConverted | База даних оновлюється. |
| 5 | JET_dbstateForceDetachInternal | Це значення введено в WindowsXP |