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.
- Microsoft SQL Server Management Studio starten und mit dem Datenbankserver, auf dem die in der Meldung genannte Datenbank (DB) liegt, verbinden.
- Mit der rechten Maustaste (RM) auf die entsprechende DB klicken und im Kontextmenü Berichte > Standardberichte > Datenträgerverwendung auswählen.
- 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.
Datenbank manuell verkleinern (2 Möglichkeiten)
Im SQL-Management-Studio
- RM auf die entsprechende DB. Dann Tasks > Verleinern > Datenbank
- 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:
In der Integritätsanalyse (Health Analyzer) „Automatisch reparieren“ lassen – hat in unserem Fall nicht funktioniert
- Die Meldung der Integritätsanalyse öffnen
- 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.