Since I have seen this issue three times this week, I figured it was time to write a post about how to troubleshoot SBS (Small Business Server) console crashes. This is an issue I usually see several times a month. Most people want to repair the SBS console as the first step. However I have never seen a SBS console crash that was caused by a problem with the console itself. Console crashes are always caused by an application and/or service the console is trying to access. The most common of these is WSUS (Windows Server Update Services).
So how do you troubleshoot a SBS console crash?
The answer is always in the console.log, or console2.log, file. Here is the process I follow to find the cause for the crash. I am using an example that I had yesterday, but the process is similar for all cases.
- Close the SBS console if it is open.
- Navigate to the C:\Program Files\Windows Small Business Server\Logs directory.
- Rename the console.log and console2.log if it exists.
- Launch the SBS console and get the console to crash as soon as possible. When it crashes, do not relaunch it.
- Open the console.log with a text editor.
- Press Ctrl+End to navigate to the bottom of the log.
We are looking for the outer and inner exceptions. The outer exception always comes first and is immediately followed by the inner exception. The inner exception will tell you the problem. In the example below the problem is corruption in the WSUS database. In this case the easiest fix is to reinstall WSUS.
 160225.173854.0543: Exception:
An exception of type ‘Type: System.Reflection.TargetInvocationException, mscorlib, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b77a5c561934e089’ has occurred.
Timestamp: 02/25/2016 17:38:54
Message: Exception has been thrown by the target of an invocation.
Stack: at Microsoft.WindowsServerSolutions.Console.Pages.Computers.Computers.QueryComputerJob.OnCompleted(Object sender, RunWorkerCompletedEventArgs e)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
An exception of type ‘Type: System.Data.SqlClient.SqlException, System.Data, Version=126.96.36.199, Culture=neutral, PublicKeyToken=b77a5c561934e089’ has occurred.
Timestamp: 02/25/2016 17:38:54
Message: SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:1793122; actual 7015:33685504). It occurred during a read of page (1:1793122) in database ID 5 at offset 0x0000036b8c4000 in file ‘C:\WSUS\SUSDB\\UpdateServicesDbFiles\SUSDB.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Stack: at Microsoft.UpdateServices.Internal.BaseApi.SoapExceptionProcessor.DeserializeAndThrow(SoapException soapException)
at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPGetUpdateInstallationInfoForComputer(String computerId, String updateScopeXml, String preferredCulture, ExtendedPublicationState publicationState)
at Microsoft.UpdateServices.Internal.BaseApi.ComputerTarget.GetUpdateInstallationInfoPerUpdate(UpdateScope updatesToInclude)
at Microsoft.WindowsServerSolutions.SystemHealth.UpdateServices.DataProvider.GetPerComputerStatus(String FullDNSComputerName, DateTime starting)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)