SharePoint Usage/WSS_Logging Datenbank begrenzen
avatar

Die Datenbank der Usage Dienstanwendung wächst im üblichen SharePoint Betrieb schnell auf ein beachtliches Volumen. Während es für alle anderen Datenbanken effektive Mechanismen gibt ihr Wachstum einzuschränken und zu kontrollieren finden sich für die Usage Datenbank in der Zentral Administration kaum Optionen.

Innerhalb der Usage Datenbank werden neben den Benutzungsdaten (Usage) auch die SharePoint ULS Loginhalte abgelegt. Für die Befüllung der Datenbank ist in beiden Fällen ein Timerjob zuständig. Dieser sammelt auf dem jeweiligen Server die Usage bzw. ULS Daten ein und schreibt diese in die Datenbank. Dabei werden zwei Grenzwerte berücksichtigt – Das Alter der Dateien und das verbrauchte Volumen innerhalb der Tabellen. Diese Werte lassen sich mittels PowerShell anzeigen
Get-SPDiagnosticsProvider | ft name,retention,maxtotalsizeinbytes,enabled

Name Retention MaxTotalSizeInBytes Enabled
job-diagnostics-blocking-query-provider 14 6200000000 True
job-diagnostics-sql-dmv-provider 14 10000000000000 True
job-diagnostics-uls-provider 14 10000000000000 True
job-diagnostics-performance-counter-sql-provider 14 6200000000 True
job-diagnostics-performance-counter-wfe-provider 14 10000000000000 True
job-diagnostics-event-log-provider 14 6200000000 True
Search Health Monitoring – Trace Events 14 12900000000 True
job-diagnostics-sql-memory-provider 14 10000000000000 True

Wenn man sich nun die Spalten Retention und MaxTotalSizeInBytes ansieht ergibt sich das die Daten für 14 Tage in der Usage Datenbank gehalten werden und die Tabellen je nach Diagnostic Provider bis zu 10000000000000 Bytes groß werden. Wer den Wert in eine handlichere Einheit umrechnet erhält 9,09494702 TB. In der Microsoft Dokumentation steht zwar immer wieder das die WSS_Logging Datei “Sehr Groß” werden kann und “Sehr Groß” ab 1 TB los geht, aber dass das Limit erst ab 9 TB einsetzt überrascht dann doch etwas. In Kombination mit der 14 Tägigen Retentionszeit und der Log Flood Protection relativiert sich das etwas, dennoch kann ein SharePoint mit Verbose Logging und Fehlfunktion auf dem Datenbankserver erstmal 9 TB an Speicher befüllen bevor das Limit greift.

Wie funktionieren diese Limits? Der Timerjob prüft zuerst ob in der aktuellen ULS Log Partitionstabelle Einträge älter als 14 Tage sind und entfernt diese. Im Anschluss wird das Volumen der ULS Tabellen addiert und mit den MaxTotalSizeInBytes verglichen. Liegt das Volumen über dem MaxTotalSizeInBytes, dann schreibt der Timerjob keine neuen Daten in die Tabelle! Meine Erwartung war das alte Daten überschrieben werden.

Sie können sich über das SQL Server Management Studio anzeigen lassen welche Tabellen einen hohen Speicherverbrauch haben. In dem Screenshot finden sich die ULS Tabellen mit dem höchsten Verbrauch.

Der einzige Weg das Volumen der Datenbank gezielt zu kontrollieren ist die Retentionszeit sowie das Loglevel bzw die Usage Datensammlung zu steuern. Zur Sicherheit sollte der MaxTotalSizeInBytes ebenfalls herabgesetzt werden, da man in der Regel lieber ein paar Log oder Verwendungsdaten verliert als einen Readonly SharePoint zu erhalten.

Die Sammlung der Verwendungsdaten(Usage) können sie über die Zentraladministration (Monitoring/Configure web analytics and health data collection) steuern. Hier lohnt sich das Prinzip der Datensparsamkeit um die Performance des Servers zuverbessern und den Storageverbrauch zu minimieren.:

Um die Retentionszeiten, den MaxTotalSizeInBytes Wert und die ULS Datensammlung zu steuern ist die Power Shell das Mittel der Wahl. Die Namen der einzelnen Diagnostic Provider erhalten sie mit dem oben genannten Befehl Get-SPDiagnosticsProvider. Die Werte passen sie im Anschluss mit Set-SPUsageApplication an.
Um den Provider für das ULS Logging anzupassen lautet der Befehl
Set-SPDiagnosticsProvider -Identity job-diagnostics-uls-provider -MaxTotalSizeInBytes 10737418240 -DaysRetained 7
Dabei wird das Speicherlimit auf 10 GB und die Retentionszeit auf 7 Tage gesetzt

Ein Gedanke zu “SharePoint Usage/WSS_Logging Datenbank begrenzen
avatar

  1. Pingback: SharePoint Usage/WSS_Logging Datenbank begrenzen - SharePoint Blogs in German - Bamboo Nation

Hinterlasse eine Antwort

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


− zwei = 1

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>