Kapitel 4: Datenbankoptimierung

Sollte es im laufenden Betrieb zu Leistungsproblemen kommen, können Sie die Datenbank über die Schaltfläche „Datenbank optimieren“ unter der Maske “Wartung” automatisch optimieren.

Darüber hinaus können die folgenden bat-Scripte verwendet werden, um die Perofrmance der Datenbank zu verbessern:

Update der Tabellen-Statistiken

Der SQL Server verwendet Statistiken über die Verteilung von Daten in den Tabellen, um zu entscheiden, wie er Abfragen am schnellsten verarbeitet (welche Indizes genutzt werden, wie Tabellen verknüpft werden usw.).

Wenn viele Daten hinzugefügt, geändert oder gelöscht werden, veralten diese Statistiken. Ohne Aktualisierung wählt der Datenbank-Server falsche Ausführungspläne, was das Gesamtsystem enorm verlangsamen kann.

Wann das sinnvoll ist:

Regelmäßige Wartung (z. B. wöchentlich/nächtlich): Außerhalb der Arbeitszeiten per Windows-Aufgabenplanung (Task Scheduler), um die Performance stabil zu halten.

Nach großen Datenimporten/Löschaktionen: Wenn auf einen Schlag Tausende Datensätze hinzugefügt oder geändert wurden.

Bei Performance-Problemen: Wenn die Anwendung plötzlich ungewöhnlich langsam reagiert, obwohl die Serverauslastung normal wirkt.

Dies können sie mit dem folgenden bat-Script automatisieren

Performance-Überwachungs-Tool Query Store aktivieren

Der Query Store (Abfragespeicher) ist eine eingebaute Funktion von Microsoft SQL Server, die wie ein “Flugschreiber” für Datenbanken funktioniert. Er zeichnet automatisch auf, welche SQL-Abfragen ausgeführt werden, wie lange sie dauern und welche Ressourcen sie verbrauchen.

Wann das sinnvoll ist:

Performance-Analyse: Wenn Datenbankabfragen langsam laufen und du herausfinden willst, welche Abfragen die meisten Ressourcen (CPU, RAM, I/O) verbrauchen.

Fehlersuche bei Updates: Um Performance-Einbrüche (“Parameter Sniffing” oder schlechte Ausführungspläne) nach Software-Updates oder Datenbank-Migrationen zu erkennen und alte Ausführungspläne zu erzwingen.

Defragmentierung der Datenbank

Zunächst muss die folgende SQL Query ausgeführt werden:

Anschließend kann das zugehörie Bat Script verwendet werden, um die Fragmeniterung der Bat Script um Fragementierung zu prüfen und ggf. zu defragmentieren