Komfortable Logfileanalyse für Sharepoint

Sicherlich kennen Sie  Sharepoint Fehlermeldung mit Hinweis auf eine KorrelationsID..! T’schulding, war eine rhetorische Frage. ; –)

Dann wissen Sie sicherlich auch, dass Sharepoint diese und viele weitere Ereignisse in seine ULS (Unified Logging Service) Protokolldateien wegschreibt. Sie kennen sicherlich auch das Verzeichnis (C:Program FilesCommon FilesMicrosoft Sharedwebserver Extensions14Logs) in dem standardmäßig die Dateien abgelegt werden und ebenso kennen sie auch das Format der Logfiles:

Daraus nun den Fehler zu reproduzieren ist zugegebenermaßen sehr schwerfällig. Leichter wird es , wenn man ein Tool wie den SharepointLogviewer verwendet. Zu finden bei Codeplex: http://sharepointlogviewer.codeplex.com/

Für mich – als Datenbankfuzzi – ist das allerdings noch nicht das Amen in der Kirche. Denn immerhin muss man immer noch am Server sein um die Protokolle lesen zu können, ob lokal am Server oder per Remotesitzung. (Im Falle von mehreren Servern, evtl. auf allen) Da stehe ich schon eher auf bequemere Dinge, wie SQL Server.

ULS Tracefiles in den SQL Server schreiben

Sharepoint Server hat durchaus alle Mittel an Board, die Protokollierung in den SQL Server schreiben zu lassen. Die Mittel sind lediglich deaktiviert. In diesem Fall ist das Mittel zum Zweck lediglich ein Auftrag:

Kontrollieren Sie doch mal in der Zentraladministration die Auftragsdefinitionen. Dort werden Sie einen Auftrag mit folgenden Namen finden:

Diagnoseanbieter: Ablaufverfolgunsprotokoll

Sobald Sie diese n Auftrag aktivieren und am besten auch gleich starten, werden sie im SQL Server folgendes finden:

Eine Menge an Tabellen, darunter auch welche mit folgenden Namen: ULSTraceLog_Partition#  (# für 0 bis 31)

und passen dazu eine Sicht ULSTRaceLog, die alle Tabellen abfrägt:

Der große Vorteil ist nun, dass einerseits Abfragen auf die Logfiles per TSQL deutlich leichter zu bewerkstelligen sind und andererseits wir nun eine einzige zentralen Stelle haben, an der alle ULS Logfile Einträge aller in der Farm beteiligten Server zusammenkommen. Vollautomatisch!

Die Suche nach bspw. KorrelationsID ist nun geradezu lächerlich einfach:

Cool, oder?

Wird aber noch besser. Im nächsten Artikel werde ich diese Lösung noch in die Zentraladministration einbauen, so dass nicht einmal eine SQL Abfrage gestartet werden muss.. Natürlich ohne Code. 

Fumus

View Comments

Share
Published by
Fumus

Recent Posts

SQL Server 2019 – static data masking – Du Opfer!

In SQL Server 2016 wurde das sog. dynamic data masking eingeführt. Eine Möglichkeit Daten bei…

5 Jahren ago

MinRole – Oder wie alles etwas einfacher wird

Seit Sharepoint Server 2007 präsentiert sich die Installation immer auf die gleiche Weise. Gerade mal,…

8 Jahren ago

Schritt für Schritt: SQL 2016 – Dynamic Data Masking

Es weihnachtet! Gerade bekam ich von einer Kollegin Plätzchen angeboten mit der Größe eines Diskus…

8 Jahren ago

Schritt für Schritt: SQL Server 2016 – temporal tables

Nein, bitte nicht verwechseln: temporal tables haben nichts zu tun mit temporary tables table variables…

9 Jahren ago

SQL Server 2016 Schritt für Schritt–Installation und First Look

SQL Server 2016.. habe ich schon erwähnt, dass ich den ziemlich cool finde? Wollen wir…

9 Jahren ago

SQL Server 2016 – CTP2

Nach langer Zeit wieder mal eine Artikel von mir.. der mich besonders erfreut. SQL Server…

9 Jahren ago