

Die CorrelationID ist ein Begriff, den jeder Microsoft SharePoint Admin und jeder SharePoint Entwickler kennt. Diese wird angezeigt, wenn ein unerwarteter Fehler aufgetreten ist und sieht zum Beispiel so aus:
Anhand der Correlation ID lassen sich im ULS Log weitere Details finden, es gibt aber in der Praxis verschiedene Hürden:
Problem 1: Correlation ID im Screenshot
Erreicht einen ein Screenshot mit der Correlation ID, dann muss die Correlation ID erst aus dem Bild extrahiert werden. Abtippen (und vertippen) ist eine Möglichkeit, schneller geht’s über OneNote! OneNote kann Text aus Bildern kopieren:
Ergebnis in Notepad:
Ich empfehle, die Correlation ID dennoch mit dem Screenshot abzugleichen, je nach Qualität des Screenshots können Fehler in der Texterkennung auftreten.
Problem 2: In welchem Logfile ist die Correlation ID enthalten?
Die Suche nach dem relevanten Log File gestaltet sich sehr unterschiedlich — je nach Anzahl der SharePoint Server, den eigenen Systemberechtigungen und der zur Verfügung stehenden Tools. Ein Farm Admin mit lokalen Adminrechten auf den SharePoint Servern kann mit dem PowerShell Befehl Merge-SPLogFile sehr effizient relevante Teile der ULS Logs von allen Servern der Farm in ein Logfile zusammenführen. Um die Last beim Mergen der Logfiles gering zu halten, sollte der Zeitraum eingegrenzt werden, z.B.:
Merge-SPLogFile ‑Path E:\Temp\mergedlogs\9ff4629d-4dfl-1093–10d2-ada97e77158a.log ‑StartTime (Get-Date).AddDays(-1) ‑EndTime (Get-Date) ‑Correlation 9ff4629d-4df1-1093–10d2-ada97e77158a
Nach dem Merge steht die Ergebnisdatei zur Verfügung, welche mit ULS Viewer oder als Excel-Import geöffnet werden kann.
Problem 3: kein lokaler Admin, nur remote Lesezugriff auf Trace Logs
Für den Fall, dass nur Lesezugriff auf die TraceLogs existiert muss anderweitig ermittelt werden, welches das relevante Logfile ist. Anhand des Zeitstempels der Correlation ID ist dies meist möglich. Andernfalls kann mittels dem klassischen MS-DOS Befehl find (find /? Zeigt die Hilfe an) nach der Correlation ID in den Dateien gesucht werden. Beispiel:
Der Parameter /C gibt an, dass die Anzahl der Treffer pro durchsuchter Datei ausgegeben wird. Wird dort > 0 ausgegeben, enthält die Datei den gesuchten Text.
Ist das relevante Logfile gefunden, bzw. durch Merge-SPLogfile generiert, dann kann die Logdatei z.B. mit dem UlsViewer oder durch Import nach Excel lesbar angezeigt werden:
Happy Troubleshooting!

Joachim von Seydewitz
Solution Architect