Get-sqmWaitStatistics - SQL Server Wait Statistics analysieren PowerShell: Top Waits mit Interpretation und Empfehlung
Was macht die Funktion?
Liest Wait Statistics aus sys.dm_os_wait_stats und gibt die Top-N Waits mit Kategorie (CPU, IO, Lock, Memory, Network), prozentualer Verteilung und konkreter Optimierungsempfehlung aus. Unterstuetzt Snapshot-Vergleich: zwei Messungen im Abstand von N Sekunden werden differenziert um aktuelle Waits statt kumulierte Werte zu zeigen.
Wann nutzt man sie?
Als erster Schritt jeder Performance-Analyse um den dominanten Engpass zu identifizieren. Waehrend eines Performance-Problems live um zu sehen welche Wait Types gerade aktiv sind. Als Baseline-Messung vor und nach Optimierungsmassnahmen um die Wirkung zu messen.
Typische Probleme
- Kumulierte Wait Stats seit SQL Server Start zeigen historische nicht aktuelle Probleme
- PAGEIOLATCH Waits werden als IO-Problem interpretiert obwohl Missing Indexes die Ursache sind
- Benigne Wait Types (SLEEP_DBSTARTUP etc.) verfaelschen die Analyse ohne Filterung
Vorteile
- Snapshot-Modus zeigt aktuelle Waits statt kumulierter Werte seit SQL Server Start
- Automatische Filterung benigener Wait Types fuer klare Ergebnisse
- Konkrete Optimierungsempfehlung pro Wait-Kategorie direkt in der Ausgabe
# Top 10 Waits mit Empfehlung (kumuliert seit Start) Get-sqmWaitStatistics -SqlInstance "SQL01" -Top 10 # Snapshot: aktuelle Waits ueber 30 Sekunden messen Get-sqmWaitStatistics -SqlInstance "SQL01" -SnapshotSeconds 30