Update des Archiv spreichers schlägt fehl

Die Version die installiert ist, ist die neuste, laut log schaut es so aus, als ob die Datenbank noch Version 12 wäre:

15:59:09.775 [10] INFO: Deleted 0 recent job results.
15:59:09.881 [1] INFO: On-disk version: 12.0
15:59:09.881 [1] INFO: Oldest transaction: 29
15:59:09.881 [1] INFO: Oldest active: 30
15:59:09.881 [1] INFO: Next transaction: 30
15:59:09.884 [1] INFO: Deleting entries older than 7 days from the mailbox cache…

Beim starten wird man aufgefordert den Archivspeicher upzugraden, dies schlägt jedoch fehl:

15:59:15.507 [7] INFO: Terminal: Upgrading archive store 1 of 1…
15:59:15.508 [7] INFO: Terminal: Acquiring exclusive access to the database…
15:59:15.744 [1] EXCEPTION: Caller of MessageDlg.Exception
MailStore.Common.Interfaces.ServerException: Die Zeichenabstände sind ungültig und können nicht entfernt werden.
bei #DG.#lN.#1L(Guid #Trb, Int32 #AK)
bei MailStore.Home.HomeApplication.<>c.#dGn(Guid #Trb)
bei MailStore.Common.Progress.TerminalProgressDialog.#1Ml()

*** Preserved Stack Trace ***
   bei #DG.#lN.#1L(Guid #Trb, Int32 #AK)
   bei MailStore.Home.HomeApplication.<>c.#dGn(Guid #Trb)
   bei MailStore.Common.Progress.TerminalProgressDialog.#1Ml()

*** Server Exception Info ***
System.Security.Cryptography.CryptographicException: Die Zeichenabstände sind ungültig und können nicht entfernt werden.
   bei System.Security.Cryptography.CapiSymmetricAlgorithm.DepadBlock(Byte[] block, Int32 offset, Int32 count)
   bei System.Security.Cryptography.CapiSymmetricAlgorithm.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
   bei System.Security.Cryptography.CryptoStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   bei #yX.#8Y.#IG(Byte[] #tN, Int32 #nGb, Int32 #ddc)
   bei #Xeb.#Ljb.#aV(Stream #nhc, Stream #zTc)
   bei MailStore.Storage.RecoveryRecordStore.#QBn()
   bei MailStore.Storage.RecoveryRecordStore.#OBn(Action`1 #PBn)
   bei #5Pc.#eQc.#gqc(String #ZN, String #FH)
   bei MailStore.Storage.FileGroup.#ftn(#wpc #3bg)
   bei #5Pc.#eQc.#pDc()
   bei MailStore.Storage.MailStore_.#ZJ(Int32 #AK)
   bei MailStore.ServiceFoundation.MailStoreServiceFoundation.#kSe(#9Qe #Rmc, Guid #Trb, Int32 #AK)
   bei #DG.#7Qe.#1L(Guid #Trb, Int32 #AK)
   bei #DG.#mN.Invoke(#BL #KQf, String #RY, BinaryReader #wW, BinaryWriter #7P)

15:59:57.812 [27] INFO: MailStore_.FolderGetChildFolders took 00:00:00.0016024
15:59:57.844 [11] INFO: Acquiring non-exclusive access to the archive…

Jemand eine Idee was man hier noch tun kann?

Hallo @ChristianW ,

haben Sie noch Zugriff aufs Archiv oder wird die Anwendung mit dem fehlerhaften Upgradeprozeß beendet?

Die Anwendung bleibt zwar nach dem Fehler offen, aber das Archiv ist nicht durchsuchbar und zeigt null Mails an.

Die Datenbank des Archivspeichers [MailStoreFileGroup.fdb] scheint defekt zu sein. Ich empfehle die archivierten Nachrichten in ein neues Archiv zu übertragen.
Nachfolgend die notwendigen Schritte:

  1. Bitte aktivieren Sie das Debugprotokoll → Artikel: Erstellen einer DEBUG-LOG Datei

  2. Exportieren Sie das komplette Archiv ins Dateisystem.
    E-Mails Exportieren“ > „Verzeichnis (Dateisystem)“ > „EML-Dateien“ > Aktivieren Sie die Option „Export signieren“ > Geben Sie einen beliebigen leeren Ordner an > Starten Sie das Profil

  3. Erstellen Sie einen neuen Archivordner. → Artikel: Erstellen oder Auswahl eines neuen Archiv-Speicherorts

  4. Importieren Sie die Nachrichten ins neue Archiv.
    E-Mails archivieren“ > „E-Mail-Dateien“ > „EML- und MSG-Dateien“ > „MailStore Export“, lassen Sie die Optionen „Signatur prüfen“, „Unterordner einschließen“ und „MailStore-Header lesen“ aktiviert

Hallo,

der Export war in einer Sekunde fertig und hat leider keine Mail exportiert. Das Bild zeigt auch 0 archivierte Mails an aber angeblich belegen diese 0 Mails 15 GB

Für Archive aus älteren Versionen [ < V11 ] gibt es eine Funktion, um die Nachrichten im EML-Format zu extrahieren, falls die Archivspeicherdatenbank defekt sein sollte.

  1. Schließen Sie MailStore Home
  2. Öffnen Sie die Windows Eingabeaufforderung
  3. Führen Sie dort folgenden Befehl aus:
    C:\Program Files (x86)\MailStore\MailStore Home\MailStoreHome.exe" /recover /inputDir=„C:\Users\<BENUTZERNAME>\Documents\MailStore Home“ /outputDir=„C:\Recover“ /keyFile="C:\Users\<BENUTZERNAME>\Documents\MailStore Home\MailStoreFileGroup.key

Ersetzen Sie <BENUTZERNAME> durch ihren Windows-Benutzer und passen bei Bedarf die Verzeichnispfade des Archivs und des Ausgabeordners entsprechend an.

Hallo,

hat leider nicht funktioniert. Erst hat er abgebrochen damit dass schon ein Recovery da wäre und ein inplace recovery gemacht werden sollte.

In dem Ordner befinden sich 2104 Container, bei den ersten 9 existierte ein .rr file von März und eine rr.prop von März. ich habe diese auf .old umbenannt und dann den Befehl laufen lassen:

Im Endeffekt ist er durch alles durchgelaufen hat aber nichts recovered:
Beispiel ausgabe:
Scanning container #998
0 recovery records found. Failed recoveries 0.
Scanning container #999
0 recovery records found. Failed recoveries 0.

Count of recovery records : 0
Count of recovered mails : 0
Count of failed recoveries : 0
Finished.

Dafür kommt nun der Fehler nicht mehr beim Öffnen von Mailstore.
Die Meldung zum Update kam einmal und ohne Fehlermeldung.

Dafür aber immer noch keine Mails vorhanden. und das bei Containern mit 14,5 GB Daten.
Irgendwie habe ich das Gefühl die Daten bekommen wir aus den Containern nicht mehr raus oder?

Hallo @ChristianW ,

der zuletzt von Tim erwähnte Befehl mit „/recover“ funktioniert nur bei älteren Archiven, die noch keine Recovery Records haben. Daher war das Umbenennen der Recovery-Dateien schon ein guter Ansatz.
Sind diese quasi nicht mehr existent, kann aber auch kein neues „/inlinerecovery“ mehr ausgeführt werden. Der Log-Ausschnitt zeigt Ergebnisse eines solchen Versuches, der nun fehlende Records beklagt.

Da das Inline Recovery (mit den neuen Recovery Records) bereits nicht mehr genutzt werden konnte,
kannst du nur noch nach Entfernen bzw. Unkenntlichmachen der Recovery Records nun stattdessen den alten Befehl verwenden:

"C:\Program Files (x86)\MailStore\MailStore Home\MailStoreHome.exe" /recover /inputDir="C:\Users\<BENUTZERNAME>\Documents\MailStore Home“ /outputDir="C:\Recover“ /keyFile="C:\Users\<BENUTZERNAME>\Documents\MailStore Home\MailStoreFileGroup.key"

Das ist doch der gleiche Befehl den Tim gegeben hatte, den hatte ich ja nach umbennenen der .tt Files ausgeführt und da kam es zu dem Ergebnis was ich gepostet hatte, das /inlinerecovery hatte ich nicht versucht.

Hat niemand mehr eine Idee?

Ich würde hier immernoch eine Lösung benötigen ^^