SQL: MSSCrawlURLLog am Limit von 10240MB

Colisspo

Ensign
Registriert
Okt. 2013
Beiträge
163
Guten Tag,

ich habe ein Problem mit unserer Sharepoint Datenbank. Der Server (SBS2011) läuft entsprechend lahmarschig, deshalb habe ich mal einen Blick in die Ereignisanzeige geworfen. Promt springen mir zig hundert Fehlermeldungen á la:

Ereignisanzeige ID 1827
Datenbank: MSSQL$SHAREPOINT
„Fehler bei CREATE DATABASE oder ALTER DATABASE, da die sich ergebende Gesamtgröße der Datenbank das lizensierte Limit von 10240 MB pro Datenbank überschreiten würde.“


sowie

Ereignisanzeige ID 1105
Datenbank: MSSQL$SHAREPOINT
„Speicherplatz für das ‚dbo.MSSBatchHistory‘-Objekt in der WSS_Search_MRSERVER-Datenbank konnte nicht belegt werden, da die Dateigruppe ‚PRIMARY‘ voll ist. Speicherplatz kann durch Löschen nicht benötigter Dateien, Löschen von Objekten in der Dateigruppe, Hinzufügen von Dateien zur Dateigruppe oder Festlegen der automatischen Vergrößerung für vorhandene Dateien in der Dateigruppe gewonnen werden.“


entgegen. Schön und gut, habe mich reichlich im Internet belesen und den Übeltäter in der SharePoint-Datenbank gefunden, es sind die MSSCrawlURLLog, die bis ans Limit vollgelaufen ist. Laut Internet soll man über die PowerShell diesen Befehl hier benutzen, um sie anschließend dann zu verkleinern:

Get-SPServiceApplication | Where {$_.TypeName -eq "Search Service Application"}

Allerdings gibt PowerShell die übliche Meldung aus, wenn ein falsches cmdlet eingetippt wird. ich denke es ist nur ein Anwendungsfehler meinerseits, kenne mich mit PowerShell leider wenig bis gar nicht aus. Könnte mir jemand erklären, wie genau hier vorgegangen wird? Danke schon Mal vorneweg.
 
Colisspo schrieb:
Allerdings gibt PowerShell die übliche Meldung aus, wenn ein falsches cmdlet eingetippt wird.

Und die wäre?
 
get-spserviceapplication.JPG
Diese Meldung. Anscheinend ist ja was mit dem Befehl an sich nicht in Ordnung. Benutze die PowerShell von Sharepoint.
 
egal in welcher PS ich das eingebe, es passiert rein gar nichts bis auf die nächste Eingabemöglichkeit.

EDIT: Ich habe das hier gefunden mit einem relativ simpel klingenden Lösungsansatz:
http://www.dnn-usergroup.de/Community/Forum/tabid/72/afv/topic/aff/2/aft/14379/Default.aspx

Dort schreibt jemand "Suchindizierung abschalten (System > Zeitplandienst) und das Zugriffsprotokoll auf 0 tage setzen. Außerdem das Ereignisprotokoll regelmäßig leeeren (Admin > Ereignisprotokoll)"

Allerdings finde ich beim besten Willen nicht die Funktion diese Suche zu deaktivieren, auch eine Einstellung für Zeitpläne finde ich nicht. Höchstens die Wartungsaufgaben.
 
Zuletzt bearbeitet:
Das Ursprüngliche Problem klingt vor allem danach, dass eure Lizenz bei 10GB Daten limitiert. Wenn ich es richtig im Kopf habe ist das das Limit von der kostenlosen MySQL Lizenz für eine einzelne Datenbank. Es wäre vielleicht eine Maßnahme einfach mal Geld aufs Problem zu werfen und eine "unlimitierte"* Standard Lizenz zu erwerben. Denn MSSCrawlURLLog sollte (laut Netz) sowieso Einträge verwerfen die älter sind als 90Tage und da das Ding Logs speichert bei normaler Nutzung innerhalb von 90Tagen keine Größe erreichen, die wesentlich die Größe der ganzen Datenbank bestimmt. Wenn MSSCrawlURLLog entsprechend so groß wird, dass sie wesentlich zur Gesamtgröße der DB beiträgt würde ich ausnutzen, dass in dieser Tabelle Logs stehen und schauen WIESO das Ding so aufgebläht ist. Dann kannst du das Problem an der Wurzel packen anstatt einfach nur die Logs zu löschen.

Ansonsten findet sich in englischer Sprache einiges zum Problem, wobei fast immer die Amateurlösung des Löschens der Logs und verringern des Limits auf 0-30 Tage empfohlen wird -.-
https://sharepointtips2012.blogspot.de/2012/03/huge-msscrawlurllog-table.html
https://sharepointsniper.wordpress.com/2012/01/01/how-to-clean-up-crawl-history-in-sharepoint-2010/


*DIe Standardlizenz hat auch Limitierungen, die sind aber für Mittelständler mit zweistelliger Mitarbeiterzahl normalerweise umfangreich genug.
 
Ja, von der 10GB Begrenzung habe ich gelesen, der installierte SQL-Server ist jedoch eine Standard-Version und keine Express, demnach dürfte die Begrenzung hier nicht dazwischenfunken.
 
Wenn ihr die Standardlizenz habt und das System rummault, dass es ins 10GB Limit läuft, dann hast du gerade einen Fehler gefunden um den sich "Jemand" dringend kümmern sollte.

Herzlichen, du hast eine Goldgrube für die Beschäftigung eurer IT gefunden :)
 
Da hast du wohl Recht, langsam kommt mir das Ganze etwas spooky vor.

Natürlich würde ich das Problem gerne lösen, durch die vollgelaufenen Logs häufen sich sekündlich die Meldungen in der Ereignisanzeige, der Server läuft also dementsprechend langsam und die Zugriffe sind ebenfalls extrem eingeschränkt. Es muss doch eine einfache Möglichkeit geben diese Logs erstmal zu bereinigen, damit wenigstens erstmal normales Arbeiten wieder möglich ist. Für irgendwelche SQL-Skripte bzw. Befehle fehlt mir schlichtweg das KnowHow.

Anbei noch ein Bild von der Tabellenübersicht: Anhang anzeigen 607307
 
Zuletzt bearbeitet:
Der zweite Link von Post #6 sollte dir da evtl. helfen können, die Beschreibung wie es über die Powershell gehen sollte. Das ist aber wie gesagt allenfalls ein schlechter, kurzfristiger Fix.
 
Vielen Dank für die Unterstützung, habe die Logs bereinigt bekommen. Das gibt mir erstmal etwas Luft um die Ursache dafür zu finden.

Habe die Logs mit der DELETE IN Funktion über die Tabelle selber bereinigt
 
Zurück
Oben