SolarWinds is well-known for its extensive product range empowering Microsoft IT professionals to achieve breakthrough performance across physical, virtual, and cloud environments. This includes wonderful products iTWire has looked at in the past like SolarWinds Server & Application Monitor (SAM), or SolarWinds NetFlow Traffic Analyzer (NTA), or SolarWinds DBA xPress. It also includes SolarWinds SQL Sentry, a comprehensive database performance monitoring and DataOps solution for Microsoft SQL Server, Azure SQL Database, and the Microsoft Data Platform.
First released in 2004 by SentryOne, SQL Sentry has enjoyed 17 years of innovation and evolution to bring it to what it is today—a robust database management utility designed to ensure your business-critical applications have the peak database performance they need.
SentryOne was acquired by SolarWinds this time last year, with SentryOne's mission of empowering Microsoft data professionals fitting in completely with SolarWinds commitment to helping IT pros solve the toughest IT infrastructure management challenges.
One year on, it's impressive to see how the size and scale of SolarWinds have boosted SQL Sentry's reach and depth in aiding Microsoft-based database administrators.
Database performance can't be understated; every unnecessary second in processing a query is a further delay to your website visitors, it's a further chance for competing transactions or reports or updates to conflict, it's another snag in surfacing business insights and analytics. Ultimately, database performance problems have a real business cost tied to them.
At its heart, SQL Sentry is used to monitor, diagnose, and optimise SQL Server environments whether on-premises, cloud, or hybrid. Unlike many other tools designed to scan indexes or look for interesting event logs and tell you what's happening right now, SQL Sentry retains historical data meaning it can dig deep to identify long-term patterns and changes you might not otherwise realize are impacting you.
It's more than this, however. SolarWinds includes other tools in its suite like SolarWinds Database Mapper which automatically documents your database—a huge boon to everyone who has ever asked, "do we have a data dictionary for this?", or SolarWinds Task Factory which provides high-performance components and tasks for SQL Server Integration Services, expanding its smarts and capabilities without a line of programming needed, or SolarWinds Plan Explorer, to quickly get to the root of query problems.
iTWire spent time exploring SQL Sentry in a commercial real-world multi-national environment. During this time, we were impressed by both its ease of use and the simplicity in which it highlighted items of possible concern.
For example, with one heavy-use application, we struggled to get to the bottom of recurrent deadlock issues. Prior to SQL Sentry, our capabilities were limited in delving into precisely what was happening and where these competing queries were coming from. Attempts were made to combat the situation by reviewing indexing, and by increasing MAXDOP (maximum degrees of parallelism) which in turn increased CXPACKET waits. Yet, these were stabs in the dark.
With SQL Sentry,we could set alerts to notify us if the deadlocks hit a certain threshold within a fixed time period, so we weren’t chasing fairly routine or benign deadlocks, and importantly, we could review and playback historic data, looking at specific events and objects causing most of these alerts. We received clear information, allowing us to thoroughly inspect and analyze the queries to identify specifically the conflict. Actually, we were able to drastically cut one oft-run stored procedure from a runtime of around 36 minutes to 44 seconds, combining the SQL Sentry alerting and historic data with the performance analysis dashboard. It was a magnificent experience and SQL Sentry’s facilities helped uncover a problem we otherwise had limited visibility into.
Meanwhile, the performance analysis dashboard is itself likely to be your main home within SQL Sentry. This offers key metrics in real-time or historically, allowing you to drill down into resource usage. Again, the opportunity to go back in time is much appreciated, especially when the CEO randomly calls and asks, “My apps were slow last week. Why?” Now you can find out. iTWire also enjoyed SQL Sentry’s concept of custom process groups, so you could extract specific applications or processes out of the mix. This helped show if CPU load was specifically SQL Server-related or was caused by something else on the machine instead. Similarly, waits can be broken out into their own custom groups. Further, you can make your own baselines to compare performance over timeframes best suited for your needs.
Referring to our deadlock example, iTWire also found SQL Sentry offered significant flexibility in how we configured alerts. I’ve always been mindful of alerts giving value, not making noise. In the past, I’ve seen too many situations where something failed and on investigation it turned out alerts were generated, revealing the failure was imminent—and hence, preventable—but all the alerts were simply filed away to a folder, sitting unread, via a rule in Outlook. The SysAdmins receiving the alerts felt there were too many and instead of tuning them, simply chose to auto-file them and never read them. This, to me, is unacceptable. Alerts need to be useful and usable. If they become noise and people ignore them then turn them off or fix them.
Delightfully, SQL Sentry helps alerts stay relevant and meaningful. Alerts can be created within a hierarchy and topology that can be configured and organized in a rich set of ways to make sense for your situation. It allows you to control alerts based on environment, application, workload type, and other classifications. You can set dev and prod alerts in different ways, for example. This includes rulesets to adjust how many occurrences of the event should occur within a set timeframe before you are notified at all, all helping maximize signal and reduce noise.
Additionally, iTWire found we could leverage the topology to use different From: addresses in emailed alerts, so they went into different queues in our service desk, again maximizing signal to noise and only alerting those who were responsible for the area. In fact, we could customize alerts to use different methods of contacting people, during different periods of the day—no more text messages going to those not on-call during the night.
There’s more we could say; iTWire used SQL Sentry to generate database documentation, to delve into performance issues that were previously impenetrable, to visualize deadlocks, to adjust index fill factors with expert guidance instead of going by Internet rule-of-thumb, to adjust maintenance tasks, to identify and analyze high-impact queries, to evaluate query plans, to create a raft of highly-tailored alerts, and more.
Ultimately, if you have a SQL Server environment— no matter where or how big or small, SolarWinds SQL Sentry gives you all the tools you need to perform root cause analysis, to understand your workload performance, to deeply understand the health of your platform, to provide deep insights, to facilitate a proactive and agile data-oriented culture, and ultimately, to continually deliver highly available and highly performant data to the business.
SQL Sentry is available as a free trial to see it for yourself, risk-free.