kreuzberger

Windows Server SQL Express Datenbank überwachen

Mahlzeit Digitzalfreunde,

es ist Freitag!!!!!


Ich suche nach einer pfiffigen Lösung um die Größe der SQL Express Datenbank-Datei zu überwachen.
Bekanntlich darf die ja nicht mehr als 10GB groß werden. Da das leider Vorwarnungsfrei erreicht werden kann will ich da so eine Art Monitoring mit Bordmitteln erreichen. Also Powershell, Aufgabenplanung, Anzeige auf den Desktop (rechts unten Warnung), oder per eMail aus dem Powershell-Script.

Hat da jemand eine supergrandiosgeniale Idee?

Danke

Kreuzberger
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673476

Url: https://administrator.de/forum/windows-server-sql-express-datenbank-673476.html

Ausgedruckt am: 20.06.2025 um 15:06 Uhr

Essiess
Essiess 20.06.2025 um 12:06:57 Uhr
Goto Top
Schau dir einmal Free SQL Health Monitoring Tool an.
ukulele-7
ukulele-7 20.06.2025 um 12:10:31 Uhr
Goto Top
Willst du das lieber durch das DBMS überwachen oder auf OS-Ebene?
kreuzberger
kreuzberger 20.06.2025 um 12:14:33 Uhr
Goto Top
Danke euch 2.

Ich möchte das so primitiv wie geht machen. Das würde auch wenn es schick ist eine zusätzliche Software eher ausschliessen.

GGf. kann man irgendwie eine art "Füllstandsanzeige" machen, die einem ständig / regelmäßig darüber informiert, wie viel % von den 10GB genutzt sind.

Worin jetzt der Unterschied zwischen DBMS und OS-ebene ist ist mir nicht klar. Ich will nur verhindern, dass die SQL Datenbank in den Anschlag kommt und damit das Ganze System nicht mehr nutzbar ist.

Kreuzberger
Essiess
Essiess 20.06.2025 um 12:21:43 Uhr
Goto Top
Dann PS-Script + Aufgabenplanung. Copilot macht dir brauchbare Vorschläge. Und berichte dann einmal. Im Prizip würde ich das hier auch gelegentlich einmal einrichten wollen.
kreuzberger
kreuzberger 20.06.2025 um 12:26:31 Uhr
Goto Top
@Essiess

Ich bin halt kein Datenbankexperte. Ich weiss nicht mal wo diese SQL Datenbankdatei im System standardmäßig liegt und wie man dann ggf. deren Größe im sinne der maximalen Nutzbarkeit von 10GB abfragt. Ist da schlicht die Dateigröße abzufragen, oder muss man hier eine art Datenbank-SQL-Abfrage durchführen?

Kreuzberger
ukulele-7
ukulele-7 20.06.2025 um 12:52:16 Uhr
Goto Top
Nunja auf OS-Ebene ist es "einfacher" umgesetzt, weil das DBMS theoretisch nicht mal laufen müsste. Du würdest nur auf das Dateisystem gucken bzw. die entsprechende Datei. Allerdings wird dir dann die Größe auf dem Dateisystem angezeigt, eventuell rechnet das DBMS etwas anders - sollte aber sehr ähnlich sein.

Innerhalb der DB kannst du die Größe auch abfragen:
https://stackoverflow.com/questions/18014392/select-sql-server-database- ...
Bei Express hast du aber z.B. keinen Agent, mit dem du das einfach als Task (innerhalb der DB) abwickeln kannst. Das geht auch als Task im OS, dann muss aber vermutlich xp_cmdshell aktiviert werden und du musst ggf. einen Benutzer mit Passwort in Klartext in das Skript schreiben.

In beiden Fällen musst du dann überlegen, wie die Information dann zu dir kommt. In SQL kann man das natürlich gut in eine Tabelle schreiben aber eine E-Mail wird deshalb ja noch nicht versandt face-smile
ukulele-7
ukulele-7 20.06.2025 um 12:54:16 Uhr
Goto Top
Melde dich mal mit dem SQL Management Studio am Server an. Auf der DB Rechtsklick Eigenschaften siehst du den Speicherort
kreuzberger
kreuzberger 20.06.2025 um 12:59:06 Uhr
Goto Top
@ukulele-7

OK, dann wird wohl die Abfrage eher auf Dateisystemebene stattfinden. Einen User mit Passwort dafür dann zu wissen ist wohl eher zu kompliziert. Wenn aber das Resultat beider Abfragevarianten sehr ähnlich sein dürfte, ist mir das Wurscht.

Ic muss also wissen wie diese Standard-Datei heisst, und wo im System Microsoft diese ablegt. Ich gehe davon aus, dass alle Programme, die SQL Express nutzen sich schliesslich darauf beziehen, und nicht völlig woanders eine Datenbank anlegen!?!?!

Kreuzberger
em-pie
em-pie 20.06.2025 um 13:28:03 Uhr
Goto Top
Moin,

Frag die mdb-Datei ab und lass das Ergebnis als Toast-Notification und/ oder Mail mitteilen:



Wie @ukulele-7 schon mitteilte, findest du den Pfad z.B. per MSSQL Studio oder per SQL Query