SQL Server Health Monitor
Agentenlose Überwachung für SQL Server — Wartestatistiken, Blocking, Indizes, Sicherungen und Alarmierung. Diese Dokumentation erklärt, was die Anwendung misst und wie sie betrieben wird.
Hilfe
Einstieg
Überwachung
Wait-StatistikenWartestatistiken zeigen, worauf SQL Server seine Zeit verbringt, wenn er nicht rechnet. Sie sind der schnellste Weg, einen Engpass einzugrenzen: Statt zu raten, sieht man direkt, ob ein System auf CPU, I/O, Sperren oder…Queries & AnalyseDieser Bereich hilft, teure oder auffällige Abfragen zu finden und zu verstehen.Plan-RegressionenEine Abfrage, die gestern 40 ms brauchte und heute 400 ms, hat sich meist nicht selbst geändert — sie hat einen anderen Ausführungsplan bekommen. Query Store hält diese Historie auf der überwachten Instanz vor: pro…Blocking & DeadlocksBlocking entsteht, wenn eine Transaktion eine Sperre hält, die eine andere braucht. Kurzes Blocking ist normal; langes Blocking bremst spürbar und ist ein häufiger Grund für „die Anwendung hängt“.Index-GesundheitDer Bereich Performance → Index-Gesundheit und Fehlende Indizes hilft, Indizes zu finden, die bremsen – fragmentierte, ungenutzte, doppelte und fehlende.StorageDer Storage-Bereich überwacht Dateigrößen, freien Platz und Log-Nutzung – die häufigsten Ursachen für plötzliche Ausfälle („Datenbank voll“, „Log läuft voll“).TempDBDie tempdb ist die gemeinsame Arbeitsdatenbank der ganzen Instanz: temporäre Tabellen, Sortierungen, Hash-Joins, Versionsspeicher. Weil alle sie teilen, wird sie schnell zum Engpass.SQL Agent JobsDiese Seite liest den Zustand und die Historie der SQL-Server-Agent-Jobs aus msdb.dbo.sysjobs und sysjobhistory – also der geplanten Aufgaben wie Backups, Index-Wartung oder ETL.FehlerprotokollDie Seite Fehlerprotokoll liest das SQL Server-Fehlerprotokoll — und auf derselben Seite das SQL Server Agent-Protokoll — direkt von der überwachten Instanz. Es wird nichts in die Monitoring-Datenbank kopiert: SQL…SicherungenDie Seite Sicherungen beantwortet pro Datenbank eine Frage: Wenn dieser Server jetzt ausfiele — wie viel bestätigte Arbeit wäre verloren, und ließe er sich überhaupt wiederherstellen?Login-AktivitätDie Seite Login-Aktivität beantwortet zwei Fragen: Wie viele Daten bekommt jeder Login geliefert — und ist das für diesen Login zu dieser Stunde der Woche ungewöhnlich?Änderungs-TimelineDie Seite Änderungen beantwortet die Frage, die bei jeder Störung als erste gestellt wird: Was hat sich geändert?
Alarmierung
Alerts & HystereseAlerts feuern, wenn eine Metrik einen Schwellwert verletzt. Damit sie verlässlich und nicht lärmend sind, kennt der Monitor mehrere Mechanismen.Baselines & N-SigmaFeste Schwellwerte passen selten für alle Zeiten: 60 % CPU sind Montag früh normal, am Sonntag um 3 Uhr aber verdächtig. Baselines lösen das, indem sie das normale Verhalten pro Server lernen.BenachrichtigungskanäleKanäle bestimmen, wohin Alerts gehen. Sie werden verschlüsselt in der Datenbank gespeichert (nicht in appsettings), damit Zugangsdaten geschützt sind.
Auswertung
Reports & KapazitätDer Reporting-Bereich verdichtet die Historie zu Auswertungen und Prognosen.Lizenz-OptimierungDer Bericht unter Reports → Lizenz-Optimierung beantwortet eine Frage, die klassische Überwachungssoftware nicht stellt: Zahlen Sie für eine SQL-Server-Edition, die Sie gar nicht benötigen?
Betrieb
Betrieb
Installation
Überblick & ErstinbetriebnahmeDieser Ordner enthält die Runbooks für den Betrieb des SQL Server Health Monitor. Sie setzen voraus, dass Installer oder Docker-Image bereits vorliegen, und beantworten die Frage wie mache ich X, ohne dass man den…InbetriebnahmeDie Anwendung wird entweder als veröffentlichte .NET-9-Anwendung (Windows oder Linux) oder als Docker-Image ausgeliefert. Wählen Sie einen der beiden Wege.MSI-InstallerEin Windows-Installer-Paket, das den SQL Server Health Monitor bereitstellt und als Windows-Dienst registriert. Erstellt mit WiX v5; die Quellen liegen in installer/ (Package.wxs und build.ps1).DockerDer SQL Server Health Monitor ist eine gewöhnliche ASP.NET-Core-Webanwendung und läuft daher gut in einem Linux-Container. Unter Linux ist der Aufruf UseWindowsService() wirkungslos — die Anwendung ist dort ein normaler…
Betrieb & Wartung
AktualisierungVorgehen für die Aktualisierung einer Einzelrechner-Installation an Ort und Stelle. Mehrinstanz-Aufbauten (Lastverteiler davor, zwei Anwendungsrechner) behandelt dieses Dokument nicht — sagen Sie Bescheid, dann…Sicherung & WiederherstellungDie Kurzfassung in zwei Sätzen: Sichern Sie die Überwachungsdatenbank — und, falls Sie einen eigenen Encryption:Key gesetzt haben, diesen Schlüssel gleich mit. Die Datenbank enthält alles, was das Produkt weiß; der…LizenzDas Produkt wird mit einer RSA-signierten Lizenzdatei (license.lic) ausgeliefert. Der Hersteller hält den privaten Schlüssel; die Anwendung enthält nur den öffentlichen Schlüssel und prüft die Signatur bei jedem Start.Single Sign-onDer SQL Server Health Monitor unterstützt OpenID-Connect-SSO neben der lokalen Anmeldung mit Benutzername und Kennwort. Beides schließt sich nicht aus — lokale Konten funktionieren weiter und dienen als Notzugang, falls…Änderungsverfolgung & LizenzberaterZwei Funktionen, die über die übliche Berechtigung VIEW SERVER STATE hinaus ein Wort zur Einrichtung brauchen. Beide sind standardmäßig aktiv und beide verhalten sich gutmütig: Fehlt eine Berechtigung, wird der…FehlerbehebungHäufige Fehlerbilder und was dagegen hilft. Wenn Sie auf eines stoßen, das hier nicht steht, halten Sie die Ausgabe von /health/detailed sowie die letzten 200 Protokollzeilen fest und eröffnen ein Support-Ticket.