Wie kann man herausfinden, ob eine Datenbank verwendet wird?
Es kommt immer wieder die Frage auf durch Sicherung/Rücksicherung/Temp-Datenbanken bei Update etc., dass es mehrere enaio Datenbanken gibt. Manchmal wird zur Installation in eine leere Datenbank installiert und später wird ein Klon der produktiven Datenbank verwendet.
Die Frage ist nun, wie bekommt man heraus, ob die Datenbank in Benutzung ist?
Dazu gibt es mehrere Methoden und Möglichkeiten direkt bei der Datenbank. Sehr oft bestehen aber nicht genügend Rechte zu prüfen, wer sich mit der Datenbank verbunden hat.
Sehr einfach geht es über SQL-Anfragen der enaio Tabellen.
Tabelle SERVER beinhaltet die Server, die mit dieser Datenbank arbeiten dürfen, inklusive IP-Adresse und Dienstname.
Tabelle OSPINGTABLE wird - solange der enaio Dienst läuft - permanent von unserem Dienst aktualisiert.
Die Prüfung der Datenbankversion kann auch hilfreich sein, Tabelle OSVERHIST. Meist genügen bereits die Informationen zu den Tabellen SERVER und OSPINGTABLE.
Schritt-für-Schritt-Anleitung
- ODBC-Tool aufrufen, z. Bsp. MSSQL Management Studio oder SQL Developer oder Winsql.exe
- Statements absetzen und das Ergebnis prüfen:
SELECT * FROM SERVER;
SELECT * FROM OSPINGTABLE;
SELECT * FROM OSVERHIST; - Beide Ergebnisse ansehen:
- Tabelle SERVER:
Stehen bei SERVER bekannte Server? Falls ja, bitte noch Punkt 3.b) prüfen
Stehen hier alte Server, die bereits abgeschaltet sind, wird die Datenbank nicht verwendet. - Tabelle OSPINGTABLE:
Sollte der Inhalt leer sein und der enaio Dienst ist gestartet, wird diese Datenbank nicht verwendet.
Werden Einträge mit alten Datumsangaben angezeigt, wird die Datenbank nicht verwendet.
Beinhaltet die Tabelle OSPINGTABLE aktuelle Einträge, wird die Datenbank verwendet. - Tabelle OSVERHIST:
Steht hier die aktuelle Version, wird die Datenbank verwendet, wenn OSPINGTABLE aktuelle Einträge enthält
Steht hier "nur" eine alte Version, wird die Datenbank nicht verwendet. Der enaio Dienst könnte damit nicht starten.
Wurde ein Update ausgeführt und hier steht nur die aktuelle Version, kann es sein, dass dies nur eine Temp-Datenbank war. Bei Update stehen immer alle Versionen in dieser Tabelle, die jemals ausgeführt wurden.
- Tabelle SERVER:
Beispiele:
- select * from server
id name comstring port instance flag group_id account_id osstorage abochecked
----------- -------------------------------------------------- -------------------------------------------------- ----------- -------------------------------------------------- ----------- ----------- ----------- --------- -----------
3 SVR001 10.10.36.82 4000 ENAIO 1 3 8 444342413 1632117220
Wenn der aktuelle enaio Server nicht SVR001 ist, wird diese nicht verwendet. Man kann auch den Wert bei abochecked prüfen (über den enaio Admin und Tools). Also: 1632117220 = 20.09.2021 05:53.40
Da dieser Wert nicht aktuell ist, ist dies mit höchster Wahrscheinlichkeit nicht in Verwendung. Sicherheitshalber noch OSPINGTABLE prüfen.
- select * from ospingtable
serverid lastping lastpingtime serverstatus
----------- -------------------------------- ------------ ------------
3 Mon Sep 20 07:54:09 2021 1632128049 1
>> Diese Datenbank wird nicht verwendet. Hier würde sonst ein aktuelles Datum stehen. - select * from osverhist;
osverid installed version majorversion minorversion setupversion
-------------------------------- ----------------------- -------------------------------- ------------ ------------ ------------
DE4C47AC1A3F46D5BC5EB166EC1754BF 2022-09-23 00:00:00.000 10.10.22129 10 10 22129
Wenn es ein Update mit Serverumzug war, dann ist dies ein Indiz, dass diese Datenbank nicht verwendet wird. Hier würden sonst auch die vorherige(n) Version(en) stehen.
Verwandte Artikel