Regular monitoring of your SQL Server instances is vital to ensure optimal performance, efficiently troubleshoot performance problems, and perform capacity planning. Although there’s no doubt that SQL Server performance monitoring is essential, it can be difficult to accomplish manually—choosing the right monitoring tool is critical.
Many small and medium-sized businesses don’t perform any database performance monitoring or what monitoring they do have in place is very basic. However, the lack of monitoring can be like flying blind—you’re always surprised at what you encounter.
One of the biggest problems with this approach is the absence of a performance baseline. For example, if one of your critical production applications suddenly experiences a performance problem, you can start troubleshooting the problem by using SQL Server Activity Monitor or the Dynamic Management Views (DMVs). However, without a regular history of your system’s performance, it’s difficult to quickly identify specific problem areas because you have no known reference points to compare to your current metrics. The absence of baselines vastly increases troubleshooting time. Having a set of performance baselines that were collected from regular monitoring enables you to quickly identify any anomalies by comparing current performance to historical metrics and identifying the differences.
Regular SQL Server monitoring is great for troubleshooting performance issues and capacity planning, but it can be difficult to do manually because it can require a high level of expertise; it can also be time consuming. You need to know the right areas to monitor, be familiar with the tools and methodologies, and know how to interpret the results. Manual monitoring solutions can be very labor intensive, making them easy to neglect. In the best of cases, inadequate monitoring results in poor performance, and in the worst cases, it can even result in system downtime.
You can monitor your databases manually using native SQL Server tools such as SQL Server Activity Monitor, Windows Performance, SQL Server DMVs, and Extended Events. However, using a lot of different tools is both unwieldy and requires expertise to be able to run, collect, and interpret the results from each different tool.
Implementing a third-party SQL Server performance monitoring tool makes monitoring more efficient by bringing all of the information you need together under a single pane of glass and enables you to leverage the SQL Server expertise that’s built into the monitoring solution.
SQL Server performance monitoring tools provide many important benefits, including:
Some of the capabilities you should look for in an effective SQL Server performance monitoring solution include:
You will want to look for a monitoring tool that can monitor physical, virtual, and cloud targets and scale to support your entire infrastructure—from a single SQL Server instance to hundreds of instances.
Your monitoring solution needs to show all the vital SQL Server performance metrics, including long-running queries, queries with high I/O, missing indexes, deadlocks, blocks, and waits, as well as storage and system resource usage.
Although tracking vital metrics is important, it’s crucial that the solution you implement also provide guidance on the normal range for these metrics, as well as possible causes for any discrepancies.
The ability to track and optimize your T-SQL query performance is vital for finding and fixing problematic queries. Your performance monitoring tool should be able to perform root cause analysis by drilling into problem queries to identify the underlying causes of performance problems.
Your performance monitoring solution needs to be able to regularly record and track your SQL Server system performance and environment conditions.
Your monitoring solution shouldn’t impact your production processes and shouldn’t add compute overhead while it's monitoring your systems.
The ability to generate alerts for critical system conditions enables you to take corrective actions to rectify the alert conditions quickly. And the ability to customize alerts enables you to be notified just for the conditions that are important for your environment—allowing you to avoid annoying “alert storms" that notify you about every little event.
When you’re evaluating database performance monitoring solutions, you need to do the following:
“The more that I use SentryOne SQL Sentry, the more I fall in love with it. #SQLSentry #LoveStory”
—John Morehouse, Consultant at Denny Cherry & Associates Consulting
Join Lori Edwards, SentryOne training manager, for a walk-through of SentryOne—the all-in-one platform that allows data professionals to monitor their SQL Server environment easily, quickly diagnose issues, and get to the optimal performance.
The SentryOne Performance Analysis Dashboard provides unequaled insight into your SQL Server database performance to get to the root of performance issues.
Monitor your most important performance metrics, such as long-running/high-impact queries, deadlocks, blocks, waits, I/O bottlenecks, and storage as well as system resource usage. The SentryOne Monitoring Platform is a full-service performance monitoring tool for SQL Server, Azure SQL Database, Windows, and SQL Server Analysis Services (SSAS).
Improve the manageability as well as the visibility of your SQL Server index fragmentation statistics. SentryOne Fragmentation Manager allows you to set up a schedule across your entire environment to automate index defragmentation operations.
You can also customize the maintenance schedules for individual instances, databases, tables, and indexes. Execute index defragmentation actions faster and more efficiently with the support of multiple concurrent operations.
Although it's not a database performance monitoring tool, SentryOne Plan Explorer can play an integral part in the performance tuning process. Plan Explorer makes query plan optimization more efficient in a lightweight standalone app, allowing you to investigate poor performing queries in a variety of ways.
Potential trouble areas are highlighted automatically for easy viewing, and you can open multiple tuning sessions simultaneously to compare different execution plans. With the aid of the version history feature, you can even track your query tuning history with comments.
With SentryOne Event Calendar, SQL Agent jobs—as well as other events across your enterprise—are presented in a calendar-style visual display, giving you control over scheduling conflicts that can impact server performance.
Event Calendar also boasts an extensive and reliable notification system, providing detailed alerts and response actions to a variety of event status, runtime, and performance conditions.
Want to learn more about SQL Server performance monitoring? Check out the following resources: