SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




SharePoint Datenbank-pflege bzw. -überlauf ?

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
508 Beiträge
Tom Scheuermann erstellt 28 Nov. 2011 11:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Community,

ich denke mal, das Thema "Datenbankpflege" von SharePoint Datenbanken ist interessant für alle.
Deshalb schreibe ich meine Erfahrungswerte mal in einen Diskussions-Thread und würde mich freuen, wenn auch andere Ihre Erfahrungswerte hier mitteilen.

In einer kleinen Farm (Testfarm), die von 5 Usern genutzt wird, erhielt ich heute morgen die Meldung vom Health Analyzer (in der Zentraladministration), das der Speicherplatz für Datenbanken zur Neige geht.
Tatsächlich: Auf der 200 GB Platte waren noch 40 GB frei - obwohl kaum Content produziert wird.

Folgendes habe ich festgestellt:
Die Transaktions-Logs einer Datenbanken (u.a. Farm-DB und Admin-Content) waren über 80 GB gross !
Das Wiederherstellungsmodell dieser Datenbanken war auf "Vollständig" eingestellt.
Selbst nach einer Sicherung mit der Zentraladministration (die ja u.a. auch BACKUP DATABASE ausführt) konnten die Logs nicht verkleinert werden.

Lösung (KEINE LÖSUNGSEMPFEHLUNG - NUR DOKUMENTATION):
Ich habe das Wiederherstellungsmodell auf "Einfach" gesetzt. Danach konnte ich die Logs über das SQL Server Management Studio (Rechtsklick auf die DB -> Tasks -> Verkleinern -> Dateien -> Dateityp "Protokoll") auf unter 1 MB verkleinern

Offensichtlich wurden die Transaction-Logs durch die Installation der Cumulative Updates und des SP1 mit der Zeit gefüllt und nie geleert.

Ich halte es deshalb für durchaus empfehlenswert, ab und an die Größe der Transaction-Logs am SQL Server zu prüfen und diese ggf. zu verkleinern. Ob das Umstellen auf das Wiederherstellungsmodell "Einfach" sinnvoll ist, sollte jeder selber prüfen. Evtl. ist dieses ja gar nicht nötig, weil die Transactions-Logs ohnehin nicht gesichert werden ?

Hilfreich waren u.a. folgende Links:
http://blogs.msdn.com/b/jjameson/archive/2008/01/18/default-recovery-models-for-sharepoint-databases.aspx
http://blogs.technet.com/b/blairb/archive/2008/08/27/setting-the-recovery-model-of-all-sharepoint-databases.aspx
http://madhuottapalam.blogspot.com/2008/05/faq-how-to-truncate-and-shrink.html

Ausserdem habe ich festgestellt, das die Datenbank "Benutzerprofildienst_Anwendung_SyncDB" über 8GB gross war (bei 22 AD Usern und 4 MySites).

Der Beitrag unter
http://paulliebrand.com/2011/05/26/user-profile-synchronization-database-growing-out-of-control/
beschreibt die Erstellung einer StoredProcedure, die veraltete Einträge löscht.

Nach Ausführung der SP habe ich die Datenbank und die Logs verkleinert und die Größe war wieder im Rahmen.

Bin gespannt auf Eure Erfahrungswerte ?

Greets

Tom

Alle Antworten

Ohne Rang
81 Beiträge
Dirk Weinert Als Antwort am 19 Juli 2013 10:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Tom,

auch wenn dieser Beitrag schon recht "betagt" ist, so klinke ich mich hier dennoch mal ein.
Bei meiner SharePoint-DB gibt es Probleme mit der Partitionsgröße der Festplatte.
Es sind nur noch ein paar GB frei.

Somit kam mir die Idee, die Content-DB zu verkleinern.

Im ersten Schritt ließ ich mir die Speichernutzung anzeigen.

USE [WSS_Content_bla_und_blubb]
EXEC sp_spaceused

Als Ergebnis erhielt ich folgende Werte:

+-------------------------+-------------+-----------------+
|database_name            |database_size|unallocated_Space|
+-------------------------+-------------+-----------------+
|WSS_Content_bla_und_blubb|15393.31 MB  |288.88 MB        |
+-------------------------+-------------+-----------------+

+-----------+-----------+----------+--------+
|reserved   |data       |index_size|unused  |
+-----------+-----------+----------+--------+
|15140216 KB|14503528 KB|595432 KB |41256 KB|
+-----------+-----------+----------+--------+

Anschließend führte ich den Shrink durch.

DBCC ShrinkDatabase (N'WSS_Content_bla_und_blubb',NOTRUNCATE)

und erhielt folgendes:

+----+------+-----------+-----------+---------+--------------+
|DbId|FileId|CurrentSize|MinimumSize|UsedPages|EstimatedPages|
+----+------+-----------+-----------+---------+--------------+
|41  |1     |1929504    |288        |1892760  |1892760       |
+----+------+-----------+-----------+---------+--------------+
|41  |2     |72         |72         |72       |72            |
+----+------+-----------+-----------+---------+--------------+

Danach las ich die Werte erneut aus

USE [WSS_Content_bla_und_blubb]
EXEC sp_spaceused

Als Ergebnis erhielt ich folgende Werte:

+-------------------------+-------------+-----------------+
|database_name            |database_size|unallocated_Space|
+-------------------------+-------------+-----------------+
|WSS_Content_bla_und_blubb|15074.81 MB  |297.95 MB        |
+-------------------------+-------------+-----------------+

+-----------+-----------+----------+--------+
|reserved   |data       |index_size|unused  |
+-----------+-----------+----------+--------+
|15130928 KB|14504072 KB|595520 KB |31336 KB|
+-----------+-----------+----------+--------+

Das hat ja nicht wirklich viel gebracht. Meine Frage ist nun aber, ob eine Änderung der Datenbankgröße sofort Auswirkungen auf die Partition der Festplatte hat.

Angenommen ich habe 300 MB auf der HDD frei.
Das DB-Shrinking bringt z. B. 300 MB.

Sind dann sofort 600 MB auf der HDD frei?

Danke
DW

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 19 Juli 2013 10:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Dirk Weinert"]Angenommen ich habe 300 MB auf der HDD frei.
Das DB-Shrinking bringt z. B. 300 MB.

Sind dann sofort 600 MB auf der HDD frei?
[/quote]

Zumindest ziemlich schnell.

Noch eine Anmerkung: meist sind nicht die eigentlichen Datendateien (MDF) das Problem, sondern die Transaktionslogs (LDF). Um diese zu verkleinern, braucht es etwas mehr Aufwand. Ich denke Du solltest die Frage eher in einem SQL Server Forum stellen. Die Leute dort kennen sich (hoffentlich) besser mit sowas aus und die Frage hat ja nicht direkt mit SharePoint zu tun.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 19 Juli 2013 10:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das was du vor hast bringt dir immer nur kurzzeitig eine Lösung aber nicht auf Dauer. Wie Andi auch schon schrieb ist es sehr oft so das die Log-Datei (*.ldf) das Problem ist. Wenn das Wiederherstellungsmodel der DB Vollständig ist müssen die Transaktionsprotokolle explizit gesichert werden nach einer Vollständigen Datensicherungen und diese können dann gekürzt werden. Die Inhaltsdatenbank zu verkleinern macht nur wenig Sinn und verschlechtert die Leistung.

Ohne Rang
81 Beiträge
Dirk Weinert Als Antwort am 19 Juli 2013 12:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallöle,

Danke für die Antworten.
Habe mich zwischenzeitlich in die Materie eingelesen
und musste aber "leider" feststellen, dass die Log-Dateien
sehr klein sind und dass das Wiederherstellungsmodell auf
"Simple" steht.
Es scheint in der Tat so zu sein, dass hier gar kein
"Fehler" in der Datenbank bzw. kaum Optimierungspotenzial
vorliegt.

Somit ist die einzig vernünftige Lösung die Vergrößerung
des Plattenspeichers. ;-)

DW