Synology Drive Client Logs finden und Sync-Probleme analysieren

Ich bin erklärter Fan souveräner Datenhaltung und betreibe daher mein eigenes Synology NAS. Das funktioniert meistens super gut, ab und an ein Problemchen bleibt aber nicht aus. Bei der Arbeit mit Synology Drive Client unter Windows stoße ich immer wieder mal auf Sync-Probleme, bei denen das Debugging nicht ganz leicht ist, insbesondere die Log Ansicht in der Client UI ist ziemlich Murks. Nach einigem Herumprobieren habe ich einen Weg gefunden, der gut funktioniert.

Aktuell hatte ich das Problem, dass einige Dateien nicht synchronisiert werden, weil der Pfad zu lang ist für Windows. Ist also nicht die Schuld von Synology, sondern von Windows. Diese Dateien wollte ich korrigieren, bei ein paar hundert Dateien ist es aber hilfreich strukturiert vorgehen zu können und die betroffenen Dateien genau zu kennen.

Warum die Standard-Logs nicht helfen

Der Synology Drive Client für Windows (bei mir Version 4.0.1) zeigt Sync-Probleme zwar in der UI an, aber:

  • Die integrierte Protokoll-Ansicht lässt sich kaum sinnvoll durchsuchen
  • Die klassischen Log-Dateien (z.B. daemon.log) im AppData-Verzeichnis scheinen die in der UI angezeigten Fehler nicht zu enthalten
  • In den Text-Logs finden sich zwar Informationen auf Datei-Ebene, aber bei meinen Tests waren die problematischen Dateien dort nicht auffindbar (vmtl. andere Art von Log)

Was tatsächlich funktioniert: Die SQLite-Datenbank

Nach etwas Recherche bin ich darauf gestoßen, dass Synology Drive Client die Sync-Informationen in SQLite-Datenbanken ablegt. Bei mir liegen diese unter:

C:\Users\[Benutzername]\AppData\Local\SynologyDrive\data\db\

Die relevante Datei: history.sqlite

Praktisches Vorgehen

1. Drive Client beenden

Wichtig: Den Client vollständig über das Taskleisten-Icon beenden (Rechtsklick → Beenden). Dadurch werden alle Daten aus der temporären SQLite-WAL-Datei (Write-Ahead Log) in die Hauptdatenbank geschrieben.

2. SQLite-Tool besorgen

Ich verwende den DB Browser for SQLite.

3. Datenbank öffnen

  1. history.sqlite im DB Browser öffnen (Tipp: Sicherheitshalber mit einer Kopie arbeiten, nicht mit dem Original)
  2. Tab "Daten durchsuchen" (Browse Data) aufrufen
  3. Tabelle history_table auswählen

4. Probleme identifizieren

Relevante Spalten in der Datenbank:

  • path – Dateipfad
  • is_not_synced – Sync-Status
  • not_synced_reason – Fehlercode

Filter-Trick: Auf den Spaltenkopf is_not_synced klicken und nach = 1 filtern – so werden nur die nicht synchronisierten Dateien angezeigt.

Fehlercodes interpretieren

Die Spalte not_synced_reason enthält negative Werte. Was ich bisher herausgefunden habe:

  • -4096: Scheint häufig bei zu langen Pfaden aufzutreten (Windows MAX_PATH Limit von 260 Zeichen)
  • Andere Werte: Nicht offiziell dokumentiert, lassen sich aber durch Abgleich mit der UI-Fehlermeldung meist interpretieren

Beobachtung: Auch Dateien mit kurzen Pfaden können -4096 haben (z.B. desktop.ini mit nur 67 Zeichen). Die genaue Bedeutung der Codes ist mir nicht bekannt – falls jemand eine offizielle Dokumentation kennt, gerne melden.

Mein Fazit

Dieser Ansatz über die SQLite-Datenbank hat mir deutlich mehr geholfen als die Text-Logs. Die Daten sind strukturiert, filterbar und enthalten genau die Informationen, die auch in der UI angezeigt werden – nur eben durchsuchbar.


Basierend auf Erfahrungen mit Synology Drive Client 4.0.1 unter Windows

Weiter
Weiter

ALM: ein Chamäleon?