Datenbankserver Fehlermeldung: database is locked

"Database Locked" bedeutet, dass die Datenbank von einem Nutzer (z.B. Lodgit Desk oder cubeSQL) blockiert wird. Dieses Sperren dient dazu, Datenverlust zu vermeiden und wird in den meisten Fällen automatisch wieder aufgehoben, sobald der Nutzer mit der jeweiligen Aktion fertig ist; meist dauert dies nur wenige Sekunden.

Die nachfolgend genannten Nutzungen können dazu führen dass die Datenbank den Fehler "Database is locked" bzw. "Database malfored" anzeigt. Diese Fehler sind ein Indikator dafür, dass die Datenbank beschädigt ist, was zu Datenverlust führt.

 ACHTUNG: Dieser Fehler kann auch auftreten, wenn ...

  • ... gleichzeitig eine Instanz von Lodgit Desk über den Datenbankserver CubeSQL mit der Datenbankdatei verbunden ist und eine weitere Instanz von Lodgit Desk direkt auf die gleiche Datenbankdatei zugreift.
  • ... gleichzeitig mindestens zwei verschiedene CubeSQLDatenbankserver auf die gleiche Datenbankdatei zugreifen.
  • ... gleichzeitig mindestens zwei verschiedene Instanzen von Lodgit Desk direkt, ohne CubeSQL, auf die gleiche Datenbankdatei zugreifen.
  • ... gleichzeitig oder zusätzlich zu Lodgit Desk ein anderes Programm auf die gleiche Datenbankdatei zugreift.


Die oben genannten Beispiele können auch dazu führen, dass die Datenbank Malformed, d.h. beschädigt wird.


Unter Umständen kann es dazu kommen, dass die Datenbank nicht automatisch wieder frei gegeben wird, auch wenn die Aktion bereits fertig ist. In diesem Fall erhalten Sie die Fehlermeldung "Database Locked". Diesen Fehler können Sie dann wie folgt auflösen:

Schritt 1: Beenden Sie auf allen Computern das Programm Lodgit Desk.

Achten Sie darauf, dass keine weiteren Programme auf die Datenbanken zugreifen.
Öffnen Sie das Tool cubeSQLAdmin und prüfen Sie unter "Clients", ob noch Zugriff auf die Datenbanken besteht.

Sobald auf die Datenbank nicht mehr zugegriffen wird (unteres Bild), öffnen Sie Lodgit Desk erneut. In den meisten Fällen wird das Problem dadurch bereits behoben.
Besteht das Problem weiterhin, gehen Sie zu Schritt 2.


Schritt 2: Beenden Sie den Fremdzugriff auf die Datenbanken.

Öffnen Sie das Tool cubeSQLAdmin und prüfen Sie unter "Databases", ob die Datenbank von einem anderen Nutzer gesperrt ist. Dies kann u.a. durch Virenscanner oder Backuptools geschehen.

Für die Backups der Datenbank sollten Sie immer die Funktion des cubeSQL-Servers nutzen. Diese finden Sie über den Punkt "Schedules" im cubeSQLAdmin (mehr Informationen darüber in unserer Schritt-für-Schritt-Anleitung).

Es ist möglich, dass der cubeSQL-Server beim Erstellen des Backups zur Sicherheit die Datenbanken für diesen Vorgang sperrt. Tritt der Fehler zu einem Zeitpunkt auf, an dem Sie üblicherweise ein Backup machen, warten Sie bitte ein paar Minuten ab und überprüfen Sie dann den Status der Datenbank erneut.

Können Sie Ihr Lodgit Desk weiterhin nicht öffnen, gehen Sie zu Schritt 3.

Schritt 3: Manuelles Entsperren der Datenbanken

Sie können die Datenbank auch manuell mit dem cubeSQLAdmin-Tool entsperren. Achten Sie zunächst darauf, dass Lodgit Desk auf allen Computer beendet wurde:

Gehen Sie dann zu "Console" und führen Sie nacheinander die SQL-Befehle "UNLOCK database 'Lodgit Database.lxdb'" und "UNLOCK database 'Lodgit Test Database.lxdb'" aus. Achten Sie dabei explizit auf Groß- und Kleinschreibung!

Öffnen Sie anschließend Lodgit Desk. Besteht das Problem weiterhin, gehen Sie zu Schritt 4.

Schritt 4: Neustart des cubeSQL-Servers

Achten Sie wie in Schritt 3 darauf, dass Lodgit Desk auf allen Computern beendet wurde und kein Zugriff auf die Datenbanken besteht:

Anschließend können Sie das cubeSQLAdmin-Tool schließen und den Serverdienst neu starten. Auf einem Windowssystem erfolgt dies in der Systemsteuerung unter "System und Sicherheit > Verwaltung > Dienste"

Auf einem Mac-System erfolgt dies in den Systemeinstellungen unter "Sonstiges > cubeSQL"

Können Sie Ihr Lodgit Desk weiterhin nicht öffnen, gehen Sie zu Schritt 5.

Schritt 5: Neustart der Rechner

Sollte keine der vorangegangenen Schritte zum Erfolg geführt haben, führen Sie einen Neustart aller Rechner aus, auf denen Lodgit Desk und/oder der cubeSQL-Server installiert ist.