Get me here!

SQL Server’s system health extended event is an often overlooked, ignored, or unknown source of server performance information.

There’s a multitude of reasons for this:

  • No one looks in the Extended Events node in SSMS
  • When they do, they realize the GUI is awful and hates them passionately
  • When they realize the GUI is awful, they then realize they’d have to learn XML querying to get more information

So there you have it.

Now you have sp_HealthParser, which helps you avoid having to do all three of those. The best part is, you don’t need to think much about it. Just run it:

EXEC sp_HealthParser;

If you want to learn about the parameters for it, this is the current list with a description. There’s more in the @help parameter in the procedure, too.

@start_date datetimeoffset(7) = NULL, /*Begin date for events*/
@end_date datetimeoffset(7) = NULL, /*End date for events*/
@warnings_only bit = NULL, /*Only show results from recorded warnings*/
@database_name sysname = NULL, /*Filter to a specific database for blocking)*/
@wait_duration_ms bigint = 0, /*Minimum duration to show query waits*/
@wait_round_interval_minutes bigint = 60, /*Nearest interval to round wait stats to*/
@debug bit = 0, /*Select from temp tables to get event data in raw xml*/
@help bit = 0, /*Get help*/

If you want a video walkthrough of how to use it, and what the results are, head over here:

Good luck out there!