SQL Script für die Anzeige der Anzahl angemeldeter Benutzer
Über die Funktion Datei>Datenbank>Sperreinträge löschen lässt sich im Dialog feststellen ob noch weitere Benutzer angemeldet sind.
Aktuell sichern wir die Datenbank in der Nacht. Das ist unbefriedigend, dass nur um sicher zu stellen, dass die Datenbank keine Sperren enthält, der Server 24/7 laufen muss.
Es würde auch Sinn machen den Server von z.B. 07:30 bis 19:00 bereit zu stellen.
Den Serverstart kann man über WoL (Wake on Lan) problemlos realisieren.
Um den Serverstop oder/und die Sicherung zu realisieren würde eine SQL Abfrage genau dieser Sperrinformation auf .bat oder .ps1 Ebene ausreichen, welche den Wert "true" (1) oder "false" (0) zurück liefert.
Für die Sicherung können wir voher/nachher scripte aufrufen und das Ergebnis darin behandeln (Warteschleife oder Abbruch). Für den Shutdown kann ein script genau diese SQL Abfrage ebenfalls auswerten und erst wenn kein Benutzer (außer dem Script Benutzer) mehr angemeldet ist, die Freigabe zum Shutdown geben.
So etwas habe ich auf Großrechner Ebene bereits 1982 (die BS2000 Maschine lief nicht 24/7) und auf Datev Ebene (Windows) 2004 realisiert.
Die SQL Abfrage für einen bestimmten Benutzer (Service) sollte doch relativ kurzfristig machbar sein.
Vielen Dank im Voraus.
-
Rene Zobel kommentierte
So ganz unmöglich sollte das nicht sein. Zum ADS gibt es ja auch ein ODBC-Treiber und den sollten mal auch mit PowerShell ansprechen können. Alternativ könnte man auch eine Datensicherungssoftware verwenden, die (z.B. über die Schattenkopien von Windows) auch geöffnete Dateien lesen kann...