Ein kurzes aber ziemlich wichtiges Statement, wenn die Kapazitäten von einem oder mehreren SQL-Servern beobachtet werden soll. In meinem Fall läuft täglich ein Job, welcher diverse Parameter prüft und aus den gesammelten Daten eine Staus-E-Mail erzeugt. Neben einer Auflistung der SQL-Agents (aktiv, erfolgreich, fehlerhaft) führe ich mir jetzt endlich auch den freien Speicherplatz auf.
;WITH bytes AS ( SELECT DISTINCT s.volume_mount_point ,cast(s.available_bytes / 1048576.0 AS DECIMAL(20, 2)) AS verfuegbar ,cast(s.total_bytes / 1048576.0 AS DECIMAL(20, 2)) AS total FROM sys.master_files f CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id) s ) SELECT volume_mount_point ,verfuegbar ,total ,cast((verfuegbar / total) * 100 AS DECIMAL(20, 2)) as prozent FROM bytes ORDER BY volume_mount_point
Die Ausgabe könnte dann z.B. so aussehen:
volume_mount_point verfuegbar total prozent C:\ 8257.02 40857.00 20.21 D:\ 32284.75 48073.00 67.16