Steve Stedman and the Stedman Solutions Team celebrate the 10 year anniversary of Database Health Monitor. Kiana talks to Steve about this tool he built, how it’s evolved, why its useful and its plans for it in the future.
Go to http://www.Databasehealth.com to download this free tool today!
STEVE: This is the 10-year anniversary of database health monitor and it has come a long way in that time.
KIANA: Well happy anniversary! What is Database Health Monitor?
STEVE: Database Health Monitor is a too that I built with a collection of queries that I learned as a DBA that I needed to check frequently, and I put all those together into a product that makes it so I don’t have to copy and paste 25 or 30 or 50 different queries. I can check on a systems health and I can run them on one program, and I can check on multiple things and get the status of the SQL server in a short amount of time.
KIANA: what made you start Database Health Monitor?
STEVE: Well, I was working with a guy name Wayne and he saw me working with all of these queries that I had and I would copy and paste to one server then run to another server and checking the health of things. He then said, “You should put all those together in a SSRS package and bundle it up and see what you can do with that. I thought, that would be interesting as I was just learning about SSRS at the time. So, I built some reports out in sql server reports server. They worked very well in the environment I was in and then ended up going to Sql Saturday and giving a presentation and showing all these SSRS reports for checking a server’s health. What came out of that was I became limited by SSRS at that point and couldn’t do all the things I wanted to do. For instance, all the options to connect to multiple databases and remember the connections and monitor different things. I’m sure SSRS has evolved a lot since then but I ended up breaking away from doing it as a report server project and then building it as a standalone application after that.
KIANA: So, Steve, can anyone use Database Health Monitor? Can it only be use on Certain servers?
STEVE: Database Health Monitor is a free product and it is something that will work with any installed version of SQL Server that runs on windows. We don’t have a Linux version of it yet, but it does look at some of the Linux servers out there. As far as SQL Server 2005, 2008 R2, 2008, 2012, 2014, 2016, 2017, and 2019 all installed on premise it works well on all of those. And I am sure it will work great with whatever the next version that comes after that will be. However, it does not work on SQL Server 2000 so it you are in the dark ages and still running those versions then tough luck.
KIANA: So, what can Database Health Monitor do for users and why is it so useful?
STEVE: Oh, it’s so useful because it allows you to get quick access to different metrics and find problems.
With SQL Server consulting we do a lot of SQL Server health and performance assessments where we are taking a look at a server for someone and we may have never seen that server before. So, the first things we do it open up Database Health Monitor and go take a look at a few things on that server. One of the first things we look at is what we call the Quick Scan report. This quick scan report assesses about 100 different items and it reports back on things that are either contradictory to best practices or performance issues or things that are recommended or are missing that are recommended. Also, things that we have found overtime that can just be a problem. It reports back on the details of what the problem is.
So here, [see video for visual] the SQL Server memory is set correctly. We have some full recovery model databases with no log backups. We have missing alerts. No notifications on failure of jobs. All the things that if you were a SQL DBA class. It is all the things they tell you to do or not to do and it’s catching you on those. Like check DB has not been run. If you attended my corruption presentation you would’ve hear me talk about how important Check DB is. Maybe someone should be running Check BD on this server.
It will give you a list here what SQL Server needs to get it whipped into shape if it hasn’t been maintained for quite a while. If you have a top notch DBA who knows the proper way to configure a SQL Server and your list will be much shorter. If it is a server that hasn’t been maintained or checked for certain things your quick scan report list will be much longer.
Another thing separate from the quick scan report I think is incredibly valuable is what’s call the historic monitoring and waits. To start it up you much install a little SQL Agent job and a small database that tracks this. What it does is it monitors your server and keeps track of the queries that are run, taking time, what’s causing them to wait or be slow. So, for instance if we look at a specific day we can see that during the day there is a specific number of weights but then maybe later in the day it may kick off with high number in weights. If we want to look closer and ask, “well why things were slow at 9am”? We can click here [see video] and see that at 9am there was this job running called “download latest items” that has 49,000 weights or almost half the weights for the entire hour associate with this one query. If we double click on that we can see most of the weights are CX_CONSUMER, RESOURCE_SEMAPHORE and CX_PACKET. Now, this is running on my desktop and I have 32 cores and I probably haven’t set up the max degree of parallelism correctly so that’s why these waits are so high. This is not a big deal on my desktop but if this was in a production environment, you’d probably want to take a look and see what going on there. But from my prospective this is one of the most valuable part of Database Health Monitor is to be able to go and do this historic tracking. And that way when someone says the server was slow at 3pm yesterday you can go back and figure out why it was slow and which queries were causing problems.
KIANA: Now I’m interested how has Database Health Monitor evolved over the years and what’s your plan for the future?
STEVE: Over the last 10 years a lot of things have happened with it. If you go to the DatabaseHealth.com site where you can download it for free, there‘s couple different places where we can look at the history of how things have evolved. If we got to the download page, we can see the recent downloads and the different thigs that have been bug fixed and new features over the last year or so. If we go the released notes page, there’s a little more of extended history there of all the release notes that have come out on the different versions. Finally, if we go to the about page on Database Health Monitor it has a timeline that shows how things have gone and how its evolved. Things like April 29th, 2013 the 500th download of Database Health reports and the 600th download. I was really excited about tracking the number of downloads back then. Now I think the number is over somewhere over about 5,000-6,000 people that are using it worldwide.
KIANA: So, you mentioned that Database Health Monitor is free for users. Will it continue to be free?
STEVE: The straight up honest answer there is I would love to charge for it, but I’m caught up with how to deal with sales tax appropriately and I just gave up on that. So, all that we ask for Database Health Monitor is that you register yourself with an email address as a user. In return we will give you a license code and we will occasionally send you newsletters.
Now occasionally someone will come along that really does not want to giveaway their email address. If you are one of those people feel free to get a hold of me a let me know. I will get you set up with a license code for a flat fee.
So, one of the things I love to see is when people are using Database Health Monitor and they have suggestions for improvements that will make their life or work easier. What’s really cool is when somebody suggests something and I look and it and think, “wow” I can do that same thing and it will make my job easier. Then I add it into the product. That is really what has happened over the last 10 years to evolve the product to the point its’ at right now.