Die Datenbank belegt große Mengen nicht genutzten Speicherplatz

Database has large amounts of unused space

Problembeschreibung

Die Meldung (s.u) taucht unter „Überwachung/Probleme und Lösungen überprüfen“ (Integritätsanalyse / Health Analyzer) auf der Seite „Probleme und Lösungen überprüfen“ auf.

Integritätsanalyse / Health Analyzer Eintrag

Titel Die Datenbank belegt große Mengen nicht genutzten Speicherplatz.
Schweregrad 3 – Informationen
Kategorie Verfügbarkeit
Erläuterung Den folgenden Datenbanken sind große Mengen Speicherplatz auf dem Datenträger zugewiesen. Dieser Speicherplatz ist jedoch nicht in Gebrauch. Möglicherweise wurden vor kurzem Daten aus der Datenbank gelöscht, oder die Datenbank wurde größer vordefiniert. Diese Datenbank belegt eine zu große Menge an Speicherplatz im Dateisystem, wenn sie nicht verkleinert wird. WSS_Content_xxxxxxxxxxxxxxxxxx on <DB_Name oder SQL-Alias>
Lösung Die Datenbank kann mithilfe des DBCC-Befehls ‚ShrinkDatabase‘ oder des Assistenten zum Verkleinern von Datenbanken in SQL Server Management Studio verkleinert werden. Weitere Informationen zu dieser Regel finden Sie unter „http://go.microsoft.com/fwlink/?LinkID=167144“.
Dienste, die Fehler aufweisen SPTimerService (SPTimerV4)

Lösung

Bericht anzeigen

Um sich die Details zur Verwendung des Speicherplatzes anzeigen zu lassen, bitte folgende Schritte durchführen.

  1. Microsoft SQL Server Management Studio starten und mit dem Datenbankserver, auf dem die in der Meldung genannte Datenbank (DB) liegt, verbinden.
  2. Mit der rechten Maustaste (RM) auf die entsprechende DB klicken und im Kontextmenü Berichte > Standardberichte > Datenträgerverwendung auswählen.
  3. Große grüne Fläche (nicht zugeordnet) auf dem linken Tortendiagramm und die großen Unterschiede zwischen „Reservierter Speicherplatz“ und „Verwendeter Speicherplatz“ (Tabelle unten links) zeigen uns das Problem.
SQL Datenträgerverwendung Bericht. Große Mengen nicht genutzen Speicherplatz
SQL Datenträgerverwendung Bericht. Große Mengen nicht genutzten Speicherplatz

Datenbank manuell verkleinern (2 Möglichkeiten)

Im SQL-Management-Studio

  1. RM auf die entsprechende DB. Dann Tasks > Verleinern > Datenbank
  2. Im Fenster „Datenbank verkleinern“ die Option „Dateien vor dem Freigeben von nicht belegtem Speicherplatz neu organisieren.“ deaktiviert lassen und OK klicken.

Der Bericht sieht auch wieder in Ordnung aus:

SQL Datenträgerverwendung Bericht ist wieder OK
SQL Datenträgerverwendung Bericht ist wieder OK

In der Integritätsanalyse (Health Analyzer) „Automatisch reparieren“ lassen – hat in unserem Fall nicht funktioniert

  1. Die Meldung der Integritätsanalyse öffnen
  2. Auf „Automatisch reparieren“ klicken

Datenbank automatisch verkleinern lassen

Man könnte die DB-Eigenschaften so anpassen, dass die Datenbank automatisch vom SQL-Server verkleinert wird. Diese Einstellung ist hilfreich, wenn die Integritätsanalyse-Meldung immer wieder angezeigt wird. Die Automatische Verkleinerung könnte allerdings die Performance beeinflussen und die DB fragmentieren.

Im SQL-Management-Studio unter Eigenschaften der DB auf der linken Seite „Optionen“ und im Bereich „Automatisch“ die Option „Automatisch verkleinern“ auf „True“ setzen.

SQL-Server Datenbankeigenschaften - Automatisch verkleinern

Quellen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.