Release Notes

Database Health Monitor is the Stedman Solutions, SQL Server performance monitoring tools.

Release Notes outline the changes that have been made to the Database Health application since the last version.

September 2026 Release – Version 4.1625 Release

Twenty-nine new reports covering hardware, licensing, memory, security and cost, twelve new alerts plus alerts you write yourself, a redesigned performance dashboard, sensitive data discovery, and more than nine hundred fixes.

  • 29 New reports
  • 30 New features
  • 934 Bug fixes

New reports

29 pages. Ten new database pages and seventeen new instance reports in Database Health Monitor, a Consolidation Planner on the Tools menu, and a Security Posture report in Azure SQL Health Monitor. Several of them come with a new history collection, so they can show trends and not only the current moment.

Database pages 10 reports, Database Health Monitor

  • CDC and Change Tracking: Whether change data capture and change tracking are keeping up, with capture latency, errors, cleanup, retention, side table sizes and their effect on log reuse.
  • Data Compression: Which tables and indexes would shrink with ROW, PAGE or columnstore archive compression, with the estimated savings weighed against how often each one is updated.
  • Full-Text Search: The health of each full-text catalog, with population status, crawl errors, fragments and how fresh each full-text index is.
  • In-Memory OLTP: What the memory-optimized tables hold, whether each hash index has the buckets its keys need, the checkpoint files, and which resource pool the database is bound to.
  • Module Execution Statistics: Stored procedures, triggers and scalar functions in the plan cache ranked by CPU, duration, reads, writes and executions, so an expensive trigger can finally be found.
  • Plan Guides and Hints: Every plan guide and whether it still validates, alongside Query Store hints, forced plans and the hints written into the code.
  • Sensitive Data: Finds the columns likely to hold personal or payment data by name and, when you opt in, by sampling values, then applies SQL Server sensitivity classifications from a preview script. Sampled values are never stored, shown or logged.
  • Table Growth History: Rows and size of each table over time, the fastest growing tables, and a size forecast, from a new daily table size collection.
  • Temporal Tables: How big each history table is and how fast it grows, the retention policy, period gaps, indexing and whether cleanup is running.
  • Version Store and ADR: How big the persistent version store and the database’s share of the tempdb version store are, and which session or transaction keeps them from being cleaned up.

Instance reports 17 reports, Database Health Monitor

  • Availability SLA: Monthly uptime percent, outages, restarts and unreachable windows for each instance, from a new availability collection in the monitoring service.
  • Chargeback: Each database’s share of CPU, I/O, storage and memory per month, priced with cost rates you set, from a new hourly usage collection.
  • Connections Over Time: How many connections the instance had over a period you choose, and when the spikes happened.
  • Failover Cluster: The nodes of a failover cluster instance, the current owner, quorum, shared disks and failover history.
  • Host and Hardware: Sockets, cores, NUMA layout, virtual machine, operating system, power plan, lock pages in memory, instant file initialization and memory settings on one page.
  • In-Memory OLTP by Database: In-Memory OLTP memory per database across the instance, with each database’s resource pool binding.
  • Key Exhaustion by Database: The identity columns and sequences closest to their maximum value across every database on the instance.
  • Latches and Spinlocks: Sampled latch and spinlock deltas, the top classes over the sample, and guidance for each latch class.
  • License and Edition Footprint: Cores, edition, the Enterprise features actually in use, whether a downgrade to Standard is possible, and an estate cost view.
  • Memory Pressure: Ring buffer pressure events, memory clerk history, NUMA node memory and page life expectancy per node, with a Last 7 days tab from a new history collection.
  • Module Execution Statistics by Database: The busiest procedures, triggers and functions from every database, ranked together.
  • Permissions Matrix: Every login mapped to every database, with its roles, explicit grants and denies, and the access that carries risk.
  • Sensitive Data by Database: Classified and suggested sensitive columns for every database, with payment card and SSN column counts, TDE state and a Scan All Databases button.
  • Session Waits: Each session’s wait profile and its open cursors, for troubleshooting while the problem is happening.
  • Version Store and ADR by Database: Version store size for every database on the instance, and what is holding each one.
  • Windows Event Log: SQL Server related System and Application events, including disk, cluster and memory errors.
  • Workload by Application: CPU, reads, writes and sessions per program, host and login, with a Last 7 days tab from a new history collection.

Tools

  • Consolidation Planner (Tools menu): Stacks the historic CPU, memory, storage and I/O of several instances onto target hardware to show whether they would fit together.

Azure SQL Health Monitor 1 report

  • Security Posture: Firewall rules, Microsoft Entra admins, auditing, TDE, Microsoft Defender and permissions for an Azure SQL database on one page.

New features

30 items. The theme this release is hearing about problems sooner, with more alerts and more history, and making the product calmer to use when something goes wrong.

Alerts and history

  • Twelve new built-in alerts. Failed Agent jobs, Agent jobs running long, an availability group replica that is not healthy, a changed synchronization state, a high send or redo queue, deadlocks, 823, 824 and 825 I/O errors, high severity errors, a SQL Server restart, SQL Agent not running, log percent full and TempDB space.
  • Custom T-SQL alerts. Write your own check in T-SQL and have it alert like the built-in ones, and a copy of a built-in alert now keeps its own thresholds and exclusions.
  • New history collections. Memory pressure, workload by application, daily table sizes, hourly chargeback usage, instance availability and identity and sequence values are now collected into DBHealthHistory, which feeds the new 7 day tabs and the projected exhaustion dates on Key Exhaustion.
  • The history database repairs itself. Tables dropped from DBHealthHistory are recreated during the upgrade, with a warning naming them, instead of the upgrade getting stuck and every report that reads them failing.
  • Quick Scan and the 24/7 monitoring run faster.

Everyday use

  • Redesigned main performance dashboard. The start page has been rebuilt around a new set of performance cards.
  • Save as Excel. Grids that could be saved as CSV can now also be saved as an Excel workbook, from the right click menu or Export This Page.
  • Find, filter and sort on the remaining plain lists. Deadlock Advisor, Needs Parameters Advisor, Connect to Multiple Servers and the Technical Debt object viewer now have the find bar, column filters, sorting, row count and export of the other grids.
  • Plain English error messages. Common SQL Server errors such as permission denied, timeouts, deadlocks, a read only database or a full log are shown as a short sentence saying what to do, with the original text still available in Copy details.
  • A friendlier crash dialog. An unexpected error shows a plain summary first with the technical detail behind Show details and a Copy details button, and every unhandled error is written to a local crash log.
  • Fewer interruptions. Blocking message boxes have been replaced with toast notifications, confirmation dialogs use the same wording throughout, and the old Thanks for Using reminder is gone.
  • The Settings dialog checks values as they are typed and says what is wrong, instead of silently changing a bad index, CHECKDB, backup or retention value on OK.
  • PageWalker and Performance Viewer remember their window size and position, and Log Reader asks for its backup file in one labeled dialog instead of two prompts.

Connections

  • Safe server removal. Removing a server from the list asks first and offers Undo for the rest of the session.
  • Registered Servers round trip. Export and import through SSMS Registered Servers now keep each server’s alias and server type, and a bulk import tests credentials in the background with a Skip remaining option.
  • DR has been added to the list of server types.

Reports

  • Key Exhaustion replaces Identity Column Usage. The page now covers sequences as well as identity columns, and shows a projected exhaustion date from the collected growth history.
  • Backup Status has a Last Diff column showing the most recent differential backup.
  • The Query Store reports are hidden for the model database.

Quick Scan

  • Three new checks. @@SERVERNAME is NULL or empty, a linked server points back at the instance it is defined on, and @@SERVERNAME does not match the actual server name.
  • Ola Hallengren’s maintenance solution is no longer bundled. Quick Scan points to Ola’s site so the latest version is always the one installed.

Tray and service

  • Notification settings. The tray’s Settings tab turns balloon notifications on or off and sets the repeat interval, with the value checked as it is typed.
  • Snooze notifications. A Snooze Notifications menu silences balloons for 15 minutes, 1 hour, 4 hours, until 8:00 AM or until turned back on, and survives a restart.
  • Health you can read without color. The tray icon states now differ in shape and symbol as well as color.
  • Balloon clicks open History filtered to the server, procedure and status the balloon was about.
  • Nothing goes quiet. Notifications held back by the repeat interval are counted and reported, and a failed poll or settings reload is shown instead of being ignored.
  • The Windows service writes a startup and lifecycle log and reports a failed start to the Application event log, naming the step that failed.

Safer tools

  • Schema Drift asks before it pushes a CREATE or ALTER to a live database, showing the target server, database and exact SQL, and reports a failed results email instead of failing silently.
  • Space Recovery asks before Do it now runs, and a run that fails or is stopped partway ends with a summary of what completed and a follow-up script holding only the statements that did not.
  • Decryptionator’s buttons and DROP guard checkbox say more clearly what they do.

Bug fixes

934 tickets fixed, including 48 crashes and 42 fixes in Azure SQL Health Monitor. Most of the rest are wrong or misleading results, reports that crashed or went blank on a query timeout instead of saying so, leaked connections and drawing resources, and grids and charts that did not fit the window at 1280×900 or in split view.

September 2026 Release – Version 4.1540 Release

Sixty-three new reports, a server type on every connection, exporting and remembered window layouts, a tray icon that reports on the service, and more than five hundred fixes across crashes, wrong answers and pages that did not fit the window.

  • 63 New reports
  • 25 New features
  • 515 Bug fixes

New reports

63 pages. Twenty-five Query Store reports and fifteen SSRS reports in Database Health Monitor, plus twenty-three more plan, workload, capacity and storage pages in Azure SQL Health Monitor.

Query Store suite 25 reports, Database Health Monitor

  • Query Store Health: Whether Query Store is still collecting, and whether the history it claims to hold is really there.
  • Automatic Tuning: The plan regressions SQL Server found on its own, and whether it was allowed to force the earlier plan back.
  • Batch Mode Candidates: Which busy queries are still running one row at a time, and what batch mode would be worth.
  • Change Significance: Whether a query’s change in duration or CPU is larger than its own run to run variation could produce.
  • Cost Drift: Whether each busy query still costs what it used to per execution, and when that changed.
  • Deployment Impact: What each procedure, function and trigger cost before and after its own change.
  • Duration Spread: Which queries have a worst case that is pulling away from their typical case.
  • Hourly Drift: Which hour of the day is getting heavier or slower than that same hour used to be.
  • Key Lookups: Which indexes send the busiest plans back to the table, which columns they went back for, and what a covering index would remove.
  • Latency Service Levels: Whether queries finish within a target you choose, and which ones miss it most often.
  • Load Sensitivity: Which queries are only slow when the database is busy, and which are slow on their own.
  • Parameter Sensitive Plans: Whether each statement SQL Server 2022 split by parameter value has a split that changed anything.
  • Performance Baselines: Which queries have recent readings that break limits drawn from their own earlier history.
  • Plan Differences: What is actually different inside the two plans a statement has been running, operator against operator.
  • Plan Resource Profile: Two plans for one statement, measured on the eight resources Query Store keeps.
  • Plan Survival: How long a plan lasts before the optimizer replaces it, and which queries change plans most often.
  • Query Feedback: Every correction SQL Server 2022 has made to a plan on its own, and the ones it tried and took back.
  • Rank Movement: Which queries are climbing toward the top of the ranking before anybody complains about them.
  • Residual Predicates: Which seeks and scans read rows only to throw them away, and where in the key the column that does the throwing away should sit.
  • Session SET Options: Which statements were compiled more than once because callers connected with different SET options.
  • Slow Periods: When the database ran slower than usual, and which queries brought work with them or were only held up.
  • Statement Hot Spots: Which statements inside a busy procedure, function or trigger run far more often than the module around them, which is what a loop looks like.
  • Throughput and Latency Headroom: What an execution costs at each level of load, and where the cost passes twice the quiet baseline.
  • Timeouts and Failed Executions: The executions that were aborted by the client or ended in an error, and the time they threw away.
  • Workload Change: What changed between two windows of the same length, one query at a time.

SSRS suite 15 reports, Database Health Monitor

  • SSRS Caching and Execution: How every report on a report server is set to execute, and which slow, busy reports are not cached.
  • SSRS Catalog Inventory: Everything published to a report server, who published it, and how much of the catalog each item accounts for.
  • SSRS Data Sources: How each data source gets its credentials, and which ones will break a subscription because they cannot supply credentials unattended.
  • SSRS Delivery History: Which subscriptions fail to deliver, and the message each attempt left.
  • SSRS Delivery Queue: What the report server is doing right now, and what has waited long enough to be called stuck.
  • SSRS Failed Executions: Every report and status pairing that did not end in success, including runs that failed while nobody was watching.
  • SSRS Never Run: The reports, shared data sources, shared datasets and empty folders that nothing has used within the execution log’s retention window.
  • SSRS Permissions: Every role assignment, the items that break inheritance from their folder, and the users who no longer have access to anything.
  • SSRS Report Parameters: Every report’s parameters in one grid, and the reports that cannot be scheduled because a required parameter has no default.
  • SSRS Schedules: Which schedules drive nothing, have expired or have stopped moving forward, and whether the Agent job behind each one is enabled.
  • SSRS Server Configuration: Every setting the report server keeps, compared against its shipped default.
  • SSRS Shared Datasets: Which reports use each shared dataset, and which datasets nothing uses.
  • SSRS Snapshots and History: What the stored renderings weigh, and which ones nothing points at or that have expired.
  • SSRS What Fills This Database: What every table in the report server catalog and its temp database holds, in plain words.
  • SSRS Subscriptions: Everything the report server sends out on its own, and which subscriptions have quietly stopped working, with enable, disable and delete scripts on the grid.

Azure SQL Health Monitor 23 reports

  • Ascending Keys and Rows Past the Histogram: Which statistics have a histogram that stops before the data does, and what the optimizer guesses is out there instead.
  • Backup Schedule and the Point-in-Time Restore Window: Which automated backups the platform took, whether the log backups kept their cadence, and how far back a restore can reach.
  • Change Tracking and What Cleanup Leaves Behind: What change tracking keeps in its side tables, and whether the cleanup meant to bound them is running.
  • Client Waits and Results Left Unread: How long statements waited for their clients to take the rows they had ready, and which applications are waiting right now.
  • Commit Batching and What Each Log Flush Carries: How little each log flush carries against a 60 KB log block, and which statements commit a row at a time.
  • Compute Accounting and the Work No Query Explains: How much of the processor time this database is charged for belongs to no statement Query Store recorded.
  • Data File Space and What a Shrink Would Release: How much of each data file is allocated and unused, drawn as a map of the file.
  • Elastic Pool Neighbors and Who Uses the Shared Allowance: Who in an elastic pool uses the room the pool is paid for, and whether they use it at the same time.
  • In-Memory Tables and Hash Bucket Sizing: What the memory-optimized tables hold against the tier’s limit, and whether each hash index has the buckets its keys need.
  • Latch Contention and the Structures Behind LATCH Waits: Which internal structure each latch wait protects, so that a LATCH_EX at the top of the list turns into a pattern with a name and a fix.
  • Memory Allowance and What Holds It: Who holds the memory the service objective pays for, and how much the database could give back.
  • Optimizer Search Depth and Plans Cut Short: How much work runs on plans whose search was ended early by a timeout or by running out of memory.
  • Parameter Sensitive Plans and Whether Each Split Pays: Where the optimizer drew its boundaries, and whether a call either side of one really runs a different plan.
  • Peak Load and the Queries That Size the Tier: Which statements the busiest stretch of the window is made of, and how much lower the peak would be without each of them.
  • Performance Counter Ratios and the Rules of Thumb: The classic Performance Monitor ratios, measured over a live sample rather than averaged since startup.
  • Query Store Hints and Whether Each Still Pays: Whether each Query Store hint is still applied, and what a call costs with the hint against without it.
  • Replica Lag and What Commits Wait For: How far behind the primary each replica is, and how long writers were held back because a replica could not keep up.
  • Resize History and What Each Change Bought: Every time the database changed size, and whether the change bought anything the work used.
  • Resource Coupling and Which Limits Rise Together: Which governed resources are busy at the same moments, which take turns, and which is busy on its own.
  • CPU Run Queue and Who Waits for a Processor: How deep the queues behind the schedulers ran, and which statements are standing in them.
  • Serverless Billing and What Keeps the Meter Running: What the serverless tier bills for, stretch by stretch, and which of the three billing rules was on top.
  • Temporal History and What Versioning Keeps: How much history each system-versioned table keeps against the table itself, and whether a retention is holding it.
  • Workload Groups and What the Platform Runs Beside You: Who spent the CPU, reads, writes and log of the SQL instance: your queries, another database’s, or the platform’s own work.

New features

25 items. The theme this release is knowing which server you are looking at, moving results out of the product, and keeping backup and restore scripts right.

Connections and servers

  • Server types. Tag each connection Production, Test and so on. The type shows as a color chip in the server tree and can be used to sort and filter. When a new connection is hidden by the current type filter, the product now offers to show all types.
  • Edit Connection. Change a saved connection in place instead of removing it and adding it again.
  • License and instance limit state. The license state is shown in a dismissible strip, servers past the instance limit are no longer dropped silently, and the registration dialog gives a message per field.
  • Settings shared between programs. A running program re-reads the settings file when another copy has saved it, so an instance added by a second copy is listed without a restart. Saves are atomic and wait out a busy file.

Everyday use

  • Export to files. Grids, charts and pages can be exported as CSV, HTML and PNG.
  • Remembered layout. The main window position and size, the navigation tree width and the column layout of the key report grids are remembered between sessions.
  • One time window control. The same time window control now appears on the reports that have one, with a global default.
  • Find and shortcuts. Grids have a find bar (Ctrl+F) and a row count, a Keyboard Shortcuts list shows the keys, and the shell controls have accessible names.
  • Live panels say when they last updated, reconnect and retry by themselves, and stop querying while the window is minimized.
  • Fragmented Index Advisor shows elapsed time and progress, can be stopped, refuses a second start and warns before it is closed mid run.
  • Main window minimum size can no longer be larger than the screen it is on, and the window size is shown while it is being resized.
  • Guide Me tour. Bug fixes and improvements to the guided track.

Backup and restore

  • Copy the full restore sequence. Backup Status copies the complete restore sequence with every file name.
  • Striped backups. Backup Advisor restores a striped backup with one RESTORE rather than one per stripe, and Backup Size and Backup Time Frames list a striped or mirrored backup once.
  • MOVE options. Backup Advisor takes new file locations and writes the MOVE clauses for them.
  • Backup Time Frames opens the Backup Advisor for a backup, with the original restore script.
  • Log Viewer lists the log backups of the selected database.
  • Backup Status is faster on instances with a large backup history.
  • Log shipping settings. The Log Shipping report can change the settings of a chain that do not need log shipping set up again, and a right click shows the backup or restore history for the database. The Stedman log shipping procedures are now distributed in the DBHealthHistory database.

Quick Scan

  • New checks. Warn when the instance backup checksum default is not 1, when Query Store is not enabled, and offer to schedule the Ola Hallengren jobs from check 238. The outdated build check now knows SQL Server 2025.

Reports and tools

  • Download report and package definitions. A right click on the SSRS pages downloads the RDL, RSD and RDS files, and a right click on the SSIS grids downloads the DTSX package.
  • Tray icon shows service health, and notifies when monitoring fails or SQL Server is restarted automatically.
  • Decryptionator lists, reads and decrypts database DDL triggers.
  • Historic rebuild reports what went wrong. An error during a history rebuild is now reported with its detail, and repeated upgrade steps are skipped when there is nothing to do.
  • Obsolete projects removed. The Express scheduler and the component tester are no longer part of the solution.

Bug fixes

515 tickets fixed. Most of this release is behavior that was quietly wrong: a page measuring time on the wrong clock, a script that would not run on a name with a bracket in it, a grid whose verdict column sat off the edge of the window. The entries below group the tickets by what went wrong.

Crashes and exceptions

  • Failures that are the server’s answer no longer file crash reports. A rejected login, a TLS or SSL handshake failure, a toast with no window, a redraw on an instance with no main form, and the Rewards page when the licensing service cannot be reached were all reported as crashes.
  • Starting without an interactive session no longer files a crash report from the splash screen, and Azure SQL Health Monitor no longer exits at startup in that case. Test scripts hosting the assemblies no longer file crash reports either.
  • DataCache threw a missing key error when two workers expired the same entry, and could spin forever when two threads added the same key. The startup license check also threw inside its own Catch.
  • Job History, Connections by Database and the instance reports menu threw NullReferenceException or left a reader open on the shared connection.
  • Navigating between pages leaked Labels and window handles until the process failed with “Error creating window handle”.
  • Right click on a report grid threw OverflowException in the 64 bit build when the screen position was negative, and several tool menu items threw ArgumentOutOfRangeException.
  • Quick Scan Deep Scan crashed when a check timed out, and threw “Collection was modified” when a lane was still reading at the timeout. Cardinality Report crashed when a count timed out, and divided by zero on a table without columns.
  • Ignore Waits, Technical Debt settings, Backup Size, Historic Waits and Historic Version crashes on a blank or missing value, a double click on empty space, or an empty result.
  • A settings value holding an unpaired surrogate or a control character made every later save fail.

Silent failures and misleading results

  • Quick Scan fixes and the license key dialog reported success when the change had failed. Quick Scan fix dialogs now report the failure, and entering a license key no longer closes the dialog when the key could not be written.
  • A connection added, edited, removed or imported was lost silently when connections.xml could not be written, and a connection list that could not be read was overwritten.
  • Email alerts. The queue no longer sends a message without its attachments when they could not be read, and never re-sends a message the SMTP server already accepted.
  • Update All Historic Databases reported an unreachable or stuck history database as checked and up to date.
  • Overview panels kept re-running a query the login could not run. They now stop and say the login lacks VIEW SERVER STATE, and show “not read” rather than a verdict when a read fails.
  • Query Store Health reported a healthy store as empty or stopped when a read timed out.
  • Query Loading Ramp headless mode ran zero queries and exited 0 when given a parameter file with no data rows.
  • Download latest version did nothing when the installer zip was unreadable.

Wrong answers

  • Time measured on the wrong clock. Ages, uptime, recency and windows were measured on the workstation clock instead of the server’s on the Index reports, Connections pages, Msdb reports, SSRS and SSIS pages, Error Log, Server Overview, Memory Ladder, CPU and IO by Query, Missing Index and the Event Studio, Log Reader and PageWalker tools.
  • Dates and regional settings. Historic queries and generated scripts now send dates in the invariant culture, Job History and the msdb purge scripts use yyyyMMdd, and Growth Trend, Rank Movement and several pages cut days in the reader’s local time zone. Pages no longer break under a non-colon time separator or a non-English SQL login language.
  • Units and arithmetic. Total Memory converted KB to GB with 1000, IO by Hour hover text overstated IO by 1024, Log Viewer always showed a compression ratio of 100, and several time formatters mis-rounded minutes and sub-second values.
  • Backup and restore answers. Restore plans over-counted log backups when a differential applies, judged restorability from the newest full rather than the base full, and took the file check from a COPY_ONLY full. Backup Size dropped COPY_ONLY backups, Backup Time Frames drew a backup that crossed midnight from the far left edge, and Growth from Backups and Backup Speed mixed in backups restored here from another server.
  • Corruption Response Kit. Point in time scripts no longer restore a differential that finished after the stop time or apply log backups taken before the differential, heap salvage finds the heap’s pages, and salvage scripts work on identity and rowversion tables.
  • Index reports. Duplicate and Unused Indexes now compare the sort direction of each key column and no longer pick a disabled index as the keeper. Index Review, Problem Indexes, Large Tables and Index Fragmentation also had wrong counts, wrong fill factors or one row per partition.
  • Quick Scan scoring. Checks that could not run are left out of the score, the SQL Express file limit checks use the version dependent limit and add up data files only, Huge Error Log can now fire, and several checks reported the wrong row count, the wrong check number or failed on unusual database names.
  • Query Store pages. Plan Survival no longer reports “Forces not holding” for a forced plan that is current, Workload Change compares windows holding the same number of complete intervals, Rank Movement no longer marks every quiet period as partial, Deployment Impact and Schema Changes count only the Query Store time they were measured over, and Plan Differences names a change that is only a plan warning.
  • Deadlocks, blocking and sessions. Multi-cycle deadlock reports labeled every victim after the first as Winner, the blocking heat map scaled by percent_rank so a five second blip looked like a peak, Active Blocking missed cycles and chains headed by an unseen session, and grids with two requests or two transactions in one session showed one of them twice.
  • Historic Waits charts added an extra day, or dropped the last day, at several zoom levels, and the Year zoom scrolled by the wrong interval.
  • Technical Debt counted matches with LEN instead of DATALENGTH, skipped several checks and dropped the last line of each syscomments row.

Generated scripts

  • Names with a bracket or an apostrophe. Generated and executed scripts across Schema Drift, Problem Indexes, Columnstore, Partitioning, Quick Scan, VLF Advisor, Decryptionator and the report queries now double a closing bracket, quote with QUOTENAME and pass names as parameters instead of splicing them into T-SQL.
  • Rebuild and undo scripts. LOB Columns rebuild scripts carry the index’s own options and write ON [scheme]([column]) for a partitioned index, the Space Recovery VLF script rebuilds every log file, the clustering key script keeps DESC, and the foreign key health script writes one CREATE INDEX per distinct column list.
  • Log Reader undo scripts for a table with no primary key, and for a modify on computed, rowversion or dropped columns, now produce statements that run.
  • Data Compare. The sync script only re-enables triggers that were enabled, large text columns are no longer reported as changed when only DATALENGTH differs, float values compare exactly, and a DELETE is no longer scripted for a row whose large value could not be read in full.
  • Schema Drift. CREATE OR ALTER no longer becomes an invalid ALTER OR ALTER, UNIQUE constraints compare as their own object type, permission, table, key and contract scripts carry the attributes that change behavior, and same named objects in different schemas are no longer merged.

Layout, scaling and drawing

  • More than 150 grids, charts, footers and dialogs had a column, caption or button pushed off the edge at 1280×900, 1600×900 or 125 to 150 percent scaling. The verdict or advice column of the SSIS, SSRS, Query Store, msdb and index pages is now on screen without scrolling sideways.
  • Charts and panels that vanished or were painted over when the detail pane, the ad or the assistant narrowed the page, including Security Posture, Quick Scan, Deadlock and Failed Jobs lanes, and the Replication toolbar.
  • Drawing leaks. Dozens of chart controls, TimeGraph, EnhancedListView and several panels created fonts, bitmaps, brushes and tooltips on every redraw or resize and never released them.

Connections, settings and history

  • Settings and connection saves. The settings file saves atomically, serializes access between processes and no longer overwrites a change another program made. The recent servers list is saved bar separated, so a server written with a port is no longer split.
  • Connect strings quote the database name, and the Connect dialog no longer quotes a SQL authentication password twice.
  • Historic monitoring. Retention days of 0 now means keep forever, alert procedures handle white space in the ignore list, index usage tracking copes with databases in a restoring state, and the Tray history honors escaped pipes so long messages display correctly.
  • Tray passwords. SMTP and server passwords saved by the Tray are now readable by the LocalSystem service.

Azure SQL Health Monitor

  • Microsoft Entra sign in. The Tenant ID is now applied to service principal, interactive and device code sign in, and a device code with a blank Tenant ID shows the user code.
  • Retries and reloads. A statement that timed out or was already sent is no longer repeated, a reload during the first load of a page is ignored, and a typed password is kept only after it worked.
  • Wrong verdicts. Replication waits were counted as throttling, the throttling verdict tested only the top eight waits, Top Queries memory ranked a sum of peaks, and the Plan Regressions verdict said plans did not change when other rows did.
  • Connections. Import stops at the license database limit, Edit Connection reloads the open page, Back returns to the report you came from, and duplicate connections are refused.

September 2026 Release – Version 4.1517 Release

Ninety new reports, a drill-through navigation layer that connects them, actions that carry a fix from one instance to the rest of the estate, and a large pass over silent failures.

  • 90 New reports
  • 38 New features
  • 47 Bug fixes
  • 45 New chart shapes

New reports

90 pages. Three new report suites in Database Health Monitor cover the two system databases and the SSIS catalog that nothing in the product read before, plus thirty-one new plan, workload and resource pages in Azure SQL Health Monitor.

msdb suite 22 reports, Database Health Monitor

  • Agent Activity: Is SQL Server Agent up, how long has it been up, and what is running right now. Filtered to the current Agent session, so a job left running by a service restart is not reported as running today.
  • Agent Security: Who owns the automation on this instance, and who can run it.
  • Agent Settings: How Agent itself is configured, and what that is doing to msdb.
  • Alerts and Operators:  If something breaks tonight, does anyone hear about it.
  • Backup Ledger: Whether the record of the backups is itself complete, honest and maintainable.
  • Backup Speed: How fast each backup runs, and whether that is changing.
  • Data Collector: Whether the collector is running, and what it has been failing to upload.
  • Growth from Backups How big each database was, going back as far as msdb does.
  • Job Commands Every line of T-SQL, command line and script the Agent jobs run, in one place.
  • Job Step Failures: Which step of which job fails, and what it actually says.
  • Missed Runs: What was supposed to run and did not.
  • Subsystem Load: Whether Agent can actually run everything that is scheduled at once.
  • Maintenance Plans: What the plans do, and what they said the last time they ran.
  • Database Mail Setup: Who can send mail from this instance, through which server, and what is configured.
  • Database Mail History: What this instance has tried to send, what happened to it, and how long it took.
  • Mail Content: What this instance is actually putting in the post.
  • Mail Recipients: Who is on the receiving end of this instance.
  • Restore History: What has been restored onto this instance, when, from where, and by whom.
  • msdb Space and Retention: What is filling msdb, how far back it goes, and what trims it.
  • Package Store: The SSIS and DTS packages stored inside msdb itself.
  • Policy Evaluation: Whether Policy Based Management is doing anything here, and what it found.
  • Third Party Objects: What somebody else installed into msdb.

master suite 16 reports, Database Health Monitor

  • master Overview: What is in master on this instance, one line per page, and a way into each of them.
  • master Backup and Rebuild Readiness: If this server were gone tomorrow, how much of what is in master could be put back.
  • master Change Ledger: What has changed at server level on this instance, in one list, in order.
  • master Server Permissions: Who holds server level rights that no fixed role gave them.
  • master Server Triggers: Code that runs on every login or every DDL statement on this instance.
  • master Startup Procedures: What runs before anybody connects, and what somebody set as a startup parameter.
  • master Service Facts: What account this instance runs as, how it starts, and whether it has ever been changed.
  • master Endpoints: What can connect to this instance, over what, on which port, and who is allowed.
  • master Credentials: Which outside identities this instance holds, and what uses each one.
  • master Keys and Certificates: What master is protecting, and whether any of it has ever been backed up.
  • master Server Audits: Whether auditing is on, whether it is actually writing, and what it would catch.
  • master Resource Governor: Whether anything on this instance is being capped, and whether the cap is being reached.
  • master Database Properties: Which databases on this instance are set up differently from all the others.
  • master File Map: Every file of every database on this instance, including the databases nobody looks at.
  • master Footprint: How big master is, where it lives, and whether that size is normal.
  • master User Objects: What somebody installed in master, when, and what happens to it when this server is rebuilt.

SSIS catalog suite 20 reports, Database Health Monitor

  • SSIS Catalog Inventory: What is deployed here, who deployed it, when, and what has never run.
  • SSIS Catalog Health: Why SSISDB is the largest database on the instance, and whether its own maintenance runs.
  • SSIS Who Fills It: One package is writing most of this database. Which one?
  • SSIS Packages Run: What ran, when, and how it ended.
  • SSIS Running Now: What is executing at this moment, and what has been claiming to execute since a restart.
  • SSIS Package Failures: What failed, how often, and with what message.
  • SSIS Reruns and Retries: Which packages only work on the second go.
  • SSIS Package Speed: Is this run slow, or is this package always like that?
  • SSIS Batch Critical Path: The night ends at 05:12, and which package made it so.
  • SSIS Batch Completion Trend: What time the overnight batch actually finishes, and whether that is moving.
  • SSIS Schedule and Concurrency: What runs when, what runs at the same time as what, and what was never scheduled.
  • SSIS Self Contention: Is this package slow because it is slow, or because of what runs beside it?
  • SSIS Inside the Package: Which task inside the package burned the time, and how many times it ran.
  • SSIS Data Flow: How many rows actually moved, along which path, and which component held the line up.
  • SSIS Child Package Map: Which packages call which, derived from what actually ran.
  • SSIS Connection Reach: What this catalog talks to, and what breaks if it goes away.
  • SSIS Environments and Parameters: Which environment supplies what, and which parameter nothing supplies.
  • SSIS Run Time Overrides: Which runs were started with something changed, and what.
  • SSIS Job and Package Disagreement: Which Agent jobs report success on a night the package failed.
  • SSIS Dumps and Legacy Runtime: Two columns every execution carries and no report read.

Instance level Database Health Monitor

  • Bottleneck Mix by Database. What kind of problem each database, or each expensive query across the instance, has before anybody decides what to do about it. Every other query page ranks by cost; this one throws the amount out of the position and places each subject in a ternary triangle by how it divides its effort between processor, storage and contention. Databases that are offline, restoring or unreadable by the connected login are named rather than silently dropped, and so is a database with Query Store or wait capture switched off.
  • Deprecated Features, rebuilt as a report class. The old XML grid report is replaced. Descriptions now come from a knowledge table rather than a 267-branch CASE inside the XML, the counts carry a per-day rate against instance uptime instead of a raw cumulative counter, the counters are sampled twice so the page can say whether a feature is still being used right now, and a new locator layer says where each deprecated feature is being used instead of leaving the reader with an instance-wide number and nowhere to go. Statements issued by Database Health Monitor’s own collector are marked as such.

Azure SQL Health Monitor 31 reports

  • Missing Index Consolidation: The missing index requests on each table, folded into the fewest indexes that answer all of them, with create / widen in place / already covered decided per index.
  • Key Lookups and Covering Index Candidates: Which indexes send the busiest plans back to the table, which columns they went back for, and where adding columns stops paying for itself.
  • Statistics Behind the Busiest Plans: Which statistics the busiest plans were compiled against, the condition each is in now, and how much of the badly misestimated work depends on it.
  • Plan Survival and How Long Plans Last: How long a plan lasts before the optimizer replaces it, drawn as a survival curve that keeps the plans not yet replaced.
  • Plan Differences and What Changed Inside: What is actually different inside the two plans a statement has been running, operator against operator.
  • Plan Resource Profiles: Two plans for one statement, measured on all eight resources Query Store keeps.
  • Estimate Cascade: Where inside a plan the row count stopped being measured and started being guessed.
  • Residual Predicates and Key Column Order: Which seeks and scans read rows only to throw them away, and which column order would stop it.
  • Live Query Progress and Estimate Overruns: How far through its plan every long running query is, and which operator it is working in.
  • Batch Mode and Columnstore Candidates: Which busy queries are still running one row at a time, and what batch mode would be worth.
  • Cost Drift: Whether each busy statement still costs what it used to per execution, and when that changed.
  • Work Scaling and the Break-Even Between Plans: What one execution costs, priced against how much it was asked to do.
  • Row Width and How Many Fit on a Page: How wide each table’s rows are, and how many the storage engine can fit on a page.
  • Segment Elimination and the Order of the Data: How much of a columnstore index a query has to read, decided by the order the rows arrived in.
  • Session SET Options and Split Compilations: The settings the workload arrived with, and the statements compiled more than once because callers disagreed.
  • Concurrency Footprint and the Worker Allowance: How much of the concurrency allowance each query holds, and how much was held at once.
  • Lock Footprint and Escalation Risk: What each transaction has under lock right now, and how close it is to escalation.
  • Parallel Thread Skew and Idle Workers: Which parallel queries handed nearly all their work to one worker, and which operator did it.
  • Waits by Application, Host and Login: Which application, host and login is doing the waiting, and what each is waiting on.
  • Storage Latency and What Waits for It: How long one read and one write actually take on this database’s files.
  • Transaction Log Space and What Holds Truncation: How much of the log is in use, which part cannot be released, and what is holding it.
  • Resource Rooflines: Which of the service objective’s two allowances is the one standing in front of each query.
  • Service Tier Fit and What Stops You Resizing: Which sizes this database could be on would have carried the workload it already ran.
  • Burst Load and What the Averages Hide: How long each governed resource sat at the ceiling, and how much a five minute average hides.
  • Load Hysteresis and Recovery Lag: Whether a query gets slow when the database gets busy, or stays slow for hours after.
  • Slow Periods and What Runs In Them: The hours this database was slower than usual, and which queries were heavy in exactly those hours.
  • Workload Regimes and When the Mix Changed: Whether this database has been doing the same thing all window, and if not, when it stopped.
  • Workload Shifts: Which time of day each query does its work, and how wide a window it lands in.
  • Workload Turnover: How much of what runs now is code that did not exist when the window opened, and what it costs.
  • Maintenance Windows and the Quiet Hours: Where in the cycle there is a stretch long enough for heavy work, and whether it is quiet every time.
  • Read Offload and What Could Run on a Replica: How much of this database’s work never writes anything, and could run on a read replica.

New features

38 items. The theme this release is getting from a finding to the next step without leaving the product: a shared drill-through layer, actions that run the change, and a guided path for someone who knows the symptom but not the page.

Navigation and drill-through

  • Drill-through navigation across the product. A shared catalog of drill targets and a typed focus token (database, table, index, query, session, job, login, drive, wait type) means a row on one page can open the page that explains it, already filtered to the thing the row named. Reached from a new Go to group on the right click menu.
  • Right click menus on the reports that had none. A new list view base adds report-specific items to the right click menu without a second menu appearing on top of the built-in copy and filter items. Added to Backup Status, Database by Size, Failed Jobs, Job History, Large Tables, Logins, Memory Grants, TDE Status, Suspect Pages, Buffer Pool by Object, Index Contention, Table Use, Table Space Breakdown, Unused Indexes and others.
  • Session follow-through on the live pages. Sessions, Connections, Open Transactions, Blocking Tree and What Is Active share one landing routine, so a session followed from one page lands the same way on the next, with reuse of a closed session’s id detected rather than reported as the same session.
  • Error log entries lead somewhere. The classifier now reads the database, login and drive out of the fixed wording SQL Server uses, and offers them on the Go to menu. An entry that matches none of it offers nothing rather than a guess.
  • Related links rebuilt. The related-links panel is driven from an expanded catalog rather than a hardcoded list, and is covered by its own tests.
  • Ctrl+Left and Ctrl+Right walk one list. The two hand written Select Case chains behind the instance report arrows are replaced by a single ordered list, so both directions are read off the same order and a report cannot be reachable from one side only.
  • Go Back history improvements across report, database and instance navigation.

Actions: running the fix, not just scripting it

  • Run on other instances. A change that just succeeded on one instance can be run on the other connected instances, with a read-only check per instance first that says whether it already has the change. The three database loops now quote with QUOTENAME, and cost threshold counts as set at 50 or more so a server deliberately raised to 75 is left alone.
  • DBCC CHECKDB queue. Runs CHECKDB over every overdue database on an instance, one database at a time, instead of opening the single-database dialog once per database.
  • Agent job actions. Start, stop and enable a job from the Failed Jobs and Job History pages, with the pending-request state (asked to start, not yet begun) reported as itself rather than as running or idle.
  • File growth advisor. Set a file’s autogrowth to a fixed size, or grow it now, from the Files and File Utilization menus. A grow that would leave a volume below its free-space floor is refused.
  • Update Statistics window. Runs UPDATE STATISTICS for the rows selected on the Index Statistics report, rather than scripting a whole database of statistics.
  • Log chain follow-up. After switching a database between SIMPLE and FULL on Backup Status, the page now says what is left undone: the log keeps clearing until a full backup is taken, and the Agent job steps that can no longer back up that log are listed.
  • Quick Scan instance fixes moved into a shared module so the report and Run on other instances run the same statements.
  • Open in SSMS. Opens SQL Server Management Studio on the instance the report is showing, in the database the row names, with the page’s script already loaded. A Settings tab finds the installed copies, or takes an explicit path.

Guidance and first run

  • Guide Me. A guided track for someone who knows the symptom but not the page: a strip pinned to the right of the main window opens one page at a time and says what to look at on it. Tracks are defined in data, and progress is remembered.
  • Rail help panel. Replaces the fixed help text box with a panel sized to what it holds, and replaces the Select Case in MainForm that knew about six timer modes with per-page help text for the whole product.
  • Loading messages. A pool of lines shown while the product is waiting on a server, instead of a bare progress bar.

Historic monitoring

  • Historic options dialog. One place for the history database settings that were previously spread across several dialogs.
  • Historic database rebuild. A supervised rebuild of the history database with a per-step ledger (ok, skipped, failed), a confirmation that names what will be dropped, and a verification pass that reads back what the rebuild was supposed to leave behind. A rebuild that threw nothing is not assumed to have worked.
  • Databases with history that are no longer on the instance are listed rather than left invisible.

Deadlocks

  • Deadlock Advisor rebuilt. A new shredder reads the whole deadlock graph rather than stopping after the first lock, a classifier names the pattern, and a graph view draws the resources and the waits between them.
  • T-SQL colouring. The two statements at the centre of a deadlock are now coloured T-SQL in a fixed-width font instead of bare text boxes in the dialog’s proportional font.
  • Deadlock history and objects pages updated to the same shredder, so every deadlock page agrees about what a graph contains.

Interface

  • Toast notifications. Non-blocking status messages in three levels, replacing message boxes raised off the UI thread for results that only need to be seen once.
  • Themed confirmation dialogs. A shared confirm dialog with named buttons (“Delete 12 entries” / “Keep”) and question, warning and danger treatments, replacing MessageBox.Show Yes/No prompts across the alerting log, replication, Query Store enablement, and elsewhere.
  • Every Designer dialog refitted onto one base class. One baseline font and scale, consistent padding and button order, and AcceptButton / CancelButton set so Enter and Esc always do something. Around 40 dialogs.
  • Colour palette work. A rewritten colour helper with a chart palette that returns a distinct colour per series offset, tested against colour blind mode and greyscale.
  • Index Review rebuilt. The single 1,450-line control is split into a model, grid, table view, script pane, theme and writers, with a new Missing Indexes page grouped by table: the table list on top with size, write volume and total benefit, and tabs beneath for suggested indexes with a CREATE INDEX script each, the table’s columns, and the indexes it already has.
  • New chart shapes. Bottleneck ternary chart, deprecation Pareto, backup size trend, historic waits columns, msdb rank bars and time lanes, SSIS run lanes, rank bars and clock trend in Database Health Monitor; 31 new chart controls in Azure SQL Health Monitor, including survival curves, Hasse diagrams, bipartite plans-to-statistics plots, Mekko, roofline, orbit, Lorenz and phase dial.

Platform and packaging

  • Optional encryption in the connect dialog. Two new choices, Optional and Optional, trust the server certificate, for servers that offer encryption but do not require it. Saved connection strings stay readable by older versions: the words written are only ones System.Data.SqlClient accepts, and the Optional keyword Microsoft.Data.SqlClient needs is added in memory as each connection opens.
  • Crash reporting. Unhandled exceptions, unobserved task faults and background worker failures now reach the crash report endpoint with the full exception, its inner exceptions and the stack from the line that threw, deduplicated by exception type and throwing frame so one repainting bug does not file a report per frame. StedmanCore reports through a hook set by the application, so reports carry the application’s version rather than the library’s.
  • MSChart is no longer redistributed. The remaining MSChart-based charts were rewritten on the product’s own drawing code, and the MSChart redistributable is removed from the installer.
  • Licensing and update checks moved to the V4 web service in both Database Health Monitor and Azure SQL Health Monitor.
  • SQL Server build numbers updated for 2017, 2019, 2022 and 2025.
  • Settings dialog gains the SSMS path tab and additional options, with tab indexes preserved for callers that open a specific tab.
  • Single-instance mode for support captures. Crash sweep and demo recording can be limited to one instance, so a settings file holding every server ever connected does not cost a connection attempt per server.
  • Migrated to Microsoft.Data.SqlClient with the driver selectable, and NuGet package references refreshed across the solution.

Bug fixes

47 items. A large share of this release is failures that used to happen quietly: a worker that stopped with nothing written down, a page that drew an empty answer, a Catch that sent a bare message and lost the line that threw.

Crashes and exceptions

  • Blocking Monitor threw on an empty interval box. The interval was parsed straight off the text box, and the box empties itself whenever its own parse fails, so pressing a letter and then Start Monitoring threw FormatException. A “0” parsed fine and then hit ArgumentException from the timer. Neither had a Catch anywhere on the path.
  • Blocking Monitor threw ArgumentOutOfRangeException when opened before any instance had been connected.
  • The server tree lookup threw a NullReferenceException whenever the instance was no longer in the tree, and again inside the Catch that was meant to handle it. It also left a flag set, which swallowed the user’s next click.
  • Clicking during a tree rebuild threw. Tree loading pumps messages while it rebuilds, and a click that landed in that window threw.
  • Historic Query Waits Advisor threw IndexOutOfRangeException past the last time slot.
  • The server health report threw on an empty object name before the first test could be made, and threw into the outer Catch instead of skipping the object.
  • Startup subtree loading threw for every offline instance on an implicit conversion of an empty value to Double.
  • The AI panels’ background workers had no completion handler, so anything the worker threw was swallowed and the panel printed one sentence with no message, no log line and no report.
  • Index LOB Columns and related pages replaced themselves with “The report being run appears to have crashed” because the database was not set before the page was built.
  • Statistics and Table Size advisors reported faults from the UI thread, with a stack starting at the Catch rather than the line that threw, and without the exception type.
  • Incremental Shrink advisor reported server messages and code faults through the same path, so a real fault was indistinguishable from a server response.
  • Word automation failures are caught rather than taking the export down with them.
  • Unobserved task exceptions are now trapped. .NET 4.8 drops them silently, so these failures previously left no trace at all.

Silent failures and empty pages

  • The quiet auto-refresh path on the live pages threw the exception away. Sessions, Connections, Open Transactions, Blocking Tree and What Is Active each had a quiet reload that discarded any failure without writing anything, so a server that had gone away simply stopped updating. A connection failure inside a countdown threw with no message, no log line and no change on screen.
  • The Database Overview worker stopped silently on a null read, so the page came back partly built with nothing said about why.
  • A Catch on the Database Overview page returned early, which skipped hiding the progress bar and starting the refresh timer.
  • An unmatched branch on the Database Overview page drew nothing, leaving the reader on the page they were already on with no indication anything had happened.
  • The Technical Debt scan lost its worker’s error. The failure went into e.Error with nothing reading it, so there was no log entry and no rows.
  • Technical Debt now counts and reports encrypted modules rather than skipping them silently.
  • Quick Scan showed ex.Message in a message box and nothing else for each of its checks, not even a log line, so nothing was ever filed. Its Catch also appended “Historic monitoring must be enabled” to every failure regardless of cause.
  • Instance Problem Indexes skipped the refresh timer because it constructed the report class directly.
  • Menu items that could not resolve their target did nothing. They now open the picker with nothing bound, or log the reason, rather than silently ignoring the click.
  • Report failures inside DatabaseHealthComponents were invisible to the crash reporter: a section that threw showed red text, and a worker that threw showed a status line, and neither was reported.
  • A failure during a silent report run had nowhere to go and was discarded; it is now written down.

Wrong answers

  • Deprecated Features printed blank descriptions for the rows that mattered most. The description CASE used the collapsed documentation label for compatibility level, so six counters on SQL Server 2019 and seven on 2022 came back NULL; Database Mirroring missed the same way. Twenty more branches matched no counter published by any supported version. The counts also had no denominator, so a count of 3 on a server up for 400 days and one up for ten minutes looked identical.
  • The Failover Compatibility report drew an empty chart and a toolbar of dead controls on an instance that is in no availability group. It now says so in a message, and reads the replicas before building anything.
  • The deadlock query threw away every lock after the first, and used four separate OUTER APPLY nodes() calls that could not be lined up with one another.
  • Quick Scan instance fixes failed on database names containing ]. The names were bracketed by hand, so ALTER DATABASE failed to parse (Msg 156) and that database kept its setting while the rest changed.
  • An inner join dropped endpoints with no TCP row, and dropped job history rows whose job had been deleted.
  • A chart with more series than the palette had entries gave every series the same colour, because the palette ignored the offset it was passed and returned black.
  • An SSIS query counting executions against seven days of job history reported three weeks of packages as if they were in the window.
  • A time range derived from marks alone drew a single mark as the whole of time.
  • A chart segment was found by walking the hit test downward, which arrived at the wrong column.
  • A deprecation locator reported line 1 for every module that matched only the second alternative of the pattern.
  • Databases the connected login cannot enter are reported as rows rather than failing the whole estate-wide scan, which is the failure that silently dropped one database out of a scan.
  • A query using syntax added in SQL Server 2017 or 2022 would fail the batch at compile time on every older instance, which no TRY/CATCH can rescue.
  • Large Tables opened the wrong drill target (expanding the table’s database instead of the Disk Space report for the instance).
  • Job History opened the whole list instead of the job that was picked.
  • The Waits Advisor was reachable only by double click.

Connections and history

  • The historic upgrader failed on a clean database. A version step was missing, and the waits index script ran at a version some databases had already passed; the index creation moved to a later step and a duplicate index definition was removed.
  • Testing the history connection could replace the application-wide shared connection with a failed one, and left a Pooling=false connection open from a previous run.
  • Overview workers left a reader open on the shared connection, failing the next stage with a second-DataReader error when a load was cancelled early.
  • Dropped and refused connection errors were reported as dropped connections regardless of cause, so a server refusing the query read the same as a network drop.
  • A connection kept by one step was dropped by the next, leaving the page to reconnect for work it already had a connection for.
  • The historic waits report is released when the history database is replaced, so its date range, drill path and filters do not describe rows that no longer exist.
  • Historic monitoring alert and tracking procedures corrected for long running queries, blocking queries on both SQL 2016+ and older builds, CPU snapshots, and the DBCC CHECKDB alert.

September 2026 Release – Version 4.1501 Release

Database Health Monitor 4 is now available, representing a major overhaul rather than a visual refresh. Nearly every existing report has been rebuilt with improved queries, charts, verdicts, and drilldowns, while dozens of entirely new reports answer questions the previous version could not. To celebrate the release, all new users—and anyone whose previous trial expired—can use Version 4 free through October 31, 2026.

The redesigned interface includes full dark-mode support, more meaningful charts, plain-English findings, severity indicators, and one-click chart copying for tickets and emails. Performance has also improved through expanded background processing, with Schema Search now approximately three-and-a-half times faster. Registered servers can be imported and exported, making it easier to move Database Health Monitor to a new computer.

New reports include Blocking Tree, Recovery Exposure, Migration Planner, Security Posture, Optimized Locking, TempDB Metadata Contention, and Table Space Breakdown. Availability Groups, replication, log shipping, and linked-server reports have also been rebuilt to clearly show whether data is still moving and where problems exist. Version 4 is automatically tested across every supported release from SQL Server 2008 through SQL Server 2025.

The release also includes Azure SQL Health Monitor, a separate 63-report product designed specifically for Azure SQL Database. It analyzes Query Store, resource limits, throttling, plan regressions, memory grants, TempDB spills, read amplification, and cardinality-estimation accuracy without installing anything or creating Azure resources. One license covers both products, and existing Version 3 users can upgrade while retaining their registered servers, settings, and DBHealthHistory data.

August 2026 Release – Version 1458 Release notes

New Features

  • More details added to the Blocking Query email.
  • Query Loading Ramp Additions
    • Live P95 latency trend chart (5th chart panel, full-width 3rd row) + latency section in HTML report
    • Think time jitter % field in config dialog, applied per-session
    • Run-phase-only avg query time (excludes ramp-up queries from the mean)
    • Command-line / headless mode
    • Option to display all the queries and plans (“Peak Plans”) at the highest CPU point of the load test.
    • Per-query result summary in the report
    • UI to HTML report export
    • Breaking point finder load test
  • Added role [DatabaseHealth_Viewer] for user access with least privilege
    • This sets permissions on master, msdb and dbhealthhistory
  • Added Stored Procedure [AddDBHealthViewer] for assigning role [DatabaseHealth_Viewer] 
  • Added QuickScan check #190. Alerts if DBCC CHECKDB has found allocation or consistency errors.
  • Added an Email Alerts Overview panel showing the number of alerts enabled on each server.
  • Alert emails now include the alert number and alert name in the subject line for easier identification and inbox filtering.
  • Alert history filtering now has a 1 day option, and the selected timeframe now sticks after a refresh instead of resetting to the default.
  • Added the ability to delete alert history, and a double click option on the alerting reports to view the alert detail.
  • Long Running Query alerts are now combined into a single email instead of one per occurrence, and now include a count of long running queries and the full query text.
  • Merged the tray icon’s 3 separate dialogs (server configuration, history, and settings) into one dialog with tabs.
  • The tray icon history dialog now supports filtering, an F5 refresh option, and an option to clear history.
  • Added a watchdog to the tray icon and Windows service that detects a stopped SQL Server or SQL Agent and automatically restarts it, aimed at older SQL 2012 servers. Note: if the SQL Server needs to be stopped for maintenance, the Database Health Monitor service should also be stopped if this feature is enabled.
  • Added a fallback stored procedure for sending the daily checkup email if the primary one fails, and a setting to ignore QuickScan items on the daily checkup.
  • Added a new QuickScan check for entries in the DBHealthHistory.dbo.ErrorLog table.
  • QuickScan results are now ordered with Urgent items placed at the top for immediate review.
  • Refreshed the main dashboard with a modernized card based overview.

Bug Fixes

  • Fixed a bug that was preventing the technical debt report from being shown.
  • Quickscan check #66 was slow if Active Directory was slow. Refactored and reduced the number of AD calls needed for AD users on this check. Overall significant speedup on this check.
  • Fixed alert #5008 sending multiple duplicate emails.
  • Fixed alert #5006 not honoring its custom exclusions and its “greater than” value filter.
  • Fixed a bug where DBHealthHistory databases could be created with AUTO_CLOSE ON, which can cause performance issues and temporary unavailability after the last connection closes.
  • Fixed handling of servers where the ssisdb database exists but its SSISDB catalog does not.
  • Fixed a possible null reference in CPU logging.
  • Fixed a duplicate ID in the QuickScan results, found before deploying.
  • Fixed a missing space in the message for QuickScan check #214, Agent Job Runs at Startup.
  • Fixed the tray application allowing two instances to run at once, and not picking up an updated binary correctly.
  • Fixed a bug where connecting to a server by an alias other than the internal server name could prevent the IO By Hour and Deadlocks By Hour Database level reports from being shown.

General Maintenance

  • Optimized QuickScan check #71 to avoid calling suser_sname and is_srvrolemember, improving performance; check #13 is now excluded on RDS.
  • Optimized QuickScan check #66 (sysadmin owned database check) to reduce Active Directory calls, significantly speeding up scans on servers with slow AD.
  • Extended the timeout on the Windows service’s 15 minute job, and added per procedure log retention so the 30 second checks don’t push the 15 minute logs out too quickly.
  • Made several historic database upgrade steps RDS safe.
  • Added indexes and columns to the DBHealthHistory.dbo.ErrorLog table.

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.

April 2025 Release – Version 1135 Release Notes

Bug Fixes

  • Fixed a bug in the TDE Status report where the Encryption Status wouldn’t show indication colors.
  • Fixed a bug where the DBHealthMonitor – Alerting job would fail on case sensitive databases.
  • Fixed a bug in the Inventory reports that stated sql2022 servers were sql2012 servers.
  • Altered DBHealthHistory Historic Monitoring Cleanup Jobs to reduce the size of the DBHealthHistory Database.

New Features

  • Prefixes can now be added to the email alerting tool to help differentiate between instances alerts.

April 2025 Release – Version 1131 Release Notes

Bug Fixes

  • Fixed a bug in QuickScan check #221.
  • Fixed a bug in QuickScan check #215.

April 2025 Release – Version 1130 Release Notes

Bug Fixes

  • Historical Data jobs cleanups have been altered to reduce table sizes in the DBHealthHistory Database.
  • Fixed a bug where an offline database would prevent statistics to be shown.

New Features

  • Added QuickScan check #237, checking for Merge Replication conflicts.
  • Added Email Alert 5010, sends alerts when blocking has been detected over a chosen period of time.

March 2025 Release – Version 1122 Release Notes

Bug Fixes

  • Fixed a bug in the Long Running Query advisor where returns and line breaks were not being shown correctly. The queries look much better in this report now.
  • Fixed a bug in the Job Schedule Instance Report that was preventing jobs from showing up properly.
  • Fixed a bug in the Email Alerting Dialog that prevented Duplicate Alerts from being configured.
  • Fixed a bug in Email Alert 5002 that would alert on offline databases.
  • Fixed a recursion bug that was occurring in the Instance level Blocking Queries Real Time Chart.

New Features

  • Modified the What is Active report to include snapshot details when running on SQL Server 2022 with Snapshot or RSCI Isolation levels.
  • Added a new right click menu item to the Blocking Queries report “Kill all blocking and blocked session IDs” to use as an emergency report when you have massive amounts of blocking, but before you may consider restarting your instance.
  • Added CTRL + MouseWheel roll for most of the lists and some of the text areas to resize the fonts.
    https://www.youtube.com/watch?v=Vxh_kA-JR1s
  • New database level “Table Use” Report that shows when tables were last queried.
  • New “Related:” link in the top of some of the database level reports to make it easier to jump around from report to report.
  • Adding Video links into the related links section to link to specific Youtube videos that are related to the current report.
  • Added check #236 for linked servers configured without data access as a warning.
  • Added a new Cardinality Report to provide more context on the cardinality of suggested index columns. This is accessible through a right click option in the Missing Indexes Report.
  • New “TDE Status” Instance Report that shows an in depth overview of TDE statuses on your databases.

February 2025 Release – Version 1118 Release Notes

Bug Fixes

  • Fixed the Last known good CheckDB report to run on RDS SQL Servers.
  • Fixed the Databases By Size Report to run on RDS SQL Servers.
  • Fixed the File Utilization report to work on RDS SQL Servers.
  • Fixed a conversion bug in the Connections Advisor.

New Features

  • New Reports and tracking for Deadlocks.
    • Deadlock tracking added to every 15 minute job.
    • Database level Deadlocks by hour report added to show the times of the day or week that deadlocking is occurring.
    • Database level Deadlocks by object report added to show what database objects have the most deadlocks.
    • Database level Deadlock History report to see the running history of deadlocks for a given database.
    • Deadlock Advisor to show specific details on a given deadlock to help diagnose deadlocks.
    • Instance report Deadlocks to show users a history of recent deadlocks.
    • Instance report Deadlocks by database to see which databases are having the most deadlocks.
    • Instance report Deadlocks by hour to show a server level report of the times that deadlocking is occurring.
  • Added a new tool “SQL Server Email Alerting” accessible by right clicking an instance name in the tree menu. Learn more about it here: https://databasehealth.com/EmailAlertingAdvisor
  • New “Related:” link in the top of the instance reports to make it easier to jump around from instance report to instance report.
  • New Instance Report Email Alert Log added to show a history of all email alerts that are triggered as well as an overview of any recently active alerts.
  • Moved the startup licensed user check to a new server for a more reliable licensing check.  Too many outages on the old server.
  • Added a menu item in Database Health Monitor that links to SchemaDrift, along with SchemaDrift now coming installed with Database health Monitor.
  • Created a new report called the SQL Server Health Report that will summarize most of the important instance level reports and allows for exporting to HTML and to a Word Document.
  • Added a new instance report “Replication Publishers and Subscribers” to monitor replication on your SQL Server instance.
  • Added a new instance report “Disk Latency by Hour” to show a historic overview of disk latency.
  • Double clicking on rows in the Active Queries and Blocking reports bring up the Connection Advisor allowing users to kill problematic sessions.
  • Users can now copy all Session ID’s with a right click option on the Blocking Queries instance and database reports.
  • Server overview real time charts can now be moved to be adjusted to user preference. Access this option by right clicking on a chart.

January 2025 Release – Version 1084 Release Notes

Bug Fixes

  • Fixed a bug in the blocking queries report where it was crashing when there were more than 100 levels deep of blocking, due to the MAXRECURSION default on CTE’s.
  • Fixed a bug in the Indexing page where changing between dark and light mode wasn’t functioning properly.
  • Fixed an overflow error in the Schema Search page.

New Features

  • Added a revitalized version of SchemaDrift into the Database Health Monitor install. Look in the Stedman Solutions program folder for SchemaDrift, our tool to track database changes and to compare schema between databases.
  • Added the option to jump to the VLF report in the File Utilization context menu for log files.
  • Added a filtering option to Schema Search, you can now filter Schema Search by object type and database.

December 2024 Release – Version 1080 Release Notes

Bug Fixes

  • Fixed a resize bug, causing resizing issues across Database Health Monitor.

New Features

  • Added New Server Tree “VLFs” Users can now visualize their log file and shrink the file size with the push of a button.
  • Added New Instance Report “Schema Search” Search and compare schema across all databases in an instance.
  • Added New Instance Report “SQL CPU Schedulers” to monitor SQL Servers CPU usage.
  • Added new Instance Report “Deprecated Features” Utilizes new report type, bubble tree map chart.
  • Historic Report “File Size Over Time” is now displayed using a line graph.
  • Added Average Page Life Expectancy chart to the “Performance History” Instance report.
  • When adding other waits to hide in Historic Waits, the Ignore Waits advisor will now provide a drop down list of all wait types.

October 2024 Release – Version 1074 Release Notes

Bug Fixes to our SQL Server performance monitoring tools

  • Corrected old icon on the historic waits advisor dialogs.
  • Fixed Error on Quickscan Check 227

New Features for our SQL Server performance monitoring tools

  • Adding additional wait documentation into the historic waits advisor for some common wait types.
    • PREEMPTIVE_OS_PIPEOPS
    • PREEMPTIVE_OS_QUERYREGISTRY
    • PAGELATCH_EX
  • Added Blocking Queries chart to database level Real Time Overview. Clicking on chart takes user to Database level Blocking real time page.
  • Added Active Queries chart to database level Real Time Overview. Clicking on chart takes user to Database level Active Queries real time page.
  • Quickscan report check 233: Checks if a SQL Server Agent job has been configured but not scheduled
  • Added Instance Report “Performance History”
  • Added New Server Tree Historic Report “File Size Over Time”
  • Color Blind mode has been added to alter chart colors for accessibility.

September 2024 Release– Version 1073 Release Notes

Bug Fixes

  • Fixed Error on Quickscan Checks 91 and 228
  • Fixed Error whilst running Quickscan on a instance without DBHealthHistory Database

September 2024 Release– Version 1072 Release Notes

Bug Fixes

  • Added Read Uncommitted to the trackTempDBUsage procedure. This was causing too main waits.
  • Fixed QuickScan check 91
  • Changed Dark Modes background color for ease of use.
  • Added Dark Mode persistence between sessions.

New Features for our SQL Server performance monitoring tools

  • QuickScan report add a check for large differential backups(221).
  • QuickScan report add a check for usage of UPDLOCK where it causes blocking and excessive wait times(222,223).
  • Quickscan report check 224: Looks for User defined assemblies in each database
  • Quickscan report check 225: Looks at database snapshots and how many
  • Quickscan report check 226: Finds database snapshots that are older than 60 days
  • Quickscan report check 227: Finds database snapshots that are greater than 250mb and greater than 50% of original database.
  • Quickscan report check 228: Check for Very low disk space on system (<5%)
  • Quickscan report check 229: Checks for a specific error related to SQL 2019 CU 27
  • Quickscan report check 230: Checks to see if the remote query timeout is below the default
  • Quickscan report check 231: Checks to see if SA has active connections
  • Quickscan report check 232: Checks to see if TDE encryption has been enabled on any db’s. If yes, checks to make sure no other db’s were missed.
  • Added Blocking Queries chart to actively monitor any blocking queries. Clicking on chart takes you to Blocking Queries Instance Report.
  • Added Active Queries chart to actively monitor any active queries. Clicking on chart takes you to the What is Active Instance Report.
  • Updated Instance report panel to include 3 new sections
    • New drop down for selecting any available instance report
    • Most used section for all your go to instance reports
    • Recommended section for fresh installs
  • Added Instance report for Active SA connections
  • Added Index Report for Large Objects existing in the Column field
  • Added Instance Report for Large Objects existing in the Column field

July 2024 Release– Version 1067 Release Notes

Bug Fixes to our SQL Server performance monitoring tools

  • Fixing bug with sorting of dates in the grids throughout Database Health Monitor. Improved formatting on the text version of date times.
  • Fixed bug in the inventory report where SQL Server 2022 was being reported as an unknown version.
  • Bug fixed with a period or other wacky characters in the filename for shrinking and expanding vlfs. Vlf Advisor.
  • Increased security level for internally encrypted items to use a more secure option. Removed 3DES.
  • Bug fixed where certain reports were still accessible, but failing even though the user had incorrect permissions
  • Fixed potential security exploit introduced in the system.txt.json version 8.0.3 by upgrading to 8.0.4

New Features for our SQL Server performance monitoring tools

  • Added tracking of all database file sizes over time as part of the historic monitoring. Currently it is just tracking it, next step will be to add a report to show the size over time
  • Added check #220 into the QuickScan report to check for the CommandLog table (from Ola Hallagren’s scripts) growing too large and not being purged.
  • Updated the historic reporting jobs to cleanup from the CPU table to delete at 60 days if there is no purge date specified to keep unlimited growth from occurring.
  • Added a report that finds large tables that contain images that could be compressed to free up disk space.

Mid February 2024 – Version 1055 Release Notes

New Features

  • Added Upgrade Recommendations instance report.
  • Added double click event on the TempDB High Usage Usage report to show the full query.
  • Added double click event on the What is Active report to show the full query.

General Maintenance

  • Adjusted the heat map colors for the tempdb usage report to have to be above 2gb before showing red. Thus making low usage tempdb never show red.

Performance Improvements

  • Reduced the startup time by more than 90% when starting Database Health Montior with many SQL Servers connected. Even more so when your SQL Servers have many databases. The first time you click on a database is may take a moment longer, but the startup time is dramatically reduced. If you are using just 3 or 4 SQL Servers you may not notice the difference, but anyone connecting to more than 10 SQL Servers, or to SQL Servers with dozens or hundreds of database should see a significant improvement. For instance on a production system connected to 34 sql servers at varying locations the startup time was about 1 minute and 15 seconds. Now it is about 4 seconds.

February 2024 – Version 1052 Release Notes

New Features

  • Added columns to the IO by drive report to include average latency details. (Customer Requested)
  • Added check #212 into the QuickScan report. This report when SQL Server is not using all of the cores assigned to the system.
  • Added 5 more checks into the QuickScan report around default settings, and more on the number of cores the server is using.
  • Add 2 more checks into the QuickScan report specifically around the size of the DBHealthHistory database log file to prevent excessive growth.
  • New dynamic resizing on the gray buttons for the instance reports on the main instance page so that they fit better on narrow screens.
  • New TempDB High Use Report that can be accessed by the historic tree menu under TempDB or from a hot spot in the TempDB Heat map.

General Maintenance

  • Updated QuickScan check #28 for full recovery model databases with no log backup to exclude databases that are offline.
  • Updated some of the historic monitoring to purge older data more efficiently, allowing for longer term retention and a smaller DBHealthHistory database data and log file.
  • Updated check #18 on the QuickScan report for no recent backups to exclude databases that are offline.
  • On the blocking query email, each block was being shown multiple times in the history. Now just distinct blocks are being shown.
  • Set the maximum size on the DBHealthHistory to be 2gb rather than the default which is much larger. 2gb is probably overkill, but at least it has a limit to prevent it from getting too big if backups are not run and the database is in full recovery model.

January 2024 – Version 1039 Release Notes

New Features for our SQL Server performance monitoring tools

  • Added a new TempDB Historic report. Shows the historic TempDB use by hour.

General Maintenance

  • On the Quick Scan, Deep Scan report, limiting the number of outdated statistics to 100, to limit the report when there are thousands of outdated statistics. After 100, it just says and XXX more outdated statistics.
  • Added Security report in the left/right navigation of instance reports.
  • Add info on how to see the labels and Navigation notes to Large Tables Report.
  • Improved formatting on the Enterprise Index Report. Fixing issues with the formatting with really long index names.
  • Updating a number of links to DatabaseHealth.com to use https:// instead of http://.
  • Update copyright to extend to 2024.

December 2023 – Version 1034 Release Notes

New Features for our SQL Server performance monitoring tools

  • Added new agent job, tables and procedures in the historic monitoring to track index usage over time. The purpose for this is to be able to determine what indexes are not being used and to determine if over time they are safe to delete. The concept of worthless indexes come from this, meaning indexes that have lots of update and no seeks, scans or lookups. The flip side of that is we can use this data to analyze what are the most valuable indexes on the system. Meaning those that are providing the most seeks, scans and updates. The current version just has tracking, in the next update we will include new index reports to report on this data.
  • Rearranged all the indexing reports into a group called indexing.
  • Added new reporting for Worthless indexes, which if your historic monitoring is enable you will be able to see over time what are the indexes that are never being used.


General Maintenance

  • Add more description to the RESOURCE_SEMAPHORE description on the Waits Advisor page.
  • In Long running queries report, add help to show ms for Total Run Time, Longest Run, and Average Run.
  • Added text in performance viewer information boxes.
  • Speed improvements on the historic version upgrader. This is the component that keeps the DBHealthHistory database up to date with the latest version of the code.
  • Updated dark mode scheme for heat map reports.
  • Add more description to the RESOURCE_SEMAPHORE Waits Advisor page.

November 2023 – Version 1028 Release Notes

New Features for our SQL Server performance monitoring tools

  • Added Resource and Resource Info to the What is Active report to help show more details on what is causing the wait.
  • Added check #211 into the Quickscan report. Checking for backups going to new locations.
  • Add more reports into the dark color mode, improving the overall look of the program in dark mode.

General Maintenance

  • Improved error handling on background threads. If a server connection is lost it attempts to reconnect rather than submitting a crash report.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixing bug #938 – issues with date spin issue on the history job. Job is now created with a more modern date, rather than 2012 as the start date.
  • Fixed bug with a vertical bar | in passwords causing server login to fail.

October 18, 2023 – Version 1026 Release Notes

General Maintenance

  • Updated the background error reporting to include more details on the specific error location on background thread crashes. This will allow our team to do more with tracking crash reports.

Bug Fixes to our SQL Server performance monitoring tools

• Fixed a bug with a lost SQL Server connection not setting the reconnect option.

October 2023 – Version 1024 Release Notes

New Features for our SQL Server performance monitoring tools

• Added QuickScan check #209 for slow error log access.
• Added QuickScan check #210 for full and differential backup files missing from backed up location.

Bug Fixes to our SQL Server performance monitoring tools

• Fixed a bug in connect strings with a single quote in the password. These were causing connections to fail and have now been corrected.
• Change message color from black to red when there are No Results Found in a report. To be readable in normal and dark mode.
• Adjustment of Quickscan item #41 threshold to be 10,000 backup messages per database for a more reasonable notification point.
• Fixed a bug with the server overview / database by sizes report where it was throwing a crash report of the database was offline.
• Fixed a bug in the online error reporting to not send reports on connection timeouts caused by a slow SQL Server. This helps reduce the noise in our error reports and allows the team to focus on the right issues.

August 2023 – Version 1022 Release Notes

New Features for our SQL Server performance monitoring tools

  • Added QuickScan check #207 for too small of a SQL Server error log rollover size.
  • Added ability to delete orphaned users from the orphaned users report if they are not mapped to any objects.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a bug in the charts with integer size overflow on a couple of the reports, including the missing indexes report.
  • Fixed a bug in many of the real time reports for specific databases where the report would crash when a user with insufficient permissions tried to access the report. Now instead details on the missing permissions are displayed.
  • Fixed a bug in connect strings with a semicolon or a single quote in the password. These were causing connections to fail, and have now been corrected.

June 2023 – Version 1018 Release Notes

New Features for our SQL Server performance monitoring tools

  • Updated the licensing page to make it look less like an html 1.0 web page. Added updated links to purchase the product, and informative details.
  • Sped up the reconnect process. Previously if the application sat for more than 24 hours, the first click would cause all the database connections to refresh. That has been updated to happen during off hours, and when you click on the program for the first time after sitting for 24 hours it should be active immediately rather than waiting for SQL Server to reconnect. Massive speed improvement.
  • For databases that show up in the tree view as “disconnected”, when you click on one of those it attempts to reconnect. This is handy as the only way to that before was to refresh the entire tree view which would reconnect all databases.

Other Items

  • Updates to the licensing, and additional options for points.

May 2023 – Version 1015 Release Notes

New Features for our SQL Server performance monitoring tools

  • QuickScan report, added an option to assign a Scan item to a user. If you assign item 52 to a user, then all item #52 on that instance get assigned to that user.
  • Additional features for our Daily Checkup Customers being able to snooze items on the Daily Checkup Report from the Quickscan right click menu.
  • Performance Monitor now starts tracking automatically when you open the application without needing to hit the start button.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a case sensitive query issue on QuickScan check #206 the check for SQL Server Express data files approaching their size limit.

April 2023 – Version 1009 Release Notes

Bug Fixes to our SQL Server performance monitoring tools

A quick update after last weeks release with just one bug fix included. For those with paid licensing there was a bug that when an updated version is available that the licensing check fails, and shows that you only have one license. This has been fixed in version 1009.


• Fixed a problem with licensing, when a new update was detected, the licensing check did not succeed. Meaning that the licensing would not show the correct number of connections when there is an update available. This has been fixed going forward.

April 2023 – Version 1008 Release Notes

Updates

  • Updating version numbers for the latest version of SQL Server in the Quickscan report and other areas that check for updates being available.
  • Renamed the “Alas Database” popup menu to “Alias Server”, it was more accurate of a description.

Bug Fixes to our SQL Server performance monitoring tools

• Quickscan Report: fixing case sensitive column name issue in the Quickscan report with case sensitive databases.
New Features

• Added a refresh button in the treeview on the database right click menu.
• Added check #206 to the Quickscan report. Looking for SQL Server express servers with file sizes approaching 10gb.
• Added 2 indexes to improve performance on the historic waits monitoring.

January 2023 – Version 1007 Release Notes

The January 2023 release of Database Health Monitor includes bug fixes and feature enhancements.

New Features for our SQL Server performance monitoring tools

• Indexes added on the DBHealthHistory monitoring database for improved performance.

December 2022 – Version 1006 Release Notes

The December 2022 release of Database Health Monitor includes bug fixes and feature enhancements.

New Features for our SQL Server performance monitoring tools

  • Code signing now on the installer so that you know it is a valid installer from Stedman Solutions.

November 2022 – Version 1005 Release Notes

The November 2022 release of Database Health Monitor includes bug fixes and feature enhancements.

New Features

  • New columns for clustered index size and non-clustered index sizes to the Tables Sizes report.
  • Upgraded to .Net framework 4.8 and Visual Studio 2022.
  • Quick Scan check
    • Added check for SQL Server 2012 beyond end of life.
    • Added check for backups to NUL.
    • Changed links to help to be https instead of http.
    • Added check for untrusted foreign keys in any database on the system.
  • Security check, added a number of additional best practices checks to the list.
    • Ensure ‘Ad Hoc Distributed Queries’ Server Configuration Option is set to 0
    • Ensure ‘AUTO_CLOSE’ is set to ‘OFF’ on contained databases
    • Ensure ‘CLR Assembly Permission Set’ is set to ‘SAFE_ACCESS’ for All CLR Assemblies
    • Ensure ‘CLR Enabled’ Server Configuration Option is set to 0
    • Ensure ‘clr strict security’ Server Configuration Option is set to 1
    • Ensure ‘Cross DB Ownership Chaining’ Server Configuration Option is set to 0
    • Ensure ‘Database Mail XPs’ Server Configuration Option is set to 0
    • Ensure ‘Hide Instance’ option is set to ‘Yes’ for Production SQL Server instances
    • Ensure ‘Ole Automation Procedures’ Server Configuration Option is set to 0
    • Ensure ‘Orphaned Users’ are Dropped From SQL Server Databases
    • Ensure ‘Remote Access’ Server Configuration Option is set to 0
    • Ensure ‘Remote Admin Connections’ Server Configuration Option is set to 0
    • Ensure ‘Scan For Startup Procs’ Server Configuration Option is set to 0
    • Ensure ‘Server Authentication’ Property is set to ‘Windows Authentication Mode’
    • Ensure ‘SQL Server Browser Service’ is configured correctly
    • Ensure ‘Symmetric Key encryption algorithm’ is set to ‘AES_128’ or higher in non-system databases
    • Ensure ‘Trustworthy’ Database Property is set to ‘Off’
    • Ensure Asymmetric Key Size is set to ‘greater than or equal to 2048’ in non-system databases
    • Ensure CHECK_EXPIRATION Option is set to ON for All SQL Authenticated Logins Within the Sysadmin Role
    • Ensure CHECK_POLICY Option is set to ON for All SQL Authenticated Logins
    • Ensure CONNECT permissions on the ‘guest’ user is Revoked within all SQL Server databases excluding the master, msdb and tempdb
    • Ensure Database and Application User Input is Sanitized
    • Ensure Default Trace Enabled Server Configuration Option is set to 1
    • Ensure Latest SQL Server Cumulative and Security Updates are Installed
    • Ensure Login Auditing is set to failed logins
    • Ensure Maximum number of error log files is set to greater than or equal to 12
    • Ensure MUST_CHANGE  Option is set to ON for all new SQL Authenticated Logins
    • Ensure no login exists with the name ‘sa’
    • Ensure only the default permissions specified by Microsoft are granted to the public server role.
    • Ensure Single-Function Member Servers are Used
    • Ensure SQL Authentication is not used in contained databases
    • Ensure SQL Server Audit is set to capture both failed and successful logins
    • Ensure SQL Server is configured to use non-standard ports
    • Ensure the ‘sa’ Login Account has been renamed
    • Ensure the ‘sa’ Login Account is set to ‘Disabled’
    • Ensure the public role in the msdb database is not granted access to SQL Agent proxies
    • Ensure the SQL Servers Full-Text Service Account is Not an Administrator
    • Ensure the SQL Servers Full-Text Service Account is Not an Administrator
    • Ensure the SQL Servers Full-Text Service Account is Not an Administrator
    • Ensure Unnecessary SQL Server Protocols are set to ‘Disabled’
    • Ensure Windows BUILTIN groups are not SQL Logins.
    • Ensure Windows local groups are not SQL Logins
  • Backup Status instance report
    • Added column for notes which displays warnings on various items.
    • Added Last Full Backup File column with path to the last full backup.
    • Added Warning for Backup to NUL when backups are being written to a NUL location.
    • Added double click functionality to drill down on the specific backups for that database.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a bug where the application was sending a crash report when a server timeout occurred. No need to report an application crash if a SQL Server is just not available. Removed the excess reporting.
  • Added better exception handling to the historic waits procedures, specifically in the event they are attempting to connect to a server that is not available.

August 2022 – Version 1002 Release Notes

The August 2022 release of Database Health Monitor includes bug fixes and feature enhancements.

Bug Fixes to our SQL Server performance monitoring tools

  • On the Disk space (instance) report the free space and total space column headings were reversed and the space was indicated in GB, but actually the numbers were shown in MB. Both have been fixed.
  • Fixed a bug with the redraw of the SQL Performance monitor component.

July 2022 – Version 999 Release Notes

The July 2022 release of Database Health Monitor includes bug fixes and feature enhancements.

New Features

  • New report added for the IO by hour for Database as part of the historic reporting.
  • Additional work to check permissions that help things run better on AWS RDS SQL Servers when not running as a full admin.
  • Historic Wait Monitoring
    • Performance improvements.
    • Better tracking of procedures. Rather than showing the create procedure script instead we now show the procedure name.
    • Code refactoring for better maintainability.
    • Fixed a bug where sometimes the historic chart was not being displayed if the instance name did not match.  For instance if connecting by ip or to localhost.

Bug Fixes to our SQL Server performance monitoring tools

  • On some of the historic monitoring if the server was configured in case sensitive mode, some of the historic reports did not display data if they were originally configured with a different case on the connect string. This has been corrected.

February 2022 – Version 994 Release Notes

SQL Server performance monitoring tools

New Features

  • All-around performance improvements relating to database connections and running queries.
  • New tree map report visualization added.  Use for the Databases by Size report, Memory Report, Sessions by Login report and the Table Sizes report. Plan to use this for other newer reports.
  • New Sunburst chart for visualizing the largest tables on an instance, along with a Largest Tables for instance report.
  • New chart type for Half Donut, used initially on the Missing Indexes report. Better use or space than the pie chart.
  • Changed the Database Connections by user report to use the Half Donut instead of the Pie Chart. Also added the CTRL PageUp and CTRL PageDown to shift this report between the different instances.
  • Updated the I/O by Database and I/O by Drive reports to use the new Half Donut chart.
  • Updated the One Time Use Queries report, CPU by Database report, and Needs Parameters report to use the new Half Donut chart.
  • Customer Request:  On the historic waits reports there is now an ignore others option where you can set specific waits to be ignored from the historic waits monitoring.
  • Added a check for TDE (Transparent Data Encryption) for all versions of SQL Server 2019.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a performance bug, when clicking on the database overview page, it would occasionally lock up for about 20 to 30 seconds.  This has been resolved.
  • Performance improvement with the historic connection monitoring on the cleanup job.

January 2022 – Version 991 Release Notes

The January 2022 release of Database Health Monitor, SQL Server performance monitoring tools includes bug fixes and feature enhancements.

There are some licensing changes in this version.  For details on the licensing change, please see this video:  https://youtu.be/tIMy6Qt7bH0

Bug Fixes to our SQL Server performance monitoring tools

  • Crash on the Quick Scan report running on SQL Server 2005 with a case sensitive database. This has been resolved.
  • Fixing bug in QuickScan for checks for operators and notification on job failures when SQL Express edition is running. Since the express edition does not have the SQL Agent then operators and job failures do not matter.
  • Fixed a bug in the left / right paging between instance level reports where the inventory report was getting left out.
  • Fixed a bug in the CheckDB instance report, when the user did not have sysadmin permissions the report would crash. Now it displays a message stating that you need sysadmin permissions to view this report.
  • Fixed bugs in several of the instance level reports when run with a user without the right permissions. The error now shows the needed permissions to add for that user to see the report.
  • Fixed several heavy load related issues with the SQL Performance Monitor. (Available from DBH Tools Menu)
  • Fixed a crash on the SQL Performance Monitor with the reconnect if the connection is intermittently lost.
  • Fixed a crash on the blocking by hour report on servers where the blocking time exceeded the size of an int.
  • Fixed a bug on the historic waits panel, where if you clicked on the panel title, it would not work to activate the historic wait monitoring for the first time.

New Features

  • Added a Back Button in the top right corner to help with navigating reports.
  • Added Dark Mode (still experimental).
  • Added a command line parameter for the SQL Performance monitor to call with a server name as the parameter.
  • Right click on SQL Server name in the tree view in Database Health Monitor has a link to directly load the SQL Performance Monitor application and it passes along the server name to connect to.
  • Added a connections chart on the SQL Performance Monitor. (Available from DBH Tools Menu)
  • Added support for Amazon RDS SQL Server Instances to Database Health Monitor, including extensive testing in the Amazon RDS environment.
  • Added support for Amazon RDS SQL Server Instances to SQL Performance Monitor, including extensive testing in the Amazon RDS environment.
  • Added a check in the QuickScan report for dangerous versions of SQL Server that are known to cause corruption.
  • Made the “Enterprise Index Report” available to all users other than Trial users. This is a report that has only previously been available to Enterprise customers.  Not SQL Enterprise, but an older license code in Database Health Monitor called the Enterprise license level.
  • Added the ability to run on a server with no outside internet connection. You can bring the DBHealthSettings.xml from your documents directory on a computer with internet access to documents directory on the server with no outside connectivity.
  • Added links to the Social menu in Database Health Monitor to jump to the appropriate Discord, Facebook, and Linked in pages. Also added links to the Help menu to link directly to the Database Health Monitor course.

June 2021 – Version 982 Release Notes

New Features

  • Included updated version of SchemaDrift as part of the Database Health Monitor install. You can use Schema Drift to compare 2 databases and find the structure difference between them.
  • Included SQL Performance Monitor as part of Database Health Monitor install. You can use this to track performance issues.
  • Added several new checks to the Quick Scan report.

Updates

  • Updated the Quickscan report version check for more server cores, than the version of SQL Server installed can make use of.

January 2021 – Version 977 Release Notes

The January 2021 release of Database Health Monitor.

Bug Fixes to our SQL Server performance monitoring tools

  • Performance fix – added index on one of the historic monitoring tables to improve performance anywhere we are looking up a historic query.
  • Performance fix – improved performance on the Blocking by Hour report.
  • Bug fix with historic monitoring on SQL Server 2016 or newer, occasionally the historic waits would stop logging due to a problem with the index.
  • Fixed a bug in the historic waits where the error_log table was not being cleaned up over time.

Updates

  • Updated the Quickscan report version check to check for the latest SQL Server patches for a security hole.

September 2020 – Version 972 Release Notes

The September 2020 release of Database Health Monitor.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a bug on the main screen when connecting to SQL Server 2019 databases. The database name was showing the version number rather than SQL Server 2019.
  • Fixed a bug in the historic waits where in specific case with lots of unparameterized queries, the historic queries table was not purging correctly. This is now purging correctly.
  • Fixed a “beta expired” error message left over from early testing.

New Features

  • Added a check to the QuickScan report for reindexing during typical business hours.

Version 2.9.5 Release Notes

Version 2.9.5 is the December release of Database Health Monitor.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a crashing bug on the new Security report on SQL Server 2008R2 and older.
  • Fixed a bug in the licensing dialog where expired codes were not being reported on correctly.
  • Fixed a bug with CTRL up arrow and CTRL down arrow on the instance level reports to flip from instance to instance. The very first instance in the list was being missed.

New Features

  • Added an orphaned user check to the Security report.

Version 2.9.4 Release Notes

Version 2.9.4 is the November release of Database Health Monitor.

Thanks to everyone who contributed to the Indiegogo campaign to fund the November release of Database Health Monitor.

New Reports

  • Added a new instance level connections report that shows client connections and counts of connections.
  • Added a new instance level security report.

New Features for our SQL Server performance monitoring tools

  • Added better messaging when configuring historic reporting so that it is clear that a DBHealthHistory database will be created and that a SQL Agent job will be created, and if you are running from a central monitoring server, a linked server connection will be created. Note for local monitoring no linked server connection is needed.
  • Added a sort instances by alias menu in the tree view. All instances that have an alias are sorted first by alias, then those without an alias are sorted by the regular server name.

Bug Fixes to our SQL Server performance monitoring tools

  • Fixed a bug in the index advisor dialog where the index name and table name were reversed.
  • Fixed 2 bugs in the Quick Scan report related to case sensitive database.

 Version 2.9.2 Release Notes

Version 2.9.2 is the October 2019 release of Database Health Monitor.

New Features in 2.9.2

  • Added a refresh menu item to refresh any report (requested by a customer). Also fixed refresh on some of the historic charts that were not refreshing well.
  • Added some color coding on the configuration values report to point out some of the more obviously bad settings in red.
  • Simplified licensing process, including the ability to update your Database Health License code.
  • Startup performance increase when you have many servers connected. When Database Health Monitor starts up it checks to see which of the servers you have listed are online by connecting. There was redundant code where it was connecting twice for the check. This has been fixed and should speed things up on those slow connections.

Bug Fixes in 2.9.2

  • Changed the licensing agreement dialog to be sizeable. On some really low-resolution screens it was showing up to small and hiding the buttons to accept the license agreement.

Version 2.9.1 Release Notes

Version 2.9.1 is the September 2019 release of Database Health Monitor.

There was a font size bug introduced on September 23, 2019, fixed on September 24, 2019. If you are seeing extremely huge fonts in Database Health Monitor download the latest install above (version 2.9.1.251 or newer).

New Features in 2.9.1

  • Added a check to the QuickScan report for SQL Server Express database files approaching the 10GB limit.
  • Adding Aliasing for servers, or a way to add a tag name to the server as it is displayed in the list view. Useful for associating machine names with IP addresses. Requested by a customer.
  • Adding keypad + and keypad – hotkeys for the grid views to increase and decrease the font size.

Bug Fixes in 2.9.1

  • Fixed a bug with the wrong compatibility level being detected for databases names that started with a number. This prevented the fragmented indexes report from being shown for databases names that started with a number.
  • Fixed a bug in the Most Used indexes report with an overflow error on really busy indexes.
  • Fixed a bug where a certain combination of quotes in a password caused the connect string to fail and not be able to connect with that password.
  • Fixed a bug, the CheckDB screen was displaying an incorrect (outdated)icon.
  • Fixed bug relating to the display of the SQL Server version on the main panel. For longer version names it was being wrapped and chopping of the display of the version number.
  • Fixed a bug with the clickability of the chart on the historic waits charts. For really short bars they were hard to click. Now clicking just above the bar also acts as a click on the bar.

Version 2.9 Release Notes

Version 2.9 is the August 2019 release of Database Health Monitor. Summer has been busy, I have added one new report and I have been working on fixing any customer reported bugs.

New Features in 2.9

  • Added a new Blocking Heat Map report that shows by day and by hour when blocking is occurring.

Bug Fixes in 2.9

  • Fixed bug with extra buttons on the all servers reports “System Overview” and “Dashboard” show the same thing. I removed system overview.
  • Fixed bug when clicking on FAILED JOBS and there are no failed jobs, the presentation is a little weird with overlapping controls.
  • Fixed a customer reported bug in the Missing Indexes advisor where when adding indexes with both inequality and equality columns there was a missing comma in the index creation script.
  • Fixed bug with clicking on CPU LOAD BY HOUR I can click SHOW MORE until the button disappears. However, there’s more data. If I click CTRL PAGEDOWN to go to the next instance and CTRL PAGEUP to go back to the original instance the SHOW MORE button is there
  • Fixed a bug with the Blocking Query Monitor where it was attempting to connect to the DBHealthHistory database and sometimes throwing an error. Changed the connection to master since the DBHealthHistory database is not needed for this feature.

Version 2.9.1 Release Notes

Version 2.9.1 is the September 2019 release of Database Health Monitor.

New Features in 2.9.1

  • Added a check to the QuickScan report for SQL Server Express database files approaching the 10GB limit.
  • Adding Aliasing for servers, or a way to add a tag name to the server as it is displayed in the list view. Useful for associating machine names with IP addresses. Requested by a customer.
  • Adding keypad + and keypad – hotkeys for the grid views to increase and decrease the font size.

Bug Fixes in 2.9.1 to our SQL Server performance monitoring tools

  • Fixed a bug with the wrong compatibility level being detected for databases names that started with a number. This prevented the fragmented indexes report from being shown for databases names that started with a number.
  • Fixed a bug in the Most Used indexes report with an overflow error on really busy indexes.
  • Fixed a bug where a certain combination of quotes in a password caused the connect string to fail and not be able to connect with that password.
  • Fixed a bug, the CheckDB screen was displaying an incorrect (outdated)icon.
  • Fixed bug relating to the display of the SQL Server version on the main panel. For longer version names it was being wrapped and chopping of the display of the version number.
  • Fixed a bug with the clickability of the chart on the historic waits charts. For really short bars they were hard to click. Now clicking just above the bar also acts as a click on the bar.

Version 2.9 Release Notes

Version 2.9 is the August 2019 release of Database Health Monitor. Summer has been busy, I have added one new report and I have been working on fixing any customer reported bugs.

New Features in 2.9

  • Added a new Blocking Heat Map report that shows by day and by hour when blocking is occurring.

Bug Fixes in 2.9

  • Fixed bug with extra buttons on the all servers reports “System Overview” and “Dashboard” show the same thing. I removed system overview.
  • Fixed bug when clicking on FAILED JOBS and there are no failed jobs, the presentation is a little weird with overlapping controls.
  • Fixed a customer reported bug in the Missing Indexes advisor where when adding indexes with both inequality and equality columns there was a missing comma in the index creation script.
  • Fixed bug with clicking on CPU LOAD BY HOUR I can click SHOW MORE until the button disappears. However, there’s more data. If I click CTRL PAGEDOWN to go to the next instance and CTRL PAGEUP to go back to the original instance the SHOW MORE button is there
  • Fixed a bug with the Blocking Query Monitor where it was attempting to connect to the DBHealthHistory database and sometimes throwing an error. Changed the connection to master since the DBHealthHistory database is not needed for this feature.

Version 2.8.2 Release Notes

Version 2.8.2 is the July 2019 Release of Database Health Monitor. There was a 2.8 release on July 17, 2019, followed shortly by a 2.8.2 release after a report of a bug in the blocking queries report that was fixed.

New Features in 2.8.2

  • Added threshold settings into the Application Settings dialog to control the red/yellow/green colors on the backup reports and the CheckDB reports. This was a customer request.
  • Expanded the Fragmented Indexes report to show up to 10,000 fragmented indexes from the original limit of 100. This was a customer reported issue.
  • Added a new check to the QuickScan report for SQL Server 2008 and SQL Server 2008R2 approaching end of life in July.
  • Added a check to see if the same instance is configured twice in the historic monitoring. If it is then it fixes it so that it is only being monitored once.
  • Added a notes column to the backup status report to show if the last full was copy only.
  • Column added to the backup status report to show if the database is online, offline, single user, emergency, or restricted user mode (customer requested).
  • Column added to the database by size instance report to show if the database is online, offline, single user, emergency, or restricted user mode (customer requested).

Bug Fixes in 2.8.2

  • Fixed a bug that slowed connecting to each server overview panel.
  • Fixed a bug in the blocking queries report where it was failing on case sensitive databases. Reported by a customer.
  • There was an issue with the historic waits not displaying the correct list of waiting queries in the lower grid, when the time range was an hour or less. This has been corrected.
  • Fixed an issue with the chart on the historic waits advisor sizing, where it was not showing the chart data.
  • Fixed a bug that was crashing when attempting to view reports on a database that was no longer connected. This was a customer reported issue.
  • The Databases by Size report had a limit of 25 imposed on it. Based on customer feedback, I remove this limit. The pie chart still has the limit, but the grid now displays them all.
  • Fixing a few bugs around users running with the limited permission of serveradmin rather than sysadmin. The Quickscan report was failing, and so was the main instance overview page. These issues have been fixed.
  • Fixed a bug with where full databases (copy_only) backups were being missed in the backup report.

Version 2.8.1 Release Notes

Version 2.8.1 is the July 2019 Release of Database Health Monitor. There was a 2.8 release on July 17, 2019, followed shortly by a 2.8.1 release after a report of a bug in the blocking queries report that was fixed.

New Features in 2.8.1

  • Added threshold settings into the Application Settings dialog to control the red/yellow/green colors on the backup reports and the CheckDB reports. This was a customer request.
  • Expanded the Fragmented Indexes report to show up to 10,000 fragmented indexes from the original limit of 100. This was a customer reported issue.
  • Added a new check to the QuickScan report for SQL Server 2008 and SQL Server 2008R2 approaching end of life in July.
  • Added a check to see if the same instance is configured twice in the historic monitoring. If it is then it fixes it so that it is only being monitored once.
  • Added a notes column to the backup status report to show if the last full was copy only.
  • Column added to the backup status report to show if the database is online, offline, single user, emergency, or restricted user mode (customer requested).
  • Column added to the database by size instance report to show if the database is online, offline, single user, emergency, or restricted user mode (customer requested).

Bug Fixes in 2.8.1

  • Fixed a bug in the blocking queries report where it was failing on case sensitive databases. Reported by a customer.
  • There was an issue with the historic waits not displaying the correct list of waiting queries in the lower grid, when the time range was an hour or less. This has been corrected.
  • Fixed an issue with the chart on the historic waits advisor sizing, where it was not showing the chart data.
  • Fixed a bug that was crashing when attempting to view reports on a database that was no longer connected. This was a customer reported issue.
  • The Databases by Size report had a limit of 25 imposed on it. Based on customer feedback, I remove this limit. The pie chart still has the limit, but the grid now displays them all.
  • Fixing a few bugs around users running with the limited permission of serveradmin rather than sysadmin. The Quickscan report was failing, and so was the main instance overview page. These issues have been fixed.
  • Fixed a bug with where full databases (copy_only) backups were being missed in the backup report.

Version 2.8 Release Notes

Version 2.8 is the July 2019 Release of Database Health Monitor

New Features in 2.8

  • Added threshold settings into the Application Settings dialog to control the red/yellow/green colors on the backup reports and the CheckDB reports. This was a customer request.
  • Expanded the Fragmented Indexes report to show up to 10,000 fragmented indexes from the original limit of 100. This was a customer reported issue.
  • Added a new check to the QuickScan report for SQL Server 2008 and SQL Server 2008R2 approaching end of life in July.
  • Added a check to see if the same instance is configured twice in the historic monitoring. If it is then it fixes it so that it is only being monitored once.
  • Added a notes column to the backup status report to show if the last full was copy only.
  • Column added to the backup status report to show if the database is online, offline, single user, emergency, or restricted user mode (customer requested).
  • Column added to the database by size instance report to show if the database is online, offline, single user, emergency, or restricted user mode (customer requested).

Bug Fixes in 2.8

  • There was an issue with the historic waits not displaying the correct list of waiting queries in the lower grid, when the time range was an hour or less. This has been corrected.
  • Fixed an issue with the chart on the historic waits advisor sizing, where it was not showing the chart data.
  • Fixed a bug that was crashing when attempting to view reports on a database that was no longer connected. This was a customer reported issue.
  • The Databases by Size report had a limit of 25 imposed on it. Based on customer feedback, I remove this limit. The pie chart still has the limit, but the grid now displays them all.
  • Fixing a few bugs around users running with the limited permission of serveradmin rather than sysadmin. The Quickscan report was failing, and so was the main instance overview page. These issues have been fixed.
  • Fixed a bug with where full databases (copy_only) backups were being missed in the backup report.
  •  

Version 2.7 Release Notes

Version 2.7 is the March 2019 release of Database Health Monitor.

Version 2.6.6 Release Notes

Version 2.6.6 is the November 2018 Release of Database Health Monitor

New Features in 2.6.6

  • Added a check in the Quick Scan report for databases running on an older compatibility level.
  • Added a check to the Quick Scan report for serializable transactions.
  • Added a check to the Quick Scan report for Instant File Initialization.
  • Added a check to the Quick Scan report for more than once instance installed.
  • Preliminary testing and compatibility in SQL Server 2019.

Bug Fixes in 2.6.6

  • Suspect pages report button text didn’t fit on some resolutions. Renamed to be just “Suspect Pages”.

Version 2.6.5 Release Notes

Version 2.6.5 is the September 2018 Release of Database Health Monitor

New Features in 2.6.5

  • The QuickScan report now checks for SQL Agent with no operators defined.
  • Historic waits now have an option to filter out TRACEWRITE wait types.
  • Added a check for SQL Server running as local system and not a domain or local user to the QuickScan report.
  • Updated SQL Version number checks for recommended updates.

Version 2.6.4 Release Notes

Version 2.6.4 is the August 2018 release of Database Health Monitor.

Bug Fixes in 2.6.4

  • Quick Scan was crashing on SQL Server 2005. This has been fixed.
  • Updated SQL Server version checks.

New Features in 2.6.4

  • Added SQL Server version checks for SQL 2017.

 Version 2.6.1 Release Notes

Version 2.6.1 is the October 28, 2017 release of Database Health Monitor.

Bug Fixes in 2.6.1

  • Bug fixed with the Disk Space Report not showing the disk free space in on SQL Server 2008R2.
  • Fixed a bug with the new inventory report where it was not showing information on SQL Server 2005 and 2008 instances. It has been fixed now for all SQL Server versions 2005 and newer.
  • Quickscan report was reporting extra errors in the error log for servers that have memory error recovery enabled. Eliminated this message from the Quickscan report.

Version 2.6 Release Notes

Version 2.6 is the October, 2017 release of Database Health Monitor

New Features in 2.6

  • Added a Job Schedule instance level report.
  • Added an option on the statistics report to show statistics for all databases, and to generate the script to rebuild statistics for all databases. (Customer request)
  • Added a Quick Scan Report check for logins that have a non-existent default database.
  • Added a Quick Scan Report for SQL Server Express Edition, and display a warning.
  • Modified the database mail check in the Quick Scan Report to display a different message when it detects that database mail is not enabled if the SQL Server is running express edition.
  • Modified the Blocked Queries report to better show the blocking query and to differentiate it from those being blocked.
  • Added a Quick Scan Report check for SQL Agent Jobs with no notification on failure.
  • Updated the link to the support site. It now goes to http://databasehealth.com/download2/support-request/  which is vastly improved over the previous support site.
  • Added a Quick Scan Report check for power settings, recommending that a High Performance option be used.

Bug Fixes in 2.6

  • Fixed a bug when clicking on a database to drill down on the queries needing params report. Previously it was crashing, now it has been fixed.
  • Fixed a bug in the database overview incorrectly reporting unused indexes.
  • Fixed a bug in the server overview panel when displaying the machine or VM type where it was failing on SQL 2012.
  • Fixed a bug with the “Instance Reports” title overlapping the buttons to get to the instance reports on certain resolutions with larger fonts.
  • Fixed some timing related bugs on the Blocked Queries report. It was erroneously showing blocked queries without the query blocking them being shown.
  • Fixed various bugs around compatibility level 70 and 80 and crashing on some of the reports. Yes, people are still running databases at level 70 and 80.
  • Fixed a bug on the server overview page on very large databases, greater than 1TB causing the query to crash.

Version 2.5.5 Release Notes

Version 2.5.5 is the June, 2017 release of Database Health Monitor

New Features in 2.5.5

  • Added a Recovery Model column to the Backup Status Report based on a customer request. This applies to the database specific Backup Status Report and the multiple-instance Backup Status Report.
  • Added new File Utilization report that shows the amount of space being used and the amount of space free in your data and log files.
  • Added a check in the historic monitoring “test connection” feature to check for SQL Server Express edition, and display a warning since the historic monitoring uses the SQL Server agent, and there is no agent on SQL Express edition.
  • Added a menu item (under the Help menu) to bring up the license agreement, in case someone wants to read it later. This was requested by a customer.
  • Adding F5 support for refresh on the multiple instance reports. Backup Status, CheckDB Status and File Utilization.

Bug Fixes in 2.5.5

  • Excluded offline databases from showing warnings in red if the database is offline for the Backup Status Report.
  • Fixed a bug in the historic connection test dialog. When attempting to check the connection from one server to another there was an error encountered. This referred to the error “Incorrect Syntax near ‘)’.” This has been corrected.
  • Fixed a bug with the multiple instance reports. Hitting the ctrl + left or right arrow keys caused a crash.
  • The option to generate a script to rebuild all statistics needing rebuilding was not working correctly in SQL Server 2005. This has been fixed and now works.

Version 2.5.4 Release Notes – May, 2017.

Version 2.5.4 is the May, 2017 release of Database Health Monitor.

New Features in 2.5.4

  • Upgraded to .net version 4.6.
  • When a new version of Database Health Monitor is available, when you click “yes” to upgrade, it now downloads the installer and runs it rather than redirecting you to the download page. This saves time and makes things easier for updates. Based on a customer request.
  • Additional checks in the QuickScan report for the following:
    • Database Mail not configured
    • Service Broker not enabled on TempDB
    • Added checks for obsolete xp_sqlmaint stored procedure being used in agent jobs to perform checkdb or statistics maintenance. There are better ways to do these.
  • Added the DATA_PURITY option into the CheckDB dialog.

Bug Fixes in 2.5.4

  • Fixed a bug with the Disk Space instance level report crashing on certain collations that use a comma for a decimal separator.
  • Fixed a bug where the table size report was sometimes reporting the wrong number of rows in a table.
  • Bug fix with the backup advisor coming up empty or blank. This was introduced in version 2.5.3, and resolved in 2.5.4.

Version 2.5.3 Release Notes – March 13, 2017.

Version 2.5.3 is the March 13, 2017 release of Database Health Monitor

New Features in 2.5.2

  • Moved the blocking report from a database level report to an instance level report. If you have no blocking the report will show nothing, if you do have blocking the hierarchy of the blocking will be shown for the whole instance.

Bug Fixes in 2.5.3

  • Bug fix when minimizing the program to an icon when showing the backup status report and the historic waits reports, this caused a crash. The crash has been fixed.

Version 2.5.2 Release Notes – March 2017.

Version 2.5.2 is the March 2017 release of Database Health Monitor

New Features in 2.5.2

  • Expanded the Historic Waits chart on the instance overview page to show more than the default 7 days if there is more than 7 days of historic data. It will now show up to 14 days of historic data. This report now gives a better how are things changing week over week perspective on the historic wait stats.

Bug Fixes in 2.5.2

  • Bug fix with grid view that show dates. The dates were not being sorted correctly.
  • Bug fix with the historic reporting that was causing 2 issues. This has been fixed
    • First preventing the historic monitoring from being turned on for new instances.
    • Second breaking the reporting for existing instances being monitored.

Version 2.5 Release Notes – February 2017.

Version 2.5 is the February 2017 release of Database Health Monitor, released on February 19, 2017.

New Features in 2.5

  • Upgraded application to use the .Net 4.5 runtime.
  • Fragmented Indexes Advisor – added buttons to rebuild or reorganize all fragmented indexes. Wow this will save some time when you have a bunch of indexes to defragment.
  • Added historic monitoring for disk space. Still need to add reports, but the tracking is there.
  • Added a menu to the main application window. Removed the big buttons for Connect, Settings, and About, and replaced them with menu items.
  • Added a menu item to link to the feedback survey.
  • Rearranged some of the columns on the What is Active report to make it easier to see what is running right away without scrolling.

Bug Fixes in 2.5

  • Excluded databases that are in a state of “Restoring” from the backup status report.
  • Fixed a bug with the Sessions by Login page crashing. This was related to the .NET runtime upgrade.
  • The index fragmentation advisor was having difficulty on the second time that an index was attempted to be reorganized or rebuilt. It worked fine the first time, but the second index to reorganize failed. This bug has been fixed.
  • The Blocking Queries report for a database was showing the PID instead of the query when clicking on the grid view. This has been corrected to snow show the query.
  • Extended the timeout for running the Quick Scan Report. On really slow SQL Servers this sometimes takes longer than the original timeout of 90 seconds. The timeout for this report has been set to 10 minutes.
  • Added a check when loading the dbHealthSettings.xml file to confirm that the file contains valid XML. Fixes a crash when the file is corrupt for some reason.
  • Fixed a bug that was causing the instance level memory report to always fail.
  • Fixed a bug in the QuickScan report when checking to see if the SQL Agent is running. Don’t check on Express Edition since the agent isn’t available on Express Edition.
  • Changed the wording on the log backup chain being broken by Veeam to be more generic referring to any third party type backup solution.
  • Fixed a bug for databases with a collation that uses a comma as a decimal separator that was causing the Instance Level Disk Space report to crash.

Version 2.4.5 Release Notes – January 2017.

Version 2.4.5 is the January 2017 release of Database Health Monitor.

New Features in 2.4.5

  • Added color coding to the disk space report to show drives with less than 10% free in red.
  • New logos and branding on the splash screen.
  • New application icon.
  • Added color coding to the disk space report to show disks with less than 10% free in red.
  • Updated version checks to the latest service pack and cumulative update levels for SQL Server versions. Updated the web site documentation for SQL Server versions.

Bug Fixes in 2.4.5

  • Performance improvements on the Deep Scan report.
  • Fixed bug with duplicates in the blocking report. Adding a column for the blocking path that shows the blocking chain for each blocked item.
  • Fixed bug with connecting to an instance with historic monitoring that is monitoring itself.
  • Fixed bug with the decimal calculation on the disk space report.

Version 2.4.4 Release Notes – October 2016.

Version 2.4.4 is October 2016 release of Database Health Monitor.

October 3, 2016 – Version 2.4.4 (872):  DatabaseHealthInstall_October2016.zip  <<– Download Link

  • Download the zip file
  • Open the zip file, and run setup.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. Here is a list of the recent changes to the application.

New Features in 2.4.4

  • Updated version numbers in the quick scan report and the updates available messages to match the latest SQL Server releases.
  • Adding a right click menu option to the Quick Scan Report for warnings about no recent DBCC CheckDB to include a menu item to jump right to the DBCC CheckDB report.
  • Added a right click menu option to the Quick Scan Report for error log messages to jump directly to the error log report.
  • Added addition details and documentation for wait types into the Waits Advisor.
  • Updated the What is Active report to have a seconds column to not just show the active query, but to also show the whole batch that it came from. For instance if one query in a stored procedure was what was currently running, you can see that in one column, and the entire stored procedure in another column.

Bug Fixes in 2.4.4

  • Queries in the historic monitoring were being truncated when longer than 4000 characters. Now they are not truncated.
  • Quickscan now ignores the alert warnings when the database is a SQL Express database (with no agent).
  • Fixed bugs in the duplicate index reports around indexes on tables with the same name in different schemas.
  • Fixed bug with the historic monitoring not being able to monitor an instance with a name greater than 20 characters.

Version 2.4.3 Release Notes

July 9, 2016 – Version 2.4.3 (866):

Thank you for using Database Health Monitor. Here is a list of the recent changes to the application.

Version 2.4.3 was about a month in the making, a few new features, a few bug fixes, and overall improvements. My favorite new feature in this release is the addition of a “Go Back” feature when viewing reports. When you click from one report to another, and then another, and you realize that you want to jump back to that previous report… well you can now, just use the Backspace key on your keyboard from anywhere in database health monitor. Hit it multiple times to jump back further in your history of reports.

New Features in 2.4.3

  • Backspace button to go to the previous report viewed.
  • A new report for SSRS report servers that shows the speeds of the SSRS reports being run. You can find your slow SSRS reports with this.

Fixes in 2.4.3

  • With multiple historic monitoring instances, the CPU load by hour report was only showing the CPU load for the server doing the monitoring, not for the server being monitored.
  • Fixed a bug causing the database overview panel to crash for database instances that with a name that started with a space, or ended with a space. Example:  [ DatabaseName ]  Note the spaces inside of the brackets.  It works now.

Version 2.4.2 Release Notes

Released June 18th, 2016.

It has been about a two weeks since version 2.4.1 release and version 2.4.2 has a few new features, and a couple bug fixes.

New Features in 2.4.2

  • New report available on SSRS Report Server databases showing the distribution of reports run over the last 24 hours, along with a detailed drilldown with a list of all reports run in the last 24 hours.
  • Updated the Stored Procedures by Logical Writes to use Seconds rather than Microseconds in the durations. Makes much more sense, and is clearly labeled now.
  • Added a Logins by Instance report.
  • Added 3 new report panels for SSRS reporting databases.
    • Recent SSRS report usage.
    • Reports Run over the last 24 hours with chart.
    • Report Users over the last 7 days with chart.
  • Quick Scan Report
    • Added an option to the QuickScan report to right click to turn off AUTO_CLOSE for all databases on the instance.

Fixes in 2.4.2

  • Fixed a problem that has been there for a while with connecting to a monitoring database on another server than the current instance. This was introduced about 8 months ago, where you could only use the current instance for monitoring. The problem has been fixed. Thanks for the customer feedback that lead me to finding and fixing this problem.
  • Improved startup performance. Caching some values that were previously querying the database multiple times.
  • Fix a problem with the tab order on the Connect to Database dialog. The username and password were not in the correct sequence. More of an annoyance than anything, but this has finally be fixed.

Version 2.4.1 Release Notes

Version 2.4.1 (852):  DatabaseHealthInstall_2_4_1.zip  (June 2, 2016)

Version 2.4.1 includes a bug fix and 2 new feature that were added after the release of version 2.4.

  • Feature: Support for SQL Server 2016. Since SQL Server 2016 officially released yesterday, Database Health Monitor now supports SQL Server 2016.
  • Bug: The check for the latest version of SQL Server 2014 CU6 was updated. Microsoft released a patch to their original CU6 release. The check now accounts for this.
  • The QuickScan report now has an option to ignore specfiic check items. This was a customer request. To ignore, or un-ignore items right click on the quick scan report.

Version 2.4 Release Notes

Release June 1, 2016.

Over the last several months I have added several new features, and many bug fixes. Here are some of the features and fixes included in this update.

New Features

  • Waits Report – A new report that shows the SQL Waits since the last time the instance was restarted. This does not require the historic waits reporting component to be enabled.
  • Memory Report – A new report that shows how much memory is being used by each database, and by other components, such as the plan cache.
  • Backup Report
    • Backup Advisor, included the WITH MOVE option on the restore scripts.
  • QuickScan Report
    • Recommending upgrade to if you are running SQL Server 2008R2 version 10.50.2550.0. This version has some stability issues with accessing DMVs.
    • Added checks for alerting on errors 823, 824 and 825. The quickscan report now suggests adding alerts on these error conditions.
    • Added quickscan report check #66 for database owned by non-existant user or sysadmin.
    • Removed the check for recent backups for the model database. Model doesn’t usually need to be backed up.
    • Added a check for SQL Server error logs and the maximum number of error logs.
    • Adding a check to see if any traces are running.
    • Adding check for obsolete SQL Server 2005 since it is at end of life.
    • Adding a check for SQL Agent hotspots. These are specific times that more than 4 jobs are starting at the same time.
    • Additional checks for User table in the master database, msdb database, and model database.
    • Adding a check for instance level default backup compression.
  • Updating SQL Server versions for the upgrade available check.
  • Improving the docs on pageiolatch_ex in the waits advisor.

Bug Fixes

  • Bug fix: false positive on an error log message in the quick scan report, reported by a user.
  • Bug fix with the layout of the performance dashboard database panels if the scrollbar is scrolled while panels are being added. It used to cause big gaps, now they lay out correctly.
  • Fixed bug with the max server memory check in the QuickScan report.
  • Fixed a bug in the QuickScan report where it was not detecting high VLF counts on SQL Server older than 2012. It now works on 2005 and newer.

Version 2.3 Release Notes

Released March 20th, 2016.
It has been about 3 months since the last release, and I have added several new features, and many bug fixes.

New Features

  • Reducing the number of different database connections used by Database Health Monitor. Reusing existing connections where applicable.
  • Backup Report
    • Database restore script for the backups report now includes the “RESTORE HEADERONLY” option.
    • Updated the restore script to include a FILELISTONLY option to check on file locations before restoring.
    • Recent backups are now shown in green so it’s easy to see which databases have recent backups and which do not.
    • Added column to show the size of the backup.
  • CheckDB dialog: Added the instance name to the CheckDB dialog so that you can know which instance the CheckDB is being run against.
  • QuickScan report
    • Added checks for default SQL Server indexing jobs.
    • Ignoring database snapshot in the check for compressed backups.
    • Added check for extended history in the msdb.dbo.sysmaintplan_logdetail table.
    • Check to warn if SQL Server priority boost is enabled.
    • Added a check and warning for master database in any other mode besides simple recovery mode.
    • Added a check for using CHECKSUM on backups, with a recommendation to use it if it is not enabled.
    • Added check to the QuickScan report for left over files from the Microsoft Database Tuning Advisor.
    • Added reporting to the QuickScan report for slow I/O on log files.
    • Added Quickscan report for default maintenance plans.
    • Added check in the QuickScan report for TempDB being on the same drive as database files.
    • Added the DeepScan option to the quick scan report. Just right click the QuickScan grid and choose DeepScan
      • DeepScan report includes common wait types (if historic monitoring is enabled).
      • DeepScan report includes queries with the most waits (if historic monitoring is enabled).
      • DeepScan report includes statistics that are out of date or missing.

Bug Fixes

  • Bug fix for occasionally seeing SQL Servers duplicated in the tree view.
  • Fixing typo in the trace flags report.
  • Fixed many typos.
  • Settings / Configuration file. Fixed a bug with the contents of the file having leftover cruft at the end of the file.
  • Disk Space report
    • Added a NOLOCK to the disk space report so that it doesn’t have to wait when indexes are begin created or rebuilt.
    • Fixing a bug that occasionally split tables into two rows in the report.
  • QuickScan report
    • Several blocking issues causing the QuickScan report to wait have been resolved.
    • Fixed a crashing bug in the QuickScan report on SQL Server 2005.
    • Fixed bug in the QuickScan report not correctly identifying SQL Server 2008R2 RTM for version updates needed.

Version 2.2 Release Notes

Released December 5th, 2015.
Three months since Database Health Monitor version 2. I have been busy and I have added many new features over the last 3 months.

New Features

  • Added a DBCC CheckDB dialog to run Check DB against a database. Reports status along the way and shows what is being checked as it gets scanned.
  • Added a link to the checkDB report page from the QuickScan CheckDB message.
  • CTRL+a for select all in the edit box on the missing indexes advisor.
  • Making the ‘see more’ option stick when viewing the CPU by Hour Heatmap.
  • Added a Disk Space Report into the instance level reports.
  • Added color coding to the Last Known Good CheckDB report.
  • Added right click copy to clipboard to the many of the charts. Now you can just copy the chart to the clipboard as an image.
  • Adding filtering of the historic waits for CXPACKET.
  • Adding links to the main server overview if there is a SQL Server update available.
  • QuickScan report
    • Adding a check for orphan database users to the QuickScan report.
    • Checking file growth for big databases with many very small growth amounts.
    • Performance improvement, Limiting the amount of data the QuickScan report will pull back from the error logs.
    • Adding details for the TempDB file growth messages.
    • Adding max degree of parallelism, and cost threshold for parallelism to the quick scan report.
    • Adding quickscan report checks for single tempdb files, and for different sized tempdb files.

Bug Fixes

  • Fixed the backup status report to include databases that have never had a backup. This was missed due to the join condition.
  • Fixing button colors on the CheckDB dialog. Buttons didn’t look right on Windows Server 2012.

Version 2.1 Release Notes

Released 07/3/2015.
Two months since Database Health Monitor version 2 was released and there have been many new features and bug fixes.

New Features

  • Added support for the F5 key to refresh all report pages.
  • Hotkeys added for paging up and down, and back and forth through instance level reports.
    • CTRL + up arrow, or CTRL + PGUP to switch to the previous instance.
    • CTRL + down arrow or CTRL + PGDOWN to switch to the next instance.
    • CTRL + left arrow to switch to the previous report.
    • CTRL + right arrow to switch to the next report.
  • For historic monitoring, it is no longer required to enter your username and password to set up monitoring if you are monitoring the current instance.
  • From the connection advisor you now have the ability to kill the session you are viewing.
  • The main list of databases has been renamed to the Database Health Monitor – Performance Dashboard.
  • The performance dashboard now includes a summary of total server memory, and for SQL Server 2008 and newer it shows the available memory.
  • The performance dashboard now shows the active query count. Those that are in memory and running for more than a second.
  • Quick Scan Report – many additional checks
    • Reporting for autoshrink and autoclose added to the Quick Scan Report.
    • Check for the default max server memory setting.
    • Check for bloated error logs that haven’t been cycled in a while.
    • Adding check for DBCC CheckDB never run, or not recently run.
    • Check for page verify option of NONE or TORN_PAGE_DETECTION.
  • Added a percentage column to the CPU used by database report.
  • Instance reports panel added into the server overview page. Previously you could only get to the instance reports from the right click popup menu, now they are easier to get to.
  • Instance level reports added.
    • Backup Status Report
    • Configuration Values
    • CPU By Database
    • Database by Size
    • I/O by Drive
    • Job History
    • Sessions by Login
    • Trace Flags
    • What is Active
  • Right click ability to kill sessions from the current connections report.
  • Added a help text panel on the bottom left, which gives additional details on some of the reports.
  • CTRL+a for select all on the connections advisor dialog.
  • CTRL+a for select all on the backup advisor restore chain script.
  • CTRL+a for select all on the one time query advisor.

Bug Fixes

  • Fixed a bug in displaying machine types of VMWare. These previously reported unknown, they now report VMWare.
  • Fixed a crash when calculating disk space on really large database files.
  • Fixed a crash when Database Health attempts to access a database in single user mode.
  • Fixed: Drilldown from the disk space by database chart should go to the disk space report for the selected database. Currently it just goes to the database overview page.
  • Fixed: Long running queries advisor, help link at the bottom of the screen in not anchored to the bottom.
  • There was an issue in the database connections where after a while Database Health Monitor would end up taking up more and more connections. This has been resolved.

Version 2 Release Notes

Released 07/3/2015.
This is the final release of Version 2 of Database Health Monitor, after 4 years of beta releases, it is finally out of beta.

New Features

  • Removed Beta 3 month expiration.
  • Added the Database I/O overview panel.
  • Added the I/O by database instance level report.
  • Database overview reports on databases set to autoshrink.
  • Added a check for those using Veeam backups. There is a configuration where the Veeam backup breaks the log restore chain. This is now shown in the errors and warnings page.
  • Filtered snapshot backups from the backup restore chain.
  • Backup report now differentiates copy only backups from normal backups.
  • Added ctrl+a for select all on the historic query advisor.
  • Fixed a bug in the log restore chain script in the backup report.
  • Added the database CPU heat map to show the average CPU load hour by hour for the last 7 days.
  • Added the instance level linked servers report to display linked servers.
  • Added documentation at http://DatabaseHealth.com for many of the newer reports that were missing help.

Bug Fixes

  • Renamed the “DBCC Last Known Good” report to the “DBCC CheckDB Last Known Good” report, this is a more accurate description.
  • Fixed bug with the linking of the Server Connection report to the connections for a database. The link redirected to the database overview page rather than the connections page.
  • Removed filtered indexes from the duplicate indexes report. This was causing filtered indexes to show up as duplicates.
  • Fixed bug with the historic waits advisor was displaying 2 days in one slot on the chart.
  • Bug fixed with the progress bar not clearing on the connection report when there are no connections.
  • Fixed linking from the needs parameters report on the server overview page.
  • Fixed bug with click through on database I/O on the server overview panel.

Beta 10.2 Release Notes

Beta 10.2 (version 725) Released 06/1/2015.
The following changes have been made since Beta 10.1

New Features

  • Improved performance on the historic monitoring job.
  • Enabled multiple historic monitoring connections. In the past you could only have one monitoring server, now you can have any number of monitoring servers. Each SQL Server could monitor itself if needed.
  • Added the instance level quick scan report.
  • Updated the splash screen to include the ‘registration is free’ message so that people know they don’t have to pay to register.

Bug Fixes

  • Fixed a bug with the trial period timeout period.
  • Fixed a bug with the formatting of seconds on the database backup report. Now shows Hours, minutes and seconds.
  • Bug fix on the display of the last known DBCC check good report.

Beta 10.1 Release Notes

Beta 10.1 (version 723) Released 05/6/2015.
The following changes have been made since Beta 10.0

New Features

  • Added the Suspect Pages Report
  • Added the Error Log Report

Bug Fixes

  • Fixed a bug in the expiration message.

Other Notes

I removed the links to the IndieGoGo campaign that was intended to help fund the development. Thanks everyone who contributed, however we only raised $186 which was not enough do everything that I wanted to do with the campaign.

Beta 10 Release Notes

Beta 10 (version 721) Released 01/21/2015.
The following changes have been made since Beta 9.3.

New Features

  • Updated new, fresh icon.
  • Adding filegroup and partitioning key into the partitioning report.
  • Added linking to the IndieGoGo campaign to help fund the next beta.

Bug Fixes

  • Improved background processing, better handing of SQL connection failures.
  • Improved error handling on all background threads when attempting to connect to a database. Better handling when the connection fails.
  • Improved error handling on the pie chart on click event.
  • Updated copyright line to 2015.
  • Fixed crashing bug in the technical debt report.
  • Fixed bug causing a crash on the Table Size Advisor.

Other Notes

Due to the increased demand on my time to complete the next beta, I have created an IndieGoGo campaign to help fund the next beta version. If you haven’t heard of IndieGoGo, its sort of like KickStarter, it is a crowd funding site. Please give something if you can to help me fund the next beta release. http://igg.me/at/DatabaseHealth11

Beta 9.4 Release Notes

Beta 9.4 (version 709) Released 12/21/2014.
The following changes have been made since Beta 9.3.

New Features

  • Adding filegroup and partitioning key into the partitioning report.

Bug Fixes

  • Improved background processing, better handing of SQL connection failures.

Beta 9.3 Release Notes

Beta 9.3 (version 706) Released 12/14/2014.
The following changes have been made since Beta 9.2.

New Features

  • New report, Partitioned Tables. This new report shows all of the partitioned tables in a database. Double clicking for drill down shows the new Partitioned Tables Advisor that shows details on the number of partitions, rows in each partition and the range for each partition.
  • The entire color scheme has been updated, not so blue.
  • Added double click action on the one time use query report.
  • The duplicate indexes chart has been migrated over to the new report format and colors.

Bug Fixes

  • Performance improvements and bug fixes on the table size advisor. It is still a bit slow on really huge tables, but it works well on most.
  • Fixed the drilldown when double clicking the chart view on the disk space report.
  • Improved exception handling on the needs parameters report.
  • Increased query timeout on the index fragmentation report.
  • Improved the column layout and sizing on the following reports:
    • Missing Indexes Report
    • Unclustered Tables Report
  • Improved error handling on all background threads when attempting to connect to a database. Better handling when the connection fails.
  • Fixed a bug on the plan cache panel not linking to the right report.
  • The enter key now does the same thing as double clicking for drilldown on all grids in the application.

Other Notes

  • Based on improved crash reporting in beta 9.1 and 9.2, I was able to learn more about the common problem areas in the application. This lead to improved exception handling in many of the areas where a database connection is established, along with better error messages when a connection fails for some reason.

Beta 9.2 Release Notes

Beta 9.2 (version 704) Released 12/7/2014.
The following changes have been made since Beta 9.1.

Bug Fixes

  • Improved the column formatting on the Unclustered Tables report and the Connections report.
  • Improvement of the Pie chart pages, including, Reducing flashing on pie charts with only once piece and pie slice should highlight on mouse over not just on click.
  • The Active Queries Report, now supports click or double click to show query advisor dialog.
  • Adding better exception handling and error bailout on the realtime overview page.
  • Cleaning up some of the layout on the technical debt dialogs.
  • Refactoring code around the beta expiration dates.
  • Removing reference to obsolete modules.

Other Notes

  • Based on the increased popularity of Database Health Monitor, with more people using the program, there are more fringe case crash reports coming in. There were many fixes in this update to fix more of those fringe case crash reports. The overall crash reporting has also been enhanced to allow for better tracking and fixing of crash reports in the future.

Beta 9.1 Release Notes

The following changes have been made since Beta 9.

New Features

  • New report, Last DBCC Known Good by Database. Right click on a SQL Server name in the tree view to get to the new instance level report to see the Last DBCC Known Good by Database report. This was based on a customer suggestion (Thanks Martyn).
  • Added the databases by size report with drilldown on the databases sizes. Quickly find out how big your databases are including data, log, filestream and textindex. This was based on a customer request.
  • Right click menu option in the database tree view to connect to another database. Based on a customer request..

Bug Fixes to our SQL Server performance monitoring tools

  • Improved the column formatting on the Files report.
  • Fixed a bug with the technical debt page displaying a flash of a blank window when loading.
  • Fixed a crashing bug in the active queries report.
  • Fixed a bug related to threading on the server overview panel. This previously lead to a crash after switching between several SQL Servers. Threading leak has been fixed.
  • Added improved error handling and error reporting. All crash reports are now sent by a webservice call, which is much faster and more reliable than the previous method.
  • CPU by database chart has flashy/jaggy on updating. This has been fixed to be much smoother.
  • Fixed crashing bug related to minimizing the app when on the server overview page.
  • Fixed a crashing bug on Windows 7 relating to the timing of the display.

Other Notes

  • This update was mostly about improved stability. There were several problems introduced in Beta 8 relating to background threading, these have now been fixed.

Beta 9 Release Notes

Beta 9 (version 701) Released 11/23/2014.
The following changes have been made since Beta 8.

New Features

  • Added new real time report for Active Queries. This report shows the queries that are currently running (or blocked and waiting) on the current database. This was based on a customer request.
  • Right click menu option in the database tree view to sort the list of databases by either the database Id or alphabetically by name. This was based on a customer request.
  • New real time report to show database files with IO and stalls for database files and logs.

Bug Fixes to our SQL Server performance monitoring tools

  • Improved the column formatting on the Identity Column Usage report. In some cases the columns were sized too small to read the column titles. This has been fixed.
  • Broken links have been fixed. There are a number of help links in the system that were linking to http://databasehealth.com, these have been fixed to link to http://databasehealth.com.
  • Fixed crash caused by attempting to connect to a SQL Server that no longer exists.

If you have used a previous version of the database health reports, just download this version and install over the previous version.

Beta 8 Latest Release Notes

 

Beta 8 Released 12/29/2013.

The following changes have been made since Beta 7. The big feature in the Beta 8 is the rewrite of many of the charts.

New Features

  • Renamed to Database Health Monitor, attempting to avoid confusion with SSRS Reports.
  • Additional checks for obsolete or unusual settings (SHRINK_DATABASE, TORN_PAGE_DETECTION).
  • Blocking reporting with hierarchical drilldown on the blocking queries.
  • Server details panel showing logical and physical cpu counts, SQL Server Start time, SQL Server install data, Server Name, SQL Server version info, and information on real or virtual server.

Bug Fixes

  • Multithreading the re-connect of databases, vastly improving the startup time if one or more databases is not available.
  • A large amount of the project has been refactored to help mature the product and allow for additional feature growth, and reduce bugs.
  • Improved background threading.
  • Updates and bug fixes on SQL Technical Debt.

 

Beta 7 Release Notes

Note: The Beta was updated on 9/9 to be version 1.99.7.514 which includes a couple of fixes beyond the original beta.

9/2/2013

The following changes have been made since Beta 6. The big feature in the Beta 7 release was the addition of the Technical Debt reporting.

New Features

  • Technical Debt Reporting.
  • Support for SQL Server 2014 CTP1.
  • Full support for case sensitive databases. All features have been tested and confirmed good with case sensitive databases.
  • Historic Reporting Settings Dialog – Adding the ability to turn on or off monitoring for a specific database.
  • New Page Life Expectancy Tracking to the Historic Reports.
  • New CPU historic chart to the Historic Reports.
  • New “Create Script to Update All” Statistics button added to the Statistics report.

Bug Fixes

  • Multithreading the re-connect of databases, vastly improving the startup time if one or more databases is not available.
  • Speed improvements on every page in the application.
  • Improved speed on the Database Overview and Server Overview reports.
  • Refactoring code – reducing technical debt.
  • Historic reporting – improved cleanup of historic data to keep the DBHealthHistory database from growing too large.
  • Fixed the settings dialog for the number of days to keep historic data.
  • Performance tuning clipboard copy from grids with many rows.
  • Performance improvements on the index fragmentation report.
  • Improved disconnect/reconnect when a database is no longer available, for instance a VPN connection was dropped or reconnected.
  • Fixing bugs with minimum page settings for the fragmented indexes report. It now displays the right data.

Beta 6 Release Notes

6/3/2013

The following changes have been made since Beta 5. Many of these changes have been cleaning up what is already there, and making it more functional, for instance adding clipboard support to copy results out of the program.

New Features

  • Added an “Are you sure?” message to the defragmentation scripts before running them.  This also includes a preview of the script that is about to be run.
  • New Inefficient Indexes report added. Useful to find indexes that aren’t being used.
  • Scrollbar added to the historic waits report to allow for easier browsing of wait stats.
  • Add Ctrl+A support to the Query Advisor for select all on the edit control.
  • Added Ctrl+C clipboard copy support to all the grids.
  • Adding a setting dialog to consolidate some of the basic settings.
  • Added a threshold setting (to the new setting dialog) to set the threshold to search on the big clustered indexes report.
  • Added sorting to all the columns in all the grids.
  • Added the application name into the connect string.
  • Improved the call to check for updates when the application starts.
  • Adding another warning to the database overview panel for huge log files.
  • Added additional wait type documentation.
  • Improved error handling.
  • Added the update every X seconds functionality to the database connections report, this includes a setting in the setting dialog to change the every X seconds interval. If you don’t want it to update, just set it to a very large number.
  • New update interval settings for the database overview and server overview panels.
  • Adding Historic Plan Cache Hit Ratio Chart to the Historic Reporting section.

Bug Fixes

  • Fixed a bug in registering shared components. This previously caused a crash on the start up of the application.
  • Historic reports, in the last beta the cacheHitRatio table grew to large, fixed cleanup script to prevent this from happening.
  • Hide reports that don’t work on compatibility level of 80 if the compatibility level is 80 or lower. Previously these reports would crash on SQL Server 2000 and older.
  • Hide a couple reports that don’t work on SQL Server 2008 if the compatibility level is < 90 (SQL 2005).
  • Improving the current session query display on the Connection Advisor. The session query was missing most of the time, now it is working correctly.
  • Fixed several typo’s in the about box.
  • Fixed a tree view resizing issue when displaying the historic reporting panel. The tree view was about 30 pixels too short, it now sizes as intended.
  • Fixing recommendation for Duplicate Indexes Advisor to not recommend deleting the first duplicate unique index, but if there are multiple identical unique indexes, then some of them can be deleted.
  • Fixed the Duplicate Indexes Advisor to show the size / waste column in bytes, kb, MB, GB, or TB instead of just a number.

Setup Program Changes

  • Fixed the setup to install the charting controls if the destination computer does not already have them installed.  This previously caused a crash on startup of the applications.

Beta 5 Release Notes

3/3/2013

The following changes have been made since Beta 4. One new report added, the rest of the beta fixes focused on reducing bugs in the product.

Bug Fixes

  • Fixed problem with offline or recovering instances crashing the application. (Bug 107)
  • Bug fix which prevented connections on non-standard ports (ie not 1433) from connecting (Bug 109)
  • Fix bug when displaying SQL Server 2008R2 on the main panel.
  • Fix bug with switching between the backup report and the current connections report. The right report is now shown.
  • Fix bug which prevented crash notifications from being sent. If you opt in to notify the developer of crash reports, they will send correctly now.
  • Waits advisor time range in the grid didn’t match the chart, it was off by one day. Fixed now.

New Features

  • New report for Big Clustered Indexes added.
  • Improved error messaging on the Historic Waits monitoring connection test.
  • Added an “are you sure” prompt before starting an index rebuild from the index fragmentation report.
  • Extended the beta timeout period to 4 months rather than 2 months.

Beta 4 Release Notes

1/10/2013

Bug Fixes

  • Size missing on Disk Usage panel on the Database Overview page. (Bug #86)
  • Fixed the settings so that they don’t get reset on every version number change. Now store in the My Documents directory. (Bug #81)
  • Cached Plans page was just displaying a blank grid when there was no cache plans found, now it displays a message stating that there were none found. (Bug #82)
  • Fixed bug on the Database Overview page relating to the page writes and page reads queries. (Bug #97)
  • Fixed wording problems around tables with no identity columns. (Bug #93)
  • Fixed a bug when switching between full, log and differential backups causing the grid to shown nothing.
  • Fixed a bug involving databases with a different collation. (Bug #95)
  • Fixed a bug causing the defragmentation report to crash. (Bug #94)
  • Fixed several bugs related to case sensitive collations. (Bug #98, #99, #100, #101, #102)
  • Fixed problem where differential backups were not being reported correctly on the Database Overview Backups Panel.

New Features

  • Added warnings when your database collation doesn’t match the collation of TempDB.
  • Added recovery model display into the Database Overview Backups Panel (User Requested).
  • Added last backup time to the Database Overview Backups Panel (User Requested).
  • Connect to database page now prevents connecting to unsupported SQL 2000 or older databases.
  • Connect to database now validates that the user has the needed permissions.

Setup Program Changes

  • Replaced the entire setup program with a new program.
  • Included ability to run the Database Health Reports at the end of the install. (Bug #1)
  • Release notes now shown at the end of the setup process.
  • Included option to add an icon to the desktop.

Beta 3.1 Release Notes

11/21/2012

Beta 3.1 was release shortly after Beta 3.   There were a couple of bugs reported right after the Beta 3 that were fixed in Beta 3.1.  There were not new features in Beta 3.1, just some bug fixes.

Beta 3.1 included the following:

  • Performance tuning the historic waits advisor charts.  Fixed.
  • The fragmented indexes report was crashing on databases that had no indexes. Fixed.
  • Show tables with triggers report was crashing occasionally.  Fixed.
  • Empty tables were incorrectly reporting missing statistics.  This has been corrected.  Fixed.
Thanks for all the feedback that helped me to get this issues fixed.

Beta 3 Release Notes

11/18/2012

The Beta 3 release of the Database Health Reports adds 2 major milestones, first the Historic Monitoring which, in my opinion is as useful as the entire rest of the Database Health Reports project.   The second milestone was support for SQL Server 2005.  Several bugs were fixed that allow for the program to function correctly when connection to SQL Server 2005.

The supported versions of SQL Server for the Database Health Reports project are now:

  • SQL Server 2005 SP1 or newer
  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012

New Features

  • Added Historic Monitoring.  This is the main feature added in Beta 3.
    • Added an additional drilldown level in the tree view hierarchy.
    • Creates a small database on one SQL Server instance to track historic data from multiple instances.
    • Includes filtering by time, user, database, query, and host.
    • Allow drilldown by time, user, database, query and host.
    • Added the Historic Query Waits Advisor with charting over time, waits summary, and links to the original Waits Advisor.
  • Added a configuration option for the minimum number of pages to consider in the fragmented indexes report.  Allows users to skip the small tables with fragmentation since fragmented small tables don’t have as big of an impact as the larger tables.

Bug Fixes

  • Fixed a timing related crashing bug on the Table Sizes Advisor.
  • Fixed crash on startup related to the splash screen.  Implemented a new splash screen.
  • Fixed several crashes with SQL Server 2005 instances.  In Beta 1 and Beta 2 I didn’t do enough testing on SQL Server 2005.  With Beta 3 I think we are good on 2005, although a couple reports are disabled because the use functionality not available on SQL Server 2005.
    • Bug 70 – Crash on backup reports with SQL Server 2005.
    • Bug 71 – Stored Procs by logical writes crashes on SQL Server 2005.
    • Bug 73 –  Re-implemented the statistics reports so that they function on SQL Server 2005.
  • Fixed bug relating to ;, + and other not alphanumeric chars in passwords.  It was causing the login to fail, now it works.
  • SQL Server 2000 is not supported, none of the functionality works on SQL Server 2000, I now disable connections to SQL Server 2000 to prevent a variety of crashes throughout the reports.

Installation Notes

Beta 3 should install just fine over Beta 2 if you do have any trouble where you still see Beta 2, then uninstall the Beta 2 version and then reinstall Beta 3.

 
 

Beta 2 Release Notes

New Features

Bug Fixes

  • Performance tuned the Page Reads and Page Writes reports which were having some difficulty on larger databases.
  • Fixed bug with the Plan Cache Report which was only showing data for the master DB originally, now it shows for the appropriate database.
  • Performance tuning on the Table Size Advisor dialog. There is a lot going on with this, it may take some time, but it is faster than before.
  • Performance tuning on the Fragmented Indexes Report.
  • Improved error handling on connection failures such as invalid password or a bad username.
  • Removed backup status for TempDB as this really didn’t make any sense. Why would anyone backup TempDB.