Monitoring your database schemas with pipelines

DLM Dashboard tracks changes to your database schemas across different environments. In this blog post, we’ll talk about organizing your databases into pipelines, and how this can help you to better understand your workflow.

How was it organized before?

Grouping databases by category

In the first version of DLM Dashboard, databases were grouped by category – or environment – to distinguish stages in the workflow from development to production. For example:


Grouping databases by server

In the next version, you could group databases by their parent server. Many users had a different server for each environment, so it made sense to keep their production servers separate:


What could we improve?

Grouping by category or server worked fine for users who were only tracking one or two database schemas. But what about users monitoring more than one application? When they added more databases, DLM Dashboard grouped database schemas from different applications together. The workflow wasn’t clear, and it wasn’t easy to see which changes were moving from development to production. We knew we could do better.

Grouping databases by pipeline

We started developing a new version of DLM Dashboard that would group databases into pipelines according to their schemas. By grouping databases that share similar schemas, it’s easy to track schema changes as they progress through the stages of your database’s lifecycle.


How does it work under the hood?

DLM Dashboard compares the schemas being monitored and groups those with similar database structures into pipelines. This calculation is based on a distance measurement between the two databases: the more differences there are between two database schemas, the further the distance between them.

For example, look at the FinanceDev and FinanceProd databases below. They use Database/Table/Column to define the objects present in the database schema.


The databases aren’t equal but they’re similar, so they’re grouped into a single pipeline named Finance. The distance between them is small.

Say that we then start to monitor another database, EmployeesProd:


EmployeesProd is placed in its own pipeline (called EmployeesProd) because it’s not similar enough to be grouped with FinanceDev or FinanceProd.

What do users think of pipelines?

We added in-app feedback along with this new feature, to find out how accurately DLM Dashboard groups different users’ databases.



The questionnaire has been live for five weeks and, with over 600 responses, the results have been largely positive:

What’s next?

The team are now exploring ways to make pipelines even better. We’ve already added the ability to apply a filter to the databases in a pipeline, so you can define what drift means to you, and ignore changes you’re not interested in. We’re currently working on support for manually configured pipelines, so you can control exactly how your database schemas are grouped.

Comments or questions? We’d love to hear from you. Please send your feedback to

Tools in this post

DLM Dashboard

Track your SQL Server databases and be the first to know about schema changes.

Find out more

Share this post.

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

Related posts

Also in Hub

Documenting your Database with SQL Change Automation

It would be wrong to portray SQL Change Automation (SCA) as being suitable only for epic project deployments, of the sort described in my previous article. It can do smaller tasks as well. To demonstr...

Also in DLM Dashboard

We don't need no documentation - automating schema docs in SQL Change Automation

"Understanding the existing product consumes roughly
30 percent of the total maintenance time."
Facts and Fallacies of Software Engineering by Robert L. Glass.

You should be documenting your datab...

Also in Product learning

SQL Prompt Code Analysis: INSERT INTO a permanent table with ORDER BY (PE020)

The SQL query that is used to produce the result that is inserted into the permanent table has its order specified by an ORDER BY statement. Relational tables are not ordered, so the ORDER BY is meani...

Also about DLM Dashboard

DLM Dashboard – the inside story

As a DevOps engineer at Redgate, I’m one of those responsible for keeping the systems going behind the scenes. That’s everything from the internal systems and databases to the infrastructure that ...