5 September 2017
5 September 2017

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.

To help, hundreds of thousands of developers and DBAs use Redgate’s Database DevOps solution to automate the build, test and deployment of their database changes. By implementing reliable, scalable and repeatable processes the risk of introducing defects into production is significantly reduced. But what if the change behaves differently to expected in the production environment?

An example

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 (DLM Automation, ReadyRoll, 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 – it is available today for any changes made by the latest versions of DLM Automation and ReadyRoll, and will ship in SQL Compare within the next couple of weeks. 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.

Sometime in the future we hope to advance this even further, with information about the user responsible for making the change, and potentially the build number in the case of automated deployments. But for now, we hope that simply being able to correlate changes in key metrics with releases at a glance will make your life a little easier.

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.

Thanks!

Ben

 

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+, DLM Automation 2.0.18+, or ReadyRoll 1.14.13+. 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).

Share this post.

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

Related posts

Also in DLM Automation

Moving from application automation to true DevOps by including the database

The recent State of Database DevOps Report revealed that within two years, 80% of companies will adopt DevOps. That’s an interesting finding in itself, but the report also showed that 75% of compani...

Also in Hub

Finding code smells using SQL Prompt: TOP without ORDER BY in a SELECT statement

Using TOP in a SELECT statement without a subsequent ORDER BY clause is legal in SQL Server, but meaningless because asking for the TOP 10 rows implies that the data is guaranteed to be in a certain o...

Also in Product learning

Choosing Between Table Variables and Temporary Tables

People can, and do, argue a great deal about the relative merits of table variables and temporary tables. Sometimes, as when writing functions, you have no choice; but when you do you’ll find that b...

Also in ReadyRoll

Baselining a ReadyRoll project from an existing database

Deploying schema changes to SQL Server databases can be tricky when you’d like to automate parts of your workflow. For instance, how do you go about version controlling your schema changes? In appli...

Also in SQL Compare

SQL Compare Snapshots: a lightweight database version control and rollback mechanism

I'm a big fan of using SQL Compare during proof-of-concept (POC) development. During the very early stages, I'm often unsure of the value of my current coding efforts and am not ready to commit unstab...

Also in SQL Monitor

Monitoring Distributed SQL Servers using SQL Monitor

Many organizations are experiencing rapid expansion and diversification of their SQL Server estate to include Cloud, VMWare and other platforms, alongside traditional on-premise servers. This article ...

Also in SQL Toolbelt

Effective Database Testing with SQL Test and SQL Cover

A well-established technique for improving application code quality, during software development, is to run unit tests, in conjunction with a code coverage tool. The aim is not only to test that your ...