Database file appears corrupt

Hi Community

Nach einem bluescreen folgendes im log
Ich habe kein Backup

18:42:13.000 [13] INFO: Opening existing archive at C:\Users\info\AppData\Local\MailStoreHome…
18:42:13.000 [13] INFO: Checking if the archive directory exists…
18:42:13.000 [13] INFO: Acquiring exclusive access to the archive via ‚MailStore.lock‘…
18:42:13.000 [13] INFO: Initializing MailStoreMaster.key.
18:42:13.064 [13] INFO: Windows Event Log: Writing of key file: C:\Users\info\AppData\Local\MailStoreHome\MailStoreMaster.key successfully written.
18:42:13.129 [13] INFO: Opening the master database ‚MailStoreMaster.fdb‘…
18:42:13.129 [13] INFO: Opening database C:\Users\info\AppData\Local\MailStoreHome\MailStoreMaster.fdb
18:42:13.262 [13] INFO: On-disk version: 13.0
18:42:13.262 [13] INFO: Oldest transaction: 246079
18:42:13.262 [13] INFO: Oldest active: 248479
18:42:13.262 [13] INFO: Next transaction: 248479
18:42:13.262 [13] INFO: Checking the product type…
18:42:13.262 [13] INFO: Checking master database version…
18:42:13.262 [13] INFO: Opening all file groups marked as ‚active‘…
18:42:13.262 [13] INFO: Synchronizing the internal file group list…
18:42:13.262 [13] INFO: About to open MailStore Home file group…
18:42:13.270 [13] INFO: Opening file group 1 as ‚DefaultFileGroup‘ (IsCurrent=True, IsReadOnly=False)…
18:42:13.351 [13] INFO: Windows Event Log: Writing of key file: C:\Users\info\AppData\Local\MailStoreHome\MailStoreFileGroup.key successfully written.
18:42:13.354 [13] INFO: Opening database file ‚MailStoreFileGroup.fdb‘…
18:42:13.354 [13] INFO: Opening database C:\Users\info\AppData\Local\MailStoreHome\MailStoreFileGroup.fdb
18:42:13.377 [13] EXCEPTION: FileGroup.GetFileGroup
FirebirdSql.Data.FirebirdClient.FbException: database file appears corrupt (C:\USERS\INFO\APPDATA\LOCAL\MAILSTOREHOME\MAILSTOREFILEGROUP.FDB)
wrong page type
page 516848 is of wrong type (expected data, found unknown (221))
bei FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
bei FirebirdSql.Data.FirebirdClient.FbConnection.Open()
bei 26_1_0_23845_HOME_ywtpubrycl.GetFirebirdVersionFromPath(String fullPath)
bei 26_1_0_23845_HOME_ywtpubrycl…ctor(String fullPath)
bei 26_1_0_23845_HOME_ywtpubrxxr…ctor(26_1_0_23845_HOME_ywtpubryan host, Int32 fileGroupID, String name, Boolean isCurrent, Boolean isReadOnly, Boolean flatStorage, 26_1_0_23845_HOME_ywtpubrxhw properties)
bei 26_1_0_23845_HOME_ywtpubrxxq.Get(26_1_0_23845_HOME_ywtpubryan host, Int32 fileGroupID, String name, Boolean isCurrent, Boolean isReadOnly, 26_1_0_23845_HOME_ywtpubrxhw properties)
bei 26_1_0_23845_HOME_ywtpubryal.GetFileGroup(26_1_0_23845_HOME_ywtpubryan host, Int32 fileGroupID, String name, Boolean isCurrent, Boolean isReadOnly, 26_1_0_23845_HOME_ywtpubrxhw properties)

*** Inner Exception ***
FirebirdSql.Data.Common.IscException: database file appears corrupt (C:\USERS\INFO\APPDATA\LOCAL\MAILSTOREHOME\MAILSTOREFILEGROUP.FDB)
wrong page type
page 516848 is of wrong type (expected data, found unknown (221))
   bei FirebirdSql.Data.Client.Native.StatusVectorHelper.ProcessStatusVector(IntPtr[] statusVector, Charset charset, Action`1 warningMessage)
   bei FirebirdSql.Data.Client.Native.FesDatabase.Attach(DatabaseParameterBufferBase dpb, String database, Byte[] cryptKey)
   bei FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()

18:42:13.378 [13] ERROR: Windows Event Log: Der Archivspeicher DefaultFileGroup konnte nicht geöffnet werden. Ein Datenbankfehler ist aufgetreten. Code: 335544335. Details: database file appears corrupt (C:\USERS\INFO\APPDATA\LOCAL\MAILSTOREHOME\MAILSTOREFILEGROUP.FDB)
wrong page type
page 516848 is of wrong type (expected data, found unknown (221))
18:42:13.379 [13] INFO: Start setting milestone dbversion.milestone2024.RecoveryRecordsAreOK …
18:42:13.379 [13] INFO: Creating a list of all known file groups…
18:42:13.379 [13] INFO: The file groups metadata list needs to be recreated from master database.
18:42:13.379 [13] INFO: The file groups metadata list has been recreated from master database.
18:42:13.379 [13] INFO: Completing the file group metadata list with live information…
18:42:13.379 [13] INFO: File group metadata list has been updated with live information successfully.
18:42:13.379 [13] INFO: Closing archive…
18:42:13.379 [13] INFO: Closing all open file groups…
18:42:13.398 [13] INFO: Closing ‚MailStore.lock‘…
18:42:13.398 [13] INFO: The archive has been closed.
18:42:13.398 [13] INFO: Lockfile C:\Users\info\AppData\Local\MailStoreHome\MailStore.lock deleted.
18:42:13.399 [13] EXCEPTION: MailStore_.Open
MailStore.Common.Interfaces.ServerException: Der Archivspeicher #1 ist zurzeit nicht verfügbar. Bitte wenden Sie sich an Ihren Systemadministrator.
bei 26_1_0_23845_HOME_ywtpubrybq.GetFileGroupForRead(Int32 gid)
bei 26_1_0_23845_HOME_ywtpubrybq.FileGroupSetMilestone2024RecoveryRecordsAreOK()
bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)
18:42:13.400 [1] EXCEPTION: HomeApplication.CreateOrOpenDatabase
System.Exception: Die Master-Datenbank in C:\Users\info\AppData\Local\MailStoreHome konnte nicht geöffnet werden. Der Archivspeicher #1 ist zurzeit nicht verfügbar. Bitte wenden Sie sich an Ihren Systemadministrator.
bei MailStore.Home.HomeUpgradeProgressDialog.ShowProgressDialog(Int32 minDuration, Action runMethod)
bei MailStore.Home.HomeApplication.InternalOpenExistingDatabase(String path, 26_1_0_23845_HOME_waooiwemfr startType, Byte& masterKeyPassword, Boolean showProgressDialog)
bei MailStore.Home.HomeApplication.CreateOrOpenDatabase(26_1_0_23845_HOME_waooiwemfr startType, Byte& masterKeyPassword)

*** Preserved Stack Trace ***
   bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)
   bei 26_1_0_23845_HOME_ywtpubrybq.Open(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean disableHeartbeat)
   bei MailStore.Home.HomeApplication.26_1_0_23845_HOME_waooiwemfs.<InternalOpenExistingDatabase>b__0()
   bei MailStore.Home.HomeUpgradeProgressDialog.<>c__DisplayClass4_1.<ShowProgressDialog>b__0()

*** Inner Exception ***
MailStore.Common.Interfaces.ServerException: Der Archivspeicher #1 ist zurzeit nicht verfügbar. Bitte wenden Sie sich an Ihren Systemadministrator.
   bei 26_1_0_23845_HOME_ywtpubrybq.GetFileGroupForRead(Int32 gid)
   bei 26_1_0_23845_HOME_ywtpubrybq.FileGroupSetMilestone2024RecoveryRecordsAreOK()
   bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)

*** Preserved Stack Trace ***
   bei 26_1_0_23845_HOME_ywtpubrybq.GetFileGroupForRead(Int32 gid)
   bei 26_1_0_23845_HOME_ywtpubrybq.FileGroupSetMilestone2024RecoveryRecordsAreOK()
   bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)

18:42:13.401 [1] EXCEPTION: Caller of MessageDlg.Exception
System.Exception: Die Master-Datenbank in C:\Users\info\AppData\Local\MailStoreHome konnte nicht geöffnet werden. Der Archivspeicher #1 ist zurzeit nicht verfügbar. Bitte wenden Sie sich an Ihren Systemadministrator.
bei MailStore.Home.HomeUpgradeProgressDialog.ShowProgressDialog(Int32 minDuration, Action runMethod)
bei MailStore.Home.HomeApplication.InternalOpenExistingDatabase(String path, 26_1_0_23845_HOME_waooiwemfr startType, Byte& masterKeyPassword, Boolean showProgressDialog)
bei MailStore.Home.HomeApplication.CreateOrOpenDatabase(26_1_0_23845_HOME_waooiwemfr startType, Byte& masterKeyPassword)

*** Preserved Stack Trace ***
   bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)
   bei 26_1_0_23845_HOME_ywtpubrybq.Open(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean disableHeartbeat)
   bei MailStore.Home.HomeApplication.26_1_0_23845_HOME_waooiwemfs.<InternalOpenExistingDatabase>b__0()
   bei MailStore.Home.HomeUpgradeProgressDialog.<>c__DisplayClass4_1.<ShowProgressDialog>b__0()

*** Inner Exception ***
MailStore.Common.Interfaces.ServerException: Der Archivspeicher #1 ist zurzeit nicht verfügbar. Bitte wenden Sie sich an Ihren Systemadministrator.
   bei 26_1_0_23845_HOME_ywtpubrybq.GetFileGroupForRead(Int32 gid)
   bei 26_1_0_23845_HOME_ywtpubrybq.FileGroupSetMilestone2024RecoveryRecordsAreOK()
   bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)

*** Preserved Stack Trace ***
   bei 26_1_0_23845_HOME_ywtpubrybq.GetFileGroupForRead(Int32 gid)
   bei 26_1_0_23845_HOME_ywtpubrybq.FileGroupSetMilestone2024RecoveryRecordsAreOK()
   bei 26_1_0_23845_HOME_ywtpubrybq.InternalOpen(String fullPath, ProductType productType, 26_1_0_23845_HOME_ywtpubrxzt auditLogConfiguration, Func`1 getLicenseInfo, Action invalidateLicenseInfo, Byte[] masterKeyPassword, String productKey, Boolean skipSynchronizeFileGroups, Boolean creating, Boolean disableHeartbeat)

a.) Merken regelmäßig ein Backup zu machen. Ein Archiv ist kein Backup.
b.) Mach jetzt ein Backup/Kopie des Archiv Ordners. Rettungsversuche könnten das Problem vergrößeren und vielleicht braucht es ein zurück für einen 2.ten Versuch.
c.) Starte dein MailStore Home mit dem „/inlinerecovery“ Parameter um eine automatische Reparatur zu versuchen
Also ein „MailStoreHome.exe /inlinerecovery“ aus deinem Installationsordner
d.) Ein Dialog sollte sich öffnen der Info ausgibt über den Verlauf der Reparatur.

Lieber Ralf, vielen Dank für Deine Zeit.

Resultat

Recovering database for archive store
gid : 1
name : DefaultFileGroup
database path : C:\MailStore\MailStoreFileGroup.fdb
archive store identity : 133fb7a3-8ecb-4e17-9380-fc1a63f7b94b

Creating new empty database file „MailStoreFileGroup“.
Recreating mail entries.
Non-negative number required.
Parameter name: value
0 mails have been recovered.

Reseed MAIL_MAILID_GEN to 0.
Reseed FOLDER_FOLDERID_GEN to 1.
Try to reuse existing index files.
Orphaned index files that could not be reused for an archive.

  • C:\MailStore\Index0007.dat

Reseed SEARCHINDEX_SEARCHINDEXID_GEN to 7.

Recovered database for archive store.

„0 mails have been recovered.“ Ist ein bißchen wenig :cry:
Kannst du einmal den Inhalt des "C:\MailStore" Ordners zeigen?

Damit „inlinerecovery“ funktioniert benötigt es Dateien mit der Endung „.rr“. Aus diesen wird die Datenbank restauriert. Und das du eine „Index0007.dat“ hast klingt falsch. MailStore Home ist für Einzelanwender. Die Zahl hinter Index referenziert einen User. Du solltest in MailStore Home eigentlich nur eine „Index0001.dat“ haben.

Lieber Ralf

Da wurde in Vergangenheit rumgebastelt bei jedem Wechsel eines Laptops vermutlich.
Ich habe nun anhand eines Backups Daten gefunden bis Ende Juli 2025.
Aus einer Partition konnte ich die Daten bis zum Datenunfall vom 6.3.2026 heruasziehen.
Ich kann Mailstore mit den Daten bis Ende Juli 2025 wieder zum Laufen bringen und alle Mails sind da.
Wenn ich es jedoch mit den Daten bis 6.3.2026 versuche bekomme ich die gesendete Fehlermeldung.
die beiden .fdb und entsprechenden .key habe ich vom 6.3.2026, alle .dat auch und die .rr auch
Vielleicht wenn Du mir erklären könntest wofür welche Datei benötigt wird oder was darin zu finden ist kann ich weiter nachdenken weshalb es nicht funktioniert.
Das Komische ist, dass wenn ich alle Daten bis 6.3.2026 drin habe, der Fehler kommt, jedoch 3 Mails rekonstruiert werden vom Januar und Februar.

Vielen Dank
LG
Giorgio

Ich besitze alle .dat, die .fdb und die .key, ich kann nach „/inlinerecovery“ MailStore öffnen jedoch lädt MailStoreHome die Daten nur bis 13.07.2025 obwohl .dat, .fdb und .key vom 6.3.26, das liegt anscheinend daran, dass rr.prop vom 13.7.25 ist und ich komme nicht mehr an eine neuere rr.prop
Habe auch schon versucht eine neue rr.prop reinzukopieren was jedoch nichts bringt

rr.prop ist nicht ganz so entscheidend. Die .rr Dateien sind es aus denen wiederhergestellt wird.

Zusammenfassung:

Ich konnte alle Daten von der SSD extrahieren.
alle .rr, .dat, .fdb und .key

Wenn ich MailStore starte kommt die Fehlermeldung „Der Archivspeicher #1 ist zurzeit nicht verfügbar“

Debug:
09:37:19.297 [10] INFO: Opening database file ‚MailStoreFileGroup.fdb‘… 09:37:19.297 [10] INFO: Opening database C:\MailStoreHome-25-4-1\MailStoreFileGroup.fdb 09:37:19.323 [10] EXCEPTION: FileGroup.GetFileGroup FirebirdSql.Data.FirebirdClient.FbException: database file appears corrupt (C:\MAILSTOREHOME-25-4-1\MAILSTOREFILEGROUP.FDB) wrong page type page 516848 is of wrong type (expected data, found unknown (221)) bei FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() bei FirebirdSql.Data.FirebirdClient.FbConnection.Open() bei 25_4_1_23215_HOME_rfdhewmbzk.GetFirebirdVersionFromPath(String fullPath) bei 25_4_1_23215_HOME_rfdhewmbzk…ctor(String fullPath) bei 25_4_1_23215_HOME_rfdhewmbuq…ctor(25_4_1_23215_HOME_rfdhewmbxm host, Int32 fileGroupID, String name, Boolean isCurrent, Boolean isReadOnly, Boolean flatStorage, 25_4_1_23215_HOME_rfdhewmbfj properties) bei 25_4_1_23215_HOME_rfdhewmbup.Get(25_4_1_23215_HOME_rfdhewmbxm host, Int32 fileGroupID, String name, Boolean isCurrent, Boolean isReadOnly, 25_4_1_23215_HOME_rfdhewmbfj properties) bei 25_4_1_23215_HOME_rfdhewmbxk.GetFileGroup(25_4_1_23215_HOME_rfdhewmbxm host, Int32 fileGroupID, String name, Boolean isCurrent, Boolean isReadOnly, 25_4_1_23215_HOME_rfdhewmbfj properties)

Ich habe die MailStoreFileGroup.fdb (2.3GB) mit gfix versucht zu reparieren was nicht möglich war.

Mit /inlinerecovery wird die MailStoreFileGroup.fdb neu erstellt jedoch mit nur 2 GB
Die Mails werden geladen bis 3.7.2025 ohne Fehler
[Status] 1508000 mail entries recovered.
[Status] 1509000 mail entries recovered.
[Status] 1510000 mail entries recovered.
Non-negative number required.
Parameter name: value
Non-negative number required.
Parameter name: value
Non-negative number required.
Parameter name: value
Non-negative number required.
Parameter name: value
Non-negative number required.
Parameter name: value
1510249 mails have been recovered.

Reseed MAIL_MAILID_GEN to 2120000.
Reseed FOLDER_FOLDERID_GEN to 51.
Try to reuse existing index files.
Reseed SEARCHINDEX_SEARCHINDEXID_GEN to 7.

Recovered database for archive store.

dann gibt es eine vom 18.02.2026 ohne Fehler und weitere aus 2026 mit folgendem Fehler:

$ File Group: 1
$ Message: 2100000
$ Folder: default/Outlook [email protected]/Posteingang
$ Date: 14.01.2026 12:27:51
$ Archive Date: 14.01.2026 17:04:31
$ UID 1: [email protected]
$ UID 2: f86da082f354d149fc8e
$ UID 3:
$ MAPI CST: 14.01.2026 12:27:48

$ Size: 99091
$ Flags: hasattachments
– MIME Entity –
$ ID: 5228713
$ Decoded: True
$ SHA1 Hash: 5f01b7114fd5f45812fe4f0831319eb42bb2f020
$ Retr Errors: DataNotAvailable, HeaderNotAvailable
Error: Header not available

-- MIME Entity --
$ ID:            5228714
$ Decoded:       False
$ SHA1 Hash:     
$ Retr Errors:   HeaderNotAvailable
Error: Header not available

	-- MIME Entity --
	$ ID:            5228715
	$ Decoded:       True
	$ SHA1 Hash:     9826f658a518268938a216ec26e9457f172f5943
	$ Retr Errors:   HeaderNotAvailable
	Error: Header not available

	-- MIME Entity --
	$ ID:            5228716
	$ Decoded:       True
	$ SHA1 Hash:     cd16e800f9c911e2a9ccba9d71745e4ac0e4020a
	$ Retr Errors:   HeaderNotAvailable
	Error: Header not available

-- MIME Entity --
$ ID:            5228717
$ Decoded:       True
$ SHA1 Hash:     de93eb7981625d8a2a42cab6a6ef170d8b0859df
$ Retr Errors:   DataNotAvailable, HeaderNotAvailable
Error: Header not available

Wo könnte das Problem liegen?
An der Korrupten fdb?
Ich habe versucht diese mit FirstAid zu reparieren was leider scheitert.

Danke

Das klingt so als wäre nicht nur deine Datenbank (fdb) kaputtgegangen sonder auch die .dat Dateien. Diese beinhalten die eigentlichen Maildaten und die brauchst du zwingend sonst ist da nix zu recovern bzw nur teilweise zu recovern. Du siehst in deinem Auszug die HeaderNotAvailable, DataNotAvailable Fehlermeldungen die bedeuten das das Nötige in den .dat Dateien nicht zu finden ist.

Heißt deine fdb Datenbank ist jetzt wieder ok aber deine .dat Dateien noch kaput oder unvollständig. Deine einzige Hoffnung ist potentiel fehlende .dat Dateien zu finden wenn du die noch irgendwo rumliegen hast.

es gibt keine tools um .dat zu prüfen, oder?

Hallo @Gioina,

es gibt die Funktion Datenintegrität prüfen.

Gruß
Tim

Guten Morgen Tim

Das heisst zuerst „/inlinerecovery“ damit ich überhaupt MailStoreHome starten kann und dann die Dateintegrität prüfen?

Noch eine Frage, wenn ich 1000 Fortlaufende .dat Dateien habe und die 990.dat ist defekt, wird diese bei „/inlinerecovery“ übersprungen und mit dem Rest weitergemacht oder wird der Rest dann auch nicht mehr verarbeitet?

LG

Hi Tim

gfix.exe : database file appears corrupt (C:$F03959\MAILSTOREFILEGROUP.FDB)
In Zeile:1 Zeichen:1

  • & „$fb\gfix.exe“ -v -full -user SYSDBA -password masterkey $db *>&1 | …
  •   + CategoryInfo          : NotSpecified: (database file a...EFILEGROUP.FDB):String) [], RemoteException
      + FullyQualifiedErrorId : NativeCommandError
    
    

-wrong page type
-page 516848 is of wrong type (expected data, found unknown (221))

Ich könnte versuchen die fdb mit firstaid zu reparieren.

Dazu müsste ich jedoch

  • den rohen Datenbankschluessel fuer MailStoreFileGroup.fdb
  • oder eine unterstützte Entschluesselung der MailStoreFileGroup.fdb
  • oder eine offizielle Prozedur für MailStore Home 25.4.1, um den Store ausserhalb von MailStore für Recovery zu entschlüsseln