Czym jest plik EDB?
Plik z rozszerzeniem .edb to baza danych skrzynek pocztowych utworzona przez Microsoft Exchange Server do przechowywania danych związanych z pocztą. EDB, baza danych programu Exchange, przechowuje komunikaty w toku i inne niż SMTP. EDB są również znane jako pliki bazy danych Extensible Storage Engine (ESE) i przechowują pliki przy użyciu struktury b-drzewa. Będąc plikami przechowywania, pliki EDB można konwertować na inne formaty plików przechowywania poczty, takie jak PST i OST.
Format pliku EDB
Nie ma dostępnych oficjalnych/otwartych specyfikacji formatu plików EDB, do których można się odwoływać. Poczyniono pewne postępy w zakresie inżynierii wstecznej formatu pliku, co skutkowało częściowym dekodowaniem specyfikacji. Zgodnie z nimi plik EDB składa się z:
- Nagłówek pliku — zawiera informacje o nagłówku pliku bazy danych
- Strony o stałym rozmiarze - Zawiera bazę danych składającą się z tabel i indeksów
Nagłówek pliku bazy danych
Nagłówek pliku bazy danych znajduje się na pierwszej stronie bazy danych i ma co najmniej 668 bajtów. Nagłówek pliku zawiera „Wersję formatu pliku” i „Typ pliku” oprócz innych pól.
Typy plików
| Typ | Opis | 
|---|---|
| 0 | Baza danych | 
| 1 | Transmisja strumieniowa | 
Uwaga: Identyfikatory tych typów nie są znane.
Wersja formatu pliku
Oryginalny format EDB powstał w kwietniu 1997 roku i od tego czasu ewoluował w celu wprowadzenia zmian.
| Data wersji | Wersja | Rewizja | opis | 
|---|---|---|---|
| Kwiecień 1997 | 0x00000620 | 0x00000000 | Oryginalny system operacyjny w formacie Beta. | 
| Maj 1997 | 0x00000620 | 0x00000001 | Dodaj kolumny w katalogu do indeksowania warunkowego i OLD. | 
| Czerwiec 1997 | 0x00000620 | 0x00000002 | Dodaj flagę fLocalizedText w IDB. | 
| Październik 1997 | 0x00000620 | 0x00000003 | Dodaj SPLIT_BUFFER do stron głównych drzewa przestrzeni. | 
| Jan 1998 | 0x00000620 | 0x00000002 | Przywróć wersję, aby ESE97 zachował kompatybilność w przód. | 
| 0x00000620 | 0x00000003 | Dodaj nowe oznaczone kolumny do katalogu (“CallbackData” i “CallbackDependencies”). | |
| Maj 1998 | 0x00000620 | 0x00000004 | Obsługa bardzo długich wartości (SLV): signSLV, fSLVEistnieje w dbheader. | 
| Maj 1998 | 0x00000620 | 0x00000005 | Nowe drzewo przestrzeni SLV. | 
| Październik 1998 | 0x00000620 | 0x00000006 | Mapa przestrzeni SLV. | 
| Grudzień 1998 | 0x00000620 | 0x00000007 | 4-bajtowy IDXSEG. | 
| Styczeń 1999 | 0x00000620 | 0x00000008 | Nowy format kolumny szablonu. | 
| Czerwiec 1999 | 0x00000620 | 0x00000009 | Posortowane kolumny szablonu. Używany w Windows XP SP3 | 
| 0x00000620 | 0x0000000b | Zawiera nagłówek strony z sumą kontrolną ECC używaną w Exchange | |
| 0x00000620 | 0x0000000c | Używany w systemie Windows Vista (SP0) | |
| 0x00000620 | 0x00000011 | Obsługa stron 2 KiB, 16 KiB i 32 KiB.Rozszerzony nagłówek strony z dodatkowymi sumami kontrolnymi ECC.Kompresja kolumn.Wskazówki dotyczące spacji.Używany w Windows 7 (SP0) | |
| Maj 1999 | 0x00000623 | 0x00000000 | Nowy menedżer przestrzeni. | 
Pliki bazy danych
Plik bazy danych EDB zawiera schemat dla wszystkich tabel w bazie danych. Ponadto zawiera również rekordy dla wszystkich tabel bazy danych oraz indeksy dla tych tabel. Jego lokalizacja jest określana przez następujące identyfikatory.
- Baza danych JetCreate
- JetCreateDatabase2
- Baza danych JetAttach
- JetAttachDatabase2
Na ich podstawie stan bazy danych można ocenić w następujący sposób.
| Wartość | Identyfikator | Opis | 
|---|---|---|
| 1 | JET_dbstateJustCreated | Baza danych została właśnie utworzona. | 
| 2 | JET_dbstateDirtyShutdown | Baza danych wymaga twardego lub miękkiego odzyskiwania, aby stała się użyteczna lub przenośna. Nie należy próbować przenosić baz danych w tym stanie. | 
| 3 | JET_dbstateCleanShutdown | Baza danych jest czysta. Bazę danych można dołączyć bez żadnych plików dziennika. | 
| 4 | JET_dbstateBeingConverted | Baza danych jest aktualizowana. | 
| 5 | JET_dbstateForceDetachInternal | Ta wartość jest wprowadzana w WindowsXP |