How to Fix SharePoint Error HTTP 500
Diagnostic Procedures
- 1 Understand SharePoint HTTP 500 (Internal Server Error)
- 2 Step 1: Check Microsoft 365 Tenant Status
- 3 Step 2: Troubleshoot IIS Application Pools (On-Premises)
- 4 Step 3: Check SQL Server Connections and Storage
- 5 Step 4: Analyze SharePoint Logs using ULSViewer
How to Fix SharePoint Error HTTP 500
An HTTP 500 (Internal Server Error) in SharePoint is a generic error indicating that the server encountered an unexpected condition that prevented it from fulfilling the request. This can be caused by database connection drops, resource exhaustion, or configuration errors on either SharePoint Online or on-premises servers.
This guide outlines how to identify the cause of the crash, manage IIS application pools, check database health, and query the log files.
Understand SharePoint HTTP 500 (Internal Server Error)
This error is typically caused by:
- Service Outages (SharePoint Online): Temporary service disruptions on Microsoft’s cloud infrastructure.
- IIS AppPool Crash (On-Premises): The application pool hosting the SharePoint web application has stopped or recycled due to errors.
- Database Connectivity Failures: The SharePoint Web Front End (WFE) cannot communicate with the SQL Server hosting the content databases.
- SQL Disk Space Exhaustion: The SQL Server hosting the content databases has run out of disk space, preventing transaction logs from writing.
- Faulty Custom Solutions: Incompatible third-party web parts, custom event receivers, or broken master pages.
Resolving SharePoint HTTP 500 Errors
Follow these troubleshooting procedures to restore service:
Step 1: Check Microsoft 365 Tenant Status
For SharePoint Online, the error is often on Microsoft’s side.
- Open the Microsoft 365 Admin Center (
admin.microsoft.com). - Go to Health > Service health.
- Look for active advisories or incidents affecting SharePoint Online.
- If an advisory is active, wait for Microsoft to resolve the outage.
Step 2: Troubleshoot IIS Application Pools (On-Premises Only)
On-premises servers often experience 500 errors if the corresponding IIS Application Pool stops running.
- Log in to your SharePoint Web Front End (WFE) server.
- Open Command Prompt as Administrator.
- Check the status of your app pools:
:: List all application pools and their current states
%windir%\system32\inetsrv\appcmd list apppools
- If any pool (such as
SharePoint - 80orSharePoint Web Services Root) is in a Stopped state, restart it:
:: Start the stopped SharePoint application pool
%windir%\system32\inetsrv\appcmd start apppool /apppool.name:"SharePoint - 80"
- If it stops again immediately, check the Windows Event Viewer (
Applicationslog) for credential errors related to the app pool’s service account.
Step 3: Check SQL Server Connections and Storage (On-Premises Only)
A database timeout or failure to write to the transaction log will trigger a 500 error.
- Open SharePoint Management Shell as Administrator.
- Run this command to check the connectivity and status of your content databases:
# Get status of all SharePoint databases
Get-SPDatabase | Select-Object Name, DiskSizeRequired, Exists, IsReadOnly
- Ensure that the SQL Server holding the content databases has at least 10% free disk space on its transaction log drive.
- If the SQL Server database is offline, open the SQL Server Configuration Manager and restart the SQL Server Service (
MSSQLSERVER).
Step 4: Analyze SharePoint Logs using ULSViewer
The correlation ID displayed with the HTTP 500 error holds the precise stack trace.
- Locate the correlation ID on the error page.
- On your WFE server, open the ULS log directory:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\LOGS - Use the following PowerShell command to filter the logs for this specific error:
# Find log entries for the HTTP 500 Correlation ID
Get-SPLogEvent -StartTime (Get-Date).AddMinutes(-10) | Where-Object {$_.Correlation -eq "YOUR-CORRELATION-ID-GUID"} | Format-Table Timestamp, Area, Category, Level, Message -AutoSize
- Inspect the log output for “Database exception”, “Out of memory”, or “Assembly load failure” details.
Summary Checklist
- Check the Microsoft 365 Service Health page for cloud outages.
- For on-premises, log in to the WFE and check if the IIS Application Pools are running.
- Verify SQL Server services are online and have sufficient disk storage space.
- Search ULS logs using the Correlation ID to find the exact stack trace.
- Run
iisreset /noforcein a command block to restart the web server services.