How to do a quick SQL Server healthcheck

There is sometimes the need to do a quick SQL Server healthcheck. Usually this is needed before a maintenance or a migration takes place or after a problem has been resolved. The time given to you for this typical healthcheck is usually short, so let’s see how you can do this in a quick and efficient manner:

 

Eventviewer

The Eventviewer tool is the first place you should look for Operating System level issues. Don’t waste too much time on the Application log, as the SQL Server messages you will find there, are duplicates of the messages you will also see at the SQL Server ERRORLOG. The System log is where you should put the focus on. I usually filter the log so that it shows only the Errors and Warnings – Information messages are useful for troubleshooting specialized issues and not for generic healthchecks. Error and Warning event sources that usually draw my attention are:

  NTFS

(possible NTFS corruption messages)

  Disk

(possible Storage issues)

  EventLog

(Unexpected shutdowns)

  Microsoft-Windows-WER-SystemErrorReporting

(Unexpected shutdowns)

  Microsoft-Windows-Kernel-Power

(Unexpected shutdowns)

 

ERRORLOG

These error log files are usually found here:

C:\Program Files\Microsoft SQL Server\<instance_name>\MSSQL\Log

They can be accessed from inside SQL Server Management Studio if you prefer so.

Messages that usually draw my attention are:

  All kinds of Errors (except login errors, which are usually spammed in the ERRORLOG)

  Any enabled trace flags (you will see them appear in this format: -TXXXX, where XXXX is a number)

  Any database corruption messages

Also these messages:

  A significant part of sql server memory has been paged out

(incorrect memory configuration)

  SQL Server has encountered x occurrence(s) of I/O requests taking longer than 15 seconds to complete on file

(storage performance issues)

  SQL Server is starting at high priority base

(priority needs to be changed back to normal)

  Deadlock encountered .... Printing deadlock information

(deadlock)

  deadlock-list

(deadlock)

 

Perfmon

You can use these steps to quickly check if your SQL Server has any performance issues:

https://blogs.msdn.com/b/john_daskalakis/archive/2013/10/14/how-to-troubleshoot-sql-server-performance-issues-with-simple-tools-part-2-how-to-analyze-the-perfmon-trace-and-detect-io-bottlenecks.aspx

 

The above checks should not take more than 30-40 minutes to complete.