dbWarden - A Free SQL Server Monitoring Package

  • Comments posted to this topic are about the item dbWarden - A Free SQL Server Monitoring Package

  • Stevie and Michael,

    Sorry! I want to give five stars but when I click the star the page submitted!!


    You are my heroes!!



  • We are glad you like it!

  • This looks interesting; thanks for sharing. I downloaded the script from Sourceforge and I see you define and populate field Reindex in the DatabaseSettings settings table. Although this field is mentioned in the data dictionary, I don't see any code that examines this switch to determine whether or not to do something. What am I missing? I already have Sql Server agent jobs in place to re-index, so I don't need indexing enabled, but I wanted to help you improve your script.


  • The reindex is a work in progress feature. We mention that in the article. It actually looks like we have the following text twice, 🙂 oops. Thanks!

    *There is also a flag in the DatabaseSettings table for Reindexing. This is a work in progress feature. We created a wrapper proc for Ola Hallengren’s reindex/defrag script to look at this table to determine if a database should be skipped during reindex/defrag. We have not included the wrapper proc in the DBWarden script as of yet.

  • I haven't run the code yet, but, as far as I can tell, you populate table DatabaseSettings with all DBs with dbid > 4, by default enabling all of the options, then you disable the options only for the databases that match WHERE [DBName] IN ('CHANGEME')".

    Personally, I think you should add all of the databases but disable the settings by default (thus "name, 0,0,0,0") , then enable the options for the databases defined in the ChangeMe clause.

  • Thanks. That is a good idea about the DatabaseSettings defaulting to 0... My husband and I had that same conversation last week, but haven't changed it yet.

  • You have to take your hat off here to RedGate and SQLServerCentral. They develop monitoring tools but are happy to publish free, but less feature rich, alternatives on their website!

  • This is some excellent piece of work Steve & Michael! Thank you for sharing this with the community :-).

    Sujeet Singh

  • Awesome script, I had most of these in separate scripts and now have a combined solution - thanks! 🙂

    I did get one error, and fixed it by with this:

    IF OBJECT_ID('tempdb..#tempdates') IS NOT NULL




    I think one of the conditional checks did not create the table so wasnt able to drop it.


  • Hi,

    Great tool!

    I would just like to mentione that it will not work on sql server 2012 since some column names have changed in for example sys.dm_os_sys_info. There are other places as well.

    I ran the setup on SQL 2012 + SP1


  • To get the total volume space of a HDD you might find this link useful:


    It can be done using PowerShell to collect the data in in SQLAgentJob.

    The Problem with other solutions found here on the platform is that high security permissions on the server for running extended commands are needed to run.

  • I think this is a great idea and I am glad you are sharing with the community. I also really enjoy the integration and using other free and very robust scripts, like from Adam and Ola.

    I may have a few interesting scripts that I can send your way (over time as I get a chance) to capture some other interesting things as well.

    Oh - look at the Glenn Berry DMV scripts! Free and juicy.

    Thanks for your hard work and thought!

    Jim Murphy

  • Thanks for posting this script. A lot of work and thought went into this. Lots of us are on shoestring budgets.

  • Awesome script, thanks a lot.

    I wanted to try this on my server, but failed because my server uses collation 'Latin1_General_bin' ( case sensitive => also for object names ).

    I changed the script and now it seems to work.

Viewing 15 posts - 1 through 15 (of 186 total)

You must be logged in to reply to this topic. Login to reply