SQL-Server prüfen

Hier ist die überarbeitete und leserfreundlichere Version der Dokumentation zur Prüfung des SQL-Servers:


Prüfung der SQL-Server Umgebung #

Eine regelmäßige Überprüfung der SQL-Server Umgebung ist entscheidend, um einen stabilen Betrieb sicherzustellen. Diese Anleitung beschreibt die wichtigsten Punkte, die geprüft und angepasst werden sollten.


1. Grundlegende Überprüfungen #

  1. Arbeitsspeicher-Auslastung:
    • Öffnen Sie den Task-Manager und prüfen Sie die Speicherauslastung.
    • Optimal: Unter 90 %
    • Kritisch: Ab 94 %
  2. Festplattenspeicher:
    • Öffnen Sie den Explorer und prüfen Sie, ob keine Festplatte voll ist.
    • Empfehlung: Mindestens 10-15 % freien Speicherplatz sicherstellen.

2. SQL-Server Konfiguration #

Benötigt: Microsoft SQL Server Management Studio (SSMS)

  1. SQL-Server Einstellungen öffnen:
    • Rechtsklick auf den SQL-Server im Objekt-Explorer und auf Eigenschaften klicken.
  2. Wichtige Tabs prüfen und anpassen:
    • Tab „Memory“:
      • Wert bei „Maximum server memory (in MB)” prüfen.
        Der Wert sollte kleiner sein als der maximale Arbeitsspeicher des Servers.

        • Beispiel: Bei einem Server mit 30 GB RAM sollte hier ca. 20 GB stehen.
    • Tab „Advanced“:
      • „Cost Threshold for Parallelism”: Standardwert ist 5.
      • „Max Degree of Parallelism”: Standardwert ist 0.
        • Dieser Wert bestimmt, wie viele CPUs für eine SQL-Operation verwendet werden dürfen.
        • Bei vielen parallelen Zugriffen auf die Datenbank kann ein Wert von 2 oder 4 getestet werden.

3. Datenbankkonfiguration #

  1. Datenbank-Einstellungen öffnen:
    • Rechtsklick auf die Datenbank und auf Eigenschaften klicken.
  2. Wichtige Tabs prüfen:

    • Tab „Files”:
      • „Autogrowth / Maxsize”:
        • Datendatei: Feste Größe von mindestens 1000 MB, unbegrenzt.
        • Logdatei: Größe von 10 %, ebenfalls unbegrenzt.
      • „Size (MB)” für Logdatei:
        • Wenn diese sehr groß ist (z. B. >50 GB), deutet das auf Probleme mit dem Wartungsplan hin.
    • Tab „Options”:
      • „Recovery Model”:
        • Full: Wartungsplan erforderlich, um übergroße Logdateien zu vermeiden.
        • Simple: Speicherplatz in Logdateien wird nach Transaktionsende automatisch freigegeben.
      • „Compatibility Level”:
        • Muss zur installierten SQL-Server-Version passen.
      • Werte prüfen:
        • Auto Create Statistics: True
        • Auto Shrink: False
        • Auto Update Statistics: True

4. Wartungspläne #

Auch wenn Sicherungen über Drittanbieter-Tools wie VEEAM erfolgen, ist ein Wartungsplan zur Datenbankpflege erforderlich. Die Hauptaufgaben eines Wartungsplans lassen sich in drei Kategorien einteilen:

  1. Datenbanksicherung:
    Vollständige Sicherung der Datenbank.
  2. Transaktionsprotokoll-Sicherungen (nur bei Recovery Mode = Full):
    Regelmäßige Backups der Transaktionslogs.
  3. Datenbankpflege:
    Optimierung und Aktualisierung von Indexen und Statistiken.

Prüfen der Wartungspläne #

  1. Sind Wartungspläne vorhanden?
  2. Läuft der SQL Server Agent, der die Pläne ausführt?
  3. Sicherstellen, dass keine „Shrink Database Task” Bausteine vorhanden sind. Diese verursachen unnötige Fragmentierung.

Beispiel: Wartungsplan für Datenpflege #

Wichtige Bausteine:

  • Rebuild Index Task: Baut Indexe neu auf.
  • Update Statistics Task: Aktualisiert Index-Statistiken.
    • Hinweis: Reorganize Index Task ist nicht notwendig, wenn Rebuild genutzt wird.

Beispiel: Wartungsplan für Datenbanksicherung #

  1. Check Database Integrity Task: Stellt sicher, dass keine Datenbankfehler vorliegen.
  2. Back Up Database Task:
    • „Verify backup integrity” aktivieren, um die Integrität der Backups sicherzustellen.

Beispiel: Wartungsplan für Transaktionslog-Backups #

  • Wenn der Recovery-Mode Full ist, empfiehlt es sich, regelmäßige Transaktionslog-Backups (z. B. jede Stunde) zu erstellen.

Beispiel für vollständigen Wartungsplan (Recover-Mode Simple) #

Check Database Integrity Task : Stellt sicher dass keine Fehler in der Datenbank vorhanden sind.
Back Up Database Task : Erstellt das vollständige Backup.
Rebuild Index Task : Baut die Indexe neu auf.
Update Statistics Task : Aktualisiert die Index-Statistiken.
Maintenance Cleanup Task : Löscht ältere Backup Dateien (beim Beispiel älter als 1 Woche).
Maintenance Cleanup Task 1 : Löcht ältere Wartungsplan Text Berichte.
History Cleanup Task : Löscht ältere Historie Einträge.

 


5. Erweiterte Prüfungen #

Fragmentierung der Indexe prüfen #

SELECT 
  S.name AS 'Schema',
  T.name AS 'Table',
  I.name AS 'Index',
  DDIPS.avg_fragmentation_in_percent,
  DDIPS.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS DDIPS
INNER JOIN sys.tables T ON T.object_id = DDIPS.object_id
INNER JOIN sys.schemas S ON T.schema_id = S.schema_id
INNER JOIN sys.indexes I ON I.object_id = DDIPS.object_id
  AND DDIPS.index_id = I.index_id
WHERE DDIPS.database_id = DB_ID()
  AND I.name IS NOT NULL
  AND DDIPS.avg_fragmentation_in_percent > 0
  AND DDIPS.page_count > 1000
ORDER BY DDIPS.avg_fragmentation_in_percent DESC;
  • Tabellen mit Fragmentierung >30 % deuten darauf hin, dass kein Wartungsplan vorhanden ist.

Index-Statistiken prüfen #

SELECT 
  sp.stats_id,
  stat.name,
  last_updated,
  rows,
  rows_sampled
FROM sys.stats AS stat
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE last_updated IS NOT NULL
ORDER BY last_updated;
  • Tabellen mit älteren last_updated-Werten deuten auf fehlende Wartungspläne oder nicht ausgeführte Jobs hin.

Mit diesen Maßnahmen stellen Sie sicher, dass Ihre SQL-Server-Umgebung effizient, sicher und zuverlässig arbeitet.

High Quality Theme

There is a fine line between creating greatness and accomplishing awesomeness. This time, we worked to prove that sky is not the limit.

Fill out the form to subscribe to our newsletter.

Fehler: Kontaktformular wurde nicht gefunden.

High Quality Theme

There is a fine line between creating greatness and accomplishing awesomeness. This time, we worked to prove that sky is not the limit.

Fill out the form to subscribe to our newsletter.

Fehler: Kontaktformular wurde nicht gefunden.