Unearthing Bad Deployments with SQL Monitor and Redgate’s Database DevOps Tools
Sudden performance issues in SQL Server can have many causes, ranging all the way from malfunctioning hardware, through to simple misconfiguration, or perhaps just end users doing things they shouldn't. But one particularly common culprit is when deployments go wrong: I don't know a single DBA who hasn't been burned by a bad release.
By implementing reliable, scalable and repeatable processes for build, test and deployment of database changes, the risk of introducing defects into production is significantly reduced. But what if the change behaves differently to expected in the production environment?
Here’s the top of SQL Monitor’s Server Overview screen – the sort of screen you might be looking at after learning that a server’s running slowly. SQL Monitor raised a High CPU alert at 8:31, and it’s pretty clear that something went dramatically wrong shortly beforehand, but what?
At this point, the challenge is to narrow down the root cause as quickly as possible. As the DBA, this kind of investigation turns you into a detective, where every minute taken to find the problem has a real cost to the organisation’s productivity, as well as to your reputation.
While bad deployments can eventually be tracked down by following other avenues, SQL Monitor now makes the cause of the problem instantly obvious by surfacing deployment information generated by Redgate’s deployment tools (SQL Change Automation and SQL Compare) in context within SQL Monitor.
You now see the release marked on the timeline immediately below the performance data, and upon hovering, we see which database was deployed to, as well as by what tool. This saves valuable time by instantly revealing the smoking gun, with no further exploration needed.
This capability is part of Redgate’s SQL Toolbelt and is available for any changes made by the latest versions of SQL Change Automation, or SQL Compare. There’s zero setup needed, either in SQL Monitor or in the deployment tools, so changes made by anyone in the organisation using these tools will automatically be shown.
We’ll be improving this feature further, with information about the user responsible for making the change, and potentially the build number in the case of automated deployments, making it even easier to correlate changes in key metrics with specific release activities.
What now?
Check out the latest version of SQL Monitor, or read more about Redgate’s Database DevOps solution. As usual, we’d love to hear your feedback. How can we improve this further? Just drop an email to sqlmonitorfeedback@red-gate.com.
Requirements
To take advantage of this capability, you’ll need to be running SQL Monitor 7.1.5+ along with SQL Compare 13.0.3+ or SQL Change Automation.
This capability is also compatible with DLM Automation 2.0.18-[final version] and ReadyRoll 1.14.13-[final version]. Additionally the deployment tool must be licensed as part of the SQL Toolbelt, rather than as a standalone product.
The user making deployments will need to have execute permission on xp_logevent (or can alternatively either have the dbowner role on the master database, or be a sysadmin).
Tools in this post
Redgate Monitor
Real-time SQL Server and PostgreSQL performance monitoring, with alerts and diagnostics