Während das monatliche Wachstum für langfristige Planung nützlich ist, ermöglicht die tägliche Analyse des Datenbankwachstums die frühzeitige Erkennung von Anomalien – plötzliche Wachstumsspitzen weisen oft auf Datenbankprobleme oder unerwartete Datenzuflüsse hin.
Tägliches Wachstum aus dem Default Trace
-- Default Trace-Pfad ermitteln
DECLARE @TracePath NVARCHAR(500);
SELECT @TracePath = path FROM sys.traces WHERE is_default = 1;
-- Tägliche Auto-Growth-Events
SELECT
CAST(StartTime AS DATE) AS growth_date,
DatabaseName,
FileName,
SUM(IntegerData * 8.0 / 1024) AS total_growth_mb,
COUNT(*) AS growth_count
FROM fn_trace_gettable(@TracePath, DEFAULT)
WHERE EventClass IN (92, 93) -- Data File Auto Grow / Log File Auto Grow
GROUP BY CAST(StartTime AS DATE), DatabaseName, FileName
ORDER BY growth_date DESC, total_growth_mb DESC;
Häufiges Auto-Growth: Ein Warnsignal
Wenn eine Datenbank täglich mehrfach automatisch wächst, gibt es ein Problem: Entweder ist die Ausgangsgröße zu klein konfiguriert, oder es gibt einen unerwarteten Datenzufluss. Die Lösung: Pre-wachstum auf die erwartete Größe und/oder Analyse des Datenzuwachses.
Optimale Wachstums-Konfiguration
-- Datenbankdateien auf feste Wachstumsgröße setzen (keine %-basiert)
ALTER DATABASE MyDatabase
MODIFY FILE (
NAME = N'MyDatabase',
FILEGROWTH = 512MB -- Statt 10% - verhindert viele kleine Wachstumsschritte
);
ALTER DATABASE MyDatabase
MODIFY FILE (
NAME = N'MyDatabase_log',
FILEGROWTH = 256MB
);
Tägliche Wachstumsberichte, kombiniert mit einem Alert bei überdurchschnittlichem Wachstum, sind ein wichtiger Bestandteil proaktiven SQL Server-Managements. Der Default Trace ist dabei die erste und einfachste Datenquelle.








