Wednesday, June 9, 2021

Sharepoint correlation id in error messages what it is and how to use it

If you're a user having problems with a public website or survey, email or other app, call the company that owns the website and ask them for help.   You can usually find contact information for a website or survey at the bottom of a page or in the About or Contact us sections of their navigation menus.

If you're a user at a business and you're getting errors, contact the person who manages your business's internal website.   These types of problems can often only be fixed by the webmaster (SharePoint admin) or someone at your company.

If you're a SharePoint admin, webmaster, or site manager,   and your users are asking questions about correlation IDs, this article can help you.

What a correlation ID is and isn't

The correlation ID is not an error number or code. Simply, it's a GUID (globally unique identifier) that's automatically generated for every request that the SharePoint server receives. It's unique to each request, not each error. However, when an error occurs, the error message contains the correlation ID that was valid for the request at the time.

The correlation ID is meant to be used to help a SharePoint Admin trace what was happening at the time of an error. It is only valuable as an interactive tool to help the Admin track down your error. An Admin uses the correlation ID as "breadcrumbs" to retrace a requests or processes in the SharePointUnified Logging System (ULS) to find what leads up to and causes a problem. If SharePoint gets an error that it can't identify while working on that task, it posts an "Unexpected error has occurred" message, and includes the correlation ID. The correlation ID can help find out what happened but doesn't identify what happened.

Diagram of how a correlation ID is assigned

Successful requests are tagged with a correlation ID as well as failed ones. The ID is unique and different for every new request, and only lasts the duration of the request. It is not like a Windows error which gives you an 80xxxxxx number that identifies the exact problem. It doesn't help to search for a specific correlation ID on the web, as every single one is different and unique to your server and that point in time.

Where a correlation ID is valuable is tracing through a process. SharePoint creates a log (ULS) of everything it does when processing requests, and the correlation ID is basically the thread that ties each step together. Since SharePoint does thousands of requests at the same time, the correlation ID can be used to filter out just the steps that SharePoint was doing for any given request.

For the Admin, a correlation ID can be used to trace errors, as well as performance problems and other issues. By using the correlation IDs for requests that are exhibiting the problematic behavior, they can investigate deeper.  If no failure is happening and no error message is being generated, the developer dashboard can be used to view the correlation ID generated by the processes. 

If you're an end user, you probably won't have access to the logs that provide the information where a correlation ID can be helpful. In this case, you can stop here and call your helpdesk or Admin. Explain your problem, and work with them to help diagnose the problem. Give them the correlation ID you see on your error message, they may need.

As an IT Pro or Admin, to figure out what happened, you need to find the ULS logs for the time the event occurred, and search for the Correlation ID in those logs. You may have to look across several of the web front ends to find the one that has the correlation ID you're looking for. The correlation ID won't solve your error, but it can help you trace a request to maybe see what went wrong. You might get some insight into what happened right before the error was generated, what error messages showed up, or what events were triggered because of this error (if any). You can use a tool such as ULSViewer to facilitate looking at this data and filter out the requests you don't need to see. See the SharePoint logging and troubleshooting using ULSViewer blog post for more ideas and tips.

Here's a typical scenario an Admin will use when using a correlation ID:

  • User gets an error opening a file in Excel, which gives the Admin the correlation ID and date/time of the incident:

  • Find the log directory, and the date you're looking for and open that file in Excel:

  • Find the correlation ID that you're looking for. You can filter by the level of the events as well to get an idea of what's going on:

  • If you don't find the correlation ID, try another web server that was in rotation at the time of the issue reported.

Here are some more Admin resources to help with debugging SharePoint errors. In addition to these links, try searching the web as there are many third-party sites and communities that offer support and tools for working with SharePoint. Because SharePoint is a platform, there's a community of thousands of developers, IT Pros, and users developing tools, apps, and documentation to help each other.

No comments:

Post a Comment