Download
Start your free 7-day trial of Database Health Monitor today and discover why SQL Server professionals trust it for monitoring, diagnostics, and performance tuning.
The latest release of Database Health Monitor now available. Download Database Health Monitor today.

- Download the zip file
- Open the zip file, and run DatabaseHealthSetup.exe.
If you have been using a previous version of Database Health Monitor, just download and install this version over the previous one.
Thank you for using Database Health Monitor.
What People Are Saying About Database Health Monitor

- “I installed Database Health Monitor on many of my client’s SQL servers and believe it’s the best tool out there for SQL monitoring.” – Charles Ray – March 2022
- This is a great application for SQL Server DBAing. We have a web based product but this one is so comprehensive, both high level and detailed. So much is available right at the click of a button, it is amazing! I am so grateful for the application, for the effort to build it, and the decision to share it. I know it has made me a better DBA, my organization has benefited from it, and I deeply appreciate all of that! Thank you! – Jesse – October 2021
- Thank you a lot for this excellent application. I loved the “missing indexes” and “Statistics” section, it helps me to save time and effort for the weekly maintenance.
Best Regards November 2019 - Database Health is the first tool that I pull up when someone calls and complains about slow performance in their applications, that be Dynamics NAV, Dynamics AX or even the webpages running slow. It saves me a lot of time finding the queries, missing indexes or what be it, causing the problem. This is by far the easiest and most effective tool to use, when searching for problems that need instant resolution. Thanx a million for your contribution to the SQL world. September 2019.
- This is an awesome tool to find issues and fix them or improve performance in areas that I didn’t even know we can.
- I would like to thank you for sharing this product with us free. I have installed and using health monitor on my production DB. very very nice…. Thank you so very much. I hope you will keep adding more features in this product. Well done (Rohit)
- Outstanding app. Already referred it to several friends in the field. Well I do have to say the changes you have made (regarding version 2.5), seems to have made everything in the interface much snappier. Your work here is quite impressive. (Frank from Texas)
- Outstanding! Besides enjoying the layout of your app, one thing I really like about the Quick Scan Report is each entry has a corresponding link that discusses the finding so I can go back and review recommendations, cautions, etc. (Michael)
May 2026 Release – Version 3.1341 Release Notes
Bug Fixes
- Fixed a bug in the “Backup Status” instance report that would prevent the last full backup file from being displayed.
- Fixed a bug in the Performance Viewer in how the number of user sessions are being tracked. It was double reporting some, now it is accurate.
New Features
- On the Blocking Queries report it now has a right click option to kill the selected sessions, in addition to the original to kill the entire blocking tree. Customer requested feature and a great idea.
- Added query parameters, html formatting and if available a brief query plan summary to the blocking query email notification.
- Added a new dialog for query plan analysis that is available from the Query Advisor when the plan is available, for instance from the blocking history or long running queries reports.
- Added config file setting for UseLicenseCache, when set to 1 it skips the internet license check on startup, specifically for offline servers.
- Added a missing indexes column into the Blocking Over Time report and Long Running History report to show if there are indexes that could have helped make the query run faster.
- Added a warnings column into the Blocking Over Time report and Long Running History report to show if there are warnings coming from the query plan that could be impacting performance.
- Added support to the Query Advisor dialog to show missing indexes, or plan warnings, if available.
- Enterprise Index Review features:
- Completely redesigned output with modern styling matching the Plan Analyzer — Segoe UI font, colour-coded headings, striped tables, and proper dark mode support
- All CREATE INDEX and fix scripts now have a Copy button
- Missing index suggestions now show an impact label — Critical / High / Medium / Low — based on the DMV cost estimate
- Suggested CREATE INDEX scripts now include the INCLUDE (…) clause when SQL Server recommends included columns
- A table of contents navigation bar appears at the top of the report with jump links to every section
- New Analysis Sections
- Missing Index Overlaps — identifies groups of suggestions on the same table that share the same key columns and could be merged into a single index, reducing index count
- Index Usage ROI — shows every non-clustered index with its read count, write count, and size since last server restart, and classifies each as Keep, High write ratio, No activity, or Remove candidate
- Index Fragmentation — lists indexes with >10% fragmentation (100+ pages), colour-coded by severity, with a per-row REBUILD or REORGANIZE fix script
- Unused Indexes — non-clustered indexes with zero reads since last server restart, sorted by write overhead and size, with DROP INDEX scripts
- Duplicate & Redundant Indexes — detects indexes whose key columns are identical to or a leading prefix of another index on the same table; excludes clustered indexes
- Disabled Indexes — lists indexes not being maintained by the engine, with scripts to re-enable or drop
- Heap Tables — tables with no clustered index, sorted by size
- Fill Factor Audit — flags non-clustered indexes explicitly set below 99%; the standard is now 99–100%; fix scripts rebuild at FILLFACTOR = 99
- Missing Foreign Key Indexes — detects FK columns with no supporting index, which cause scans during cascades and parent-table modifications; includes a ready-to-run CREATE INDEX script per FK
- The Email Alerting feature has received a backend overhaul. Alerts no longer send an email when their threshold has changed, reducing the number of emails that are sent out on alerts like Long Running Queries.
General Maintenance
- Added 3 indexes to the [DBHealthHistory].[dbo].[waitsNormalized] table to help with performance of monitoring.
- Cleanup has been added to the MailReportingCheckTracker table.
March 2026 Release – Version 3.1281 Release Notes
Bug Fixes
- Fixed a bug where the QuickScan report crashed on a brand new SQL Server install where there were not yet 2 SQL Agent log files or 2 SQL Error log files to scan for issues.
- Fixed a bug in the Track Blocking Queries job with collection of the query plan.
- Modified Track Blocking Queries job to collect a last submitted batch statement if full query is unavailable due to large transactions.
- Fixed a bug in QuickScan check #232 that prevented proper reporting on databases missing TDE.
- Fixed a bug in the “Fragmentation” database index report that could allow index names to be assigned incorrectly.
- Modified the collection of data for the “Disk Latency by Hour” to more precisely represent an hours exact latency average.
- Fixed a bug in the query advisor on the “What is Active” Instance Report.
- Fixed a bug where if you were licensed for 1 instance the title bar showed licensed for “1 instances” added check for proper pluralization if instance or instances.
- Fixed a regional date formatting issue that caused errors when querying historical data.
New Features
- SchemaDrift – adding case sensitive and case insensitive comparison. Previously it was only case sensitive.
- New Instance Report “Long Running by Hour” that shows a by hour by day visualization of where the longest running queries are.
- New Instance Report “Long Running History” that shows the longest running queries over the past 30 days.
- Database level “Long Running History” Historic report has been updated to utilize new information.
- List displays now have a filter option by right clicking on the desired filter column.
January 2026 Release – Version 3.1262 Release Notes
Bug Fixes
- Fixed a bug where a disabled index would cause some of the indexing reports to crash.
- Reduced the frequency of disk space information collected to reduce background load.
- Fixed a bug in the related links where the link to the Blocking Queries report from the Open Transactions report was not working. Now it links correctly.
- Improvement performance on QuickScan check #90 and #233 which were taking a while to check on busy systems.
- Limiting the length of queries stored in the historic waits to 16k in length to reduce bloat on the waits tables.
- Fixing the drilldown from Databases by Size to link to the table size for a given database.
New Features
- Added a right click option on the back button to be able to jump anywhere in the last 20 reports accessed.
- Added a format SQL button the dialog that is used to show queries. This is handy to make a query more readable when diagnosing problems.
- Added output to the bottom left gray status window when updating the historic monitoring database to show the versions being updated to.
- New QuickScan checks:
- Right click menu option in the QuickScan report for check #39 (failed mail) and check #104 (new) to clear the failed or retrying messages from msdb.
- Added new check #101 for too many TempDB files.
- Added new check #102 for small TempDB files.
- Added new check #103 for Target Recovery Time settings outside of the recommended range.
- Added new check #104 for older failed or retry email messages in msdb, with a right click option to purge them. This is intended to be just a cleanup item, not an urgent alert.
- Added new check #105 for large number of email items in msdb. How many do you need to save? This is intended to be just a cleanup item, not an urgent alert.
- Added the column “Transaction Database” in the “Open Transactions” instance report to show what database the open transaction is currently affecting.
- Added the tracking of the plan associated with blocking queries in our Blocking Query Monitor and blocking query reports.
- Clicking on a time in the “Deadlocks by Hour” report now takes you to the “Deadlock History” report at either the instance and the database level for that hour.
December 2025 Release – Version 3.1244 Release Notes
Bug Fixes
- More work done to the TrackDeadlocks procedure to reduce background load.
New Features
- Added a new instance report, “Structure Change Log”. This report lets you track structural changes made to databases within an instance. It requires Structure Tracking to be enabled to function. When tracking is enabled on a database, a trigger named trg_DDLAudit is created. You can remove this trigger at any time to disable Structure Tracking.
- Added new instance report “Disk Space Forecast” that gives an estimate of how long a disk will last based on space consumption.
- Added a menu option to view Webservice API calls that we make to our licensing server, and for crash reports. This was to answer the question of “what data are you extracting from my SQL Server”. It is sort of boring, but it serves a purpose.
- Added a right click option to Kill Session in the “Open Transactions” Instance Report.
- Reports utilizing our timeline chart, such as the “Job History” instance report, have a new sorting functionality. Clicking on a header segment will sort all entries in the timeline based on what is filled in that segment.
October 2025 Release – Version 3.1196 Release Notes
Bug Fixes
- Fixed a bug where an offline database would cause a crash when running reports against all instances.
- Various fixes and improvements made to Silent Report Generator.
- Altered the TrackDeadlocks procedure to reduce background load.
- Fixed a bug in the heat map reports where clicking in certain coordinates would cause a crash.
New Features
- Added a new TempDB historic report “TempDB” allocation, which shows users the internal allocation sizes of TempDB’s Version Store, Internal Objects, and User Objects.
October 2025 Release – Version 3.1194 Release Notes
Bug Fixes
- Fixed a bug where navigating to the Server Health tab with a Server sub tree open would create an “Empty” database in the navigation list.
- Fixed an issue with heat map reports showing 0’s for future times.
- Fixed a regional date conversion issue causing the Deadlock History database report to show incorrect time frames.
New Features
- Added New QuickScan check:
- QuickScan check #245, TempDB Version Store currently using 80% or more of available space.
- New Command Line parameters have been added to Database Health Monitor. These can be used to generate report summaries for a SQL Server without having to launch the application. More information about these can be found at https://DatabaseHealth.com/database-health-reports/command-line-parameters/
- Added drill-down functionality to the “Blocking by Hour” instance report, allowing users to view the specific blocking queries for the selected hour.
- Added drill-down functionality to the “CPU by Database” instance report, taking users to the Database’s “CPU by Query” report.
- Added new instance report “Open Transactions” showing any transactions that are left open but may not be active.
- Index Reports “Inefficient”, “Most Used”, and “Unused” have the option to switch between Real Time and Historic.
- Hide/Show Copy Only backups option is now available on the “Backup Status” instance report.
August 2025 Release – Version 3.0 Release Notes
Bug Fixes
- Fixed disk latency by hour report to work with Linux based SQL installs
- Fixed crashing bug in the historic waits panel.
- Fixed Disk latency report showing tomorrows data
- Adding better rollup code on the IndexUsageOverTime table to help keep it from growing too large.
- Fixed a bug in the Filesize Over Time report listings files twice if they had been moved or renamed.
- Add a “Map objects owner to dbo” for Orphan Users on the orphan user report.
- Index Suggestions now use fill factor 99 instead of 90.
- Fixed a bug where certain characters in a database name would prevent a shrink in the VLF report.
- Fix a bug with 3 checks in the QuickScan report not working correctly on Availability Groups, specifically on the secondary. Check #89, #205, #237.
- Fixed a bug with the Index Statistics Advisor that would prevent automatic updating statistics automatically.
New Features
- DBAssistant has been added to our version 3 release of Database Health Monitor. DBAssistant helps evaluate the current configuration and health of your SQL Server environment. DBAssistant will provide users with helpful links when it finds a configuration issue.
- Quick Fix: DBAssistant will apply the suggested fix to your environment.
- Output a TSQL fix: This will give the user a TSQL query that they can run to apply the fix.
- Youtube link: A youtube video with information regarding the issue will be opened.
- Database Health Page: A link to our help page with more information will be opened.
- Jump to Relevant report: Many issues have a relevant instance or database level report that can be explored to see more about discovered issue.
- DBAssistant can be accessed by right clicking an instance on the tree menu, in the Server and Database Overviews, as well as through a link in some of the Instance Reports.
- The “Job History” Instance report now includes our new timeline chart to show users a visual history of when SQL Server Agent jobs are being ran, as well as how long they take to run. Ctrl + Scrollwheel can be used to manipulate the chart.
- A new Rewards section has been added to the navigation tree. Over time, paying users will unlock new rewards as a thank you for your support.
- Added “Log Shipping” Instance report to provide more insight on databases that are sending and receiving log shipping.
- Added command line parameters into SchemaDrift to assist with automated diffs.
- Added various new QuickScan checks:
- QuickScan check #237, Merge Replication Conflicts.
- QuickScan check #238, Ola Scripts that are installed but not running.
- QuickScan check #239, Database Health Monitor jobs failing.
- QuickScan check #240, Disabled indexes.
- QuickScan check #241, Missing Primary Keys.
- QuickScan check #242, SQL Server Error Log is inaccessible.
- QuickScan check #243, Data and Log files on same drive.
- Adding mouse wheel support to resize fonts on the generic show query dialog.
- New Instance Report “Problem Indexes” Users can now easily see if any indexes in their Instance have been disabled or have too small of a fill factor.
- New Database Level Report “Problem Indexes” Allows users to see indexes that are disabled or have too small of a fill factor at the database level.
- New Database Level Report “Backup Time Frames” Users can use this report to see when backups were completed over the past 14 days.
- New Database Level Report “CPU by Query” Shows the total and average CPU time of queries, as well as their execution counts.
- Performance Monitor has received an overhaul. This can be used to monitor CPU and Memory usage, blocking queries, and recommended indexes based on what is currently being ran. The tool can be accessed by right clicking an instance in the tree menu or clicking the tools menu drop down.
- New colors and UI on the Performance Monitor
- New charts for CPU and Memory.
- New timed report. Specify a duration and an email and the report will track and then email the results.
- Email Alert Configuration now has an Exclude option for Alerts 5002, 5003, 5004, 5007, and 5009.
May 2025 Release – Version 1139 Release Notes
Bug Fixes
- The following procedures have been altered to reduce background load and the size of the DBHealthHistory Database:
- CollapseIndexUsageOverTime
- TrackDeadlocks
- Email Alert 5005 has been altered to be compatible with AWS RDS.
See the Release Notes page for details on updates in older versions.
