Meet Bazik – a SQL Server monitoring application


Some time ago I developed a simple diagnosing tool to monitor our production SQL Server and today I have a pleasure to present it to the public:) It’s a web application that you can deploy on IIS or run locally on IIS Express. On the main page it shows all currently running requests and open sessions. The screenshot in this case will serve better than a text description so just have a look:

Bazik

As you can see the requests grid shows you the status of a request (query or batch of queries). Additionally, if there are any locks that block it, you may easily find a session to blame. The details screen of a request additionally displays an estimated query plan (using html-query-plan library) as well as some query statistics:

Request details

Finally, there are some help pages (dropdown in the upper left corner), from which the index stats page is probably most interesting:

Index stats

Keep in mind that for smaller tables the reported fragmentation might be high and it’s nothing to be worried about. The last couple of pages show top 20 queries by high CPU, memory and IO usage. Those are based on statistics provided by SQL Server.

In order to use Bazik with your SQL Server you need to create a new connection string in Bazik’s web.config file. Its name must start with MySqlConnString# (eg. MsSqlConnString#srv1, where srv1 will be the name of your server). You then call Bazik’s home page with a serverName parameter, ex. http://localhost:8080?serverName=srv1.

This is it. You can get the tool from my .NET Diagnoatics Toolkit page(UPDATE 2015-09-04: A second version of Bazik is available on my github repository: https://github.com/lowleveldesign/dotnet-tools). I hope this simple app will serve you well:)

One thought on “Meet Bazik – a SQL Server monitoring application

  1. Hi mister, great tool IMHO.
    But use with CAUTION in production environment? Not blocking tables neither the databases.

    Tools for monitoring SQL Server and diagnostics (like https://lowleveldesign.wordpress.com/2012/09/07/diagnosing-ado-net-with-etw-traces/) is very interesting.

    Is it possible monitoring ASPState database if there are blocking in ASpnetSessions table?
    https://sqlperformance.com/2013/01/t-sql-queries/optimize-aspstate

    What’s about Nick Craver (StackOverlofw) , OpServer for monitoring https://github.com/opserver/Opserver?

    With my big fat ignorance, IMHO, can be very useful monitoring Performance Counters about ASP.NET and ADO.NET, collect using any C# code if is possible.

    Thanks a lot and sorry for any inconveniences and offtopics.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s