Glossar
SQLite-WAL (Write-Ahead-Log)
Im WAL-Modus hält SQLite jüngste Änderungen bis zum Checkpoint in einer -wal-Datei. Bei knowledgeC.db stehen die neuesten Ereignisse oft nur dort.
Write-Ahead-Logging (WAL) ist ein Journal-Modus von SQLite. Statt die Hauptdatei direkt zu ändern, hängt SQLite geänderte Seiten als Frames an eine benachbarte -wal-Datei an; eine -shm-Datei enthält den Shared-Memory-Index, über den Leser sie finden. Es zählen nur Frames abgeschlossener (committeter) Transaktionen. Ein Checkpoint schreibt sie später in die Hauptdatei zurück.
Beide knowledgeC.db-Datenbanken laufen im WAL-Modus, die neuesten Ereignisse stehen daher oft nur in knowledgeC.db-wal. Eine Kopie von knowledgeC.db allein kann den Eindruck erwecken, die Aktivität habe Stunden oder Tage vor der Sicherung aufgehört. Der Vergleich der Datenbank mit und ohne WAL zeigt Zeilen, die nur im WAL existieren, und Zeilen, die das WAL entfernt.
Sichern Sie knowledgeC.db, knowledgeC.db-wal und knowledgeC.db-shm gemeinsam, bilden Sie Hashwerte und öffnen Sie nur Kopien: Wird eine WAL-Datenbank am Originalort geöffnet, kann ein Checkpoint das Beweismittel verändern. Details in knowledgeC.db-Ereignisse aus dem WAL wiederherstellen.