Product articles Database Performance Monitoring

Troubleshooting SQL Server Queries using Actual Execution Plans

For SQL Server 2019 onwards, SQL Monitor can now show the actual execution plan, complete with runtime statistics, for expensive queries that were running over any period of investigation. This means you'll not only know how SQL Server executed your poorly performing query but also see accurate runtime data. Any big discrepancies between estimated and actual row counts will be revealed, and SQL Monitor will highlight any warnings and offer recommendations. Read more

Integrating SQL Monitor into a Tier-1 Alert and Notification System

SQL Monitor provides detail-level diagnostic data that will allow an expert to drill down to establish the cause of, and a fix for, any database problem. However, with support for webhooks, it can also contribute alerts to the sort of "Tier 1" alerting and paging system that an operations team might use to get an immediate notification of an urgent problem, anywhere on the network, and then coordinate a timely response. Read more

Is Tempdb Causing a Bottleneck?

One of your SQL Server instance shows a major dip in performance or throughput, affecting all the user databases. You notice that the slow interludes coincide, as if orchestrated. On investigation, it appears that several transactions running over that period were using a lot of space in tempdb. However, which of them, if any, are causing the tempdb bottleneck, and why? Read more

Gathering SQL Server Performance Counters for Multiple Servers

SQL Multi Script can easily be persuaded to run queries at the server level rather than the database level. It is also able to combine results from many databases even if the results aren't identical but have some different columns. Phil Factor demonstrates how this works, when collecting a set of performance counters from all databases on a distribution list of servers. Read more

Monitoring SQL Server Performance: What’s Required?

A monitoring tool must provide us with an understanding of the often-complex performance patterns that databases exhibit when under load, so that we can predict how they will cope with expansion or increase in scale. It must also helps us spot the symptoms of stress and act before they become problems that affect the service, and understand better what was happening within a database when an intermittent problem started. Read more

Custom Metrics for Detecting Problems with Ad-hoc Queries

Overuse of ad-hoc queries by applications is a common source of SQL Server performance problems. The symptoms include high CPU and memory pressure. Phil Factor offers a simple custom metric to monitor the percentage of ad-hoc queries being executed on a database, and shows how SQL Monitor can detect when the problem is happening, and show you the queries that are affecting the server. Read more

Using SQL Monitor to Detect Problems on Databases that use Snapshot-based Transaction Isolation

Use of the read committed snapshot isolation level is often an effective way to alleviate blocking problems in SQL Server, without needing to rewrite the application. However, it can sometimes lead to tempdb contention. This article offers a small-scale solution (not suitable for use on large tables) to detect cases when tempdb contention is related to use of RCSI. Read more