Monday Monitor Tips: Native Replication Monitoring

Redgate Monitor has been able to monitor replication for a long term, but it required some work from customers. Now we’ve added native monitoring.

This is part of a series of posts on Redgate Monitor. Click to see the other posts.

New Native Monitoring

The monitoring capabilities in Redgate Monitor were originally fairly limited to a few counters from PerfMon. A few people had written custom metrics on sqlmonitormetrics.com that clients could use, but we’ve had customers asking for more native integrations.

We’ve done it. With version 14.2, we have added an estate view of your replication environment. In the Estate menu, there is a new entry for Replication Monitoring.

2025-11_line0125

If I click this, I get a list of the jobs running replication across various servers. You can see this below, with each instance and the job denoted by a REPL- at the start. These are the defaults that Microsoft sets up and should be left alone.

You can see below that the agent server name is listed, and I can click it to get to that server overview in Redgate Monitor. I also have the category and job name to the side. Beyond that we have the last completed run if it’s successful. If it’s running, the Job Ended is blank. To the right we have the publisher, subscriber, and distributor names.

2025-12_0164

I can resort the columns, such as below when I am looking by category.

2025-12_0165

I can also sort by publisher:

2025-12_0166

Or subscriber (or any other column).

2025-12_0167

Clicking the column a second time reverses the sort order.

Alerting

There are two new replication specific alerts available for the job failures and maintenance job failures. These work the same as any other alert in Redgate Monitor and can be configured for specific servers, groups, levels, etc., with notifications going out to all the notification targets.

Here are the alerts in the alert configuration.

2025-12_0168

These jobs run across the various replication categories: distribution, merge, snapshot, log reader, and queue reader.

If I look at the details, I can see the job failure works across multiple categories and is set to a high level alert. I can adjust this as I can with any other Redgate Monitor alerts, and exclude jobs if I wish with a regular expression.

2025-12_0169

The replication capabilities are documented here: https://documentation.red-gate.com/monitor14/sql-server-replication-314869637.html

Summary

Replication isn’t something most people use, but for those that do implement it, monitoring is critical. Redgate Monitor has added some native capabilities to let you get a glimpse of your entire replication estate at once and get notified if there are issues.

Replication can be amazing, but I find it brittle. When it works, it’s amazing, but when it breaks, it’s broken. Getting a jump on issues is important for many organizations and Redgate Monitor can help you do that.

Redgate Monitor is a world class monitoring solution for your database estate. Download a trial today and see how it can help you manage your estate more efficiently.

Posted in Blog | Tagged , , | 1 Comment

Refactoring SQL Code

One of the things I see software developers often talking about is how they refactor code. As they touch a class, method, etc., they may take the time to refactor the code to make it cleaner, perform better, or just add some documentation. It seems that a regular part of a software developer’s job is refactoring code in the codebase.

That is unless they see a “don’t touch this, no idea how it works” comment. There are plenty of those, and often everyone leaves that code alone.

I was thinking about this when I saw this article on strategies to refactor sql code. The article seems written more for PostgreSQL, but there are items that relate to T-SQL as well. The main thrust of the article is about trying to rewrite code to DRY (don’t repeat yourself). The more changes you can make to shrink code, either to make it easier to read or avoid repeating those copy/paste items, the better off your team will be. It’s easy to think those copies aren’t a big deal, but it’s easy to update code in one place because that solves the problem you were given, and forget to fix all the copies.

I don’t know that anyone should implement all the techniques listed, but they are things to think about. Using CTEs, Views, APPLY, the WINDOW clause, and more can help improve the health of your codebase and make it easier for all the members of your team to understand how the system works.

I wonder how many of you have a refactor mentality when you touch code, or do you tend to leave things alone and add new queries/objects/etc. to your database. I wonder if the fear of breaking something that might be used by other code is on your mind. Or maybe you suffer from “not invented here” (NIH) and just add your own code.

If you refactor code, then what things do you look to change or improve? Any tips/tricks/guidelines you’d share with others? If you don’t refactor code, why not?

I think testing is a big part of refactoring. If you have tests, then you can be less worried about your changes breaking something. There is a great video on practical refactoring. It’s from the software engineering view, and it’s long, but it’s worth a watch if you have a few moments.

I wish more people tested their SQL code and refactored poorly written (or poorly performing) code on a regular basis.

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Note, podcasts are only available for a limited time online.

Posted in Editorial | Tagged | 1 Comment

Advice I Like: Art

Superheroes and saints never make art. Only imperfect beings can make art because art begins in what is broken – from Excellent Advice for Living

Interesting advice for living here. What is art? For many of us this is a painting, a piece of music, a theatrical performance, maybe a garden. In those cases, often inspiration comes from something broken. A broken heart, a tragedy, maybe something else.

Even in software, where I work, we might seek to create something amazing, an artistic piece of code, because we’ve seen other things that were broken and caused problems.

However.

What about love songs, the inspiration of which might be something great. I looked for some, but in most of the lyrics, there seems to be something broken. I Will Always Love You is popular, but seems to be a relationship that isn’t amazing.  Something, one of my favorites has the idea that the the author doesn’t know. There’s some lack of confidence.

Maybe the best one I found is Just the Way You Are (Billy Joel, not Bruno Mars). Here the author doesn’t care about any sort of imperfections of problems, and doesn’t seem to imply there are. He just says I accept you for what you are. That isn’t broken.

In most other songs, the singer, or the object of their affection is broken in some way, so maybe there’s more to this advice than I thought at first.

I’ve been posting New Words on Fridays from a book I was reading, however, a friend thought they were a little depressing. They should be as they are obscure sorrows. I like them because they make me think.

To counter-balance those, I’m adding in thoughts on advice, mostly from Kevin Kelley’s book. You can read all these posts under the advice tag.

Posted in Blog | Tagged , | 2 Comments

Investing for AI

The GenAI boom is growing like crazy. From hype to disasters to successes to investment to the embedding of GenAI tech into lots of products, it seems no one gets away from AI. My wife, kids, friends, they all talk about AI and alternately give me stories of huge successes or epic failures. Even those who just scroll through reels aren’t immune as we see amazing things, but we can’t trust them because of AI. Who knows what image/video/audio was actually recorded and what was generated.

Like many of you, I think AI can be amazing. Like more of you, I think it can be a really poor partner and it produces output I can’t trust. I think one of the major challenges is learning to treat an AI like a colleague whose work quality is erratic. It’s not that I can’t work with them and use their work, but I need to test, validate, and verify the code they give me does what I need, at some acceptable quality level.

Microsoft is a company investing a lot in AI, and it’s changing the company. Some of us might not like the direction as it seems that AI is being pushed for the sake of AI and to generate profits for Microsoft. Or at least revenue as I’m not sure how much profit there will be with all the compute costs of AI. However, it’s certainly affecting every product development team.

I listened to a very interesting interview with Satya Nadella talking AI, globalization, and more, including a data center tour of their new AI site in the ATL. The data center tour with Satya and Scott Guthrie is at the beginning and it’s amazing to see. The network connections in this data center are equivalent to all of Azure a few years ago. That’s impressive, especially seeing they plan to link these new generation data center with petabit networks. For someone that grew up with 300baud modems and then 2.5Mbps Arcnet, I can’t even conceive of these speeds.

As I listened to the interview, I was skeptical of Microsoft’s efforts. The hosts were as well, as they pressed Microsoft to really give them a reason why all this AI investment makes sense. The interview is long (1:27:47), but includes some interesting statements.

Satya says that AI might be the biggest think since the industrial revolution. I could see that, and I’m not sure I disagree. AI tech, with the ability to reduce the requirements to interact with a computer for everyone, is incredible. It can dramatically reduce the UX issues we constantly see with developers building things that don’t always make sense to users. For me, I love that it can handle my misspellings, something many traditionally coded systems cannot handle.

There’s also a great quote that Satya uses from a CMU professor: AI is a guardian angel or a cognitive amplifier. I think it’s both, as AI is a tool and it’s something you can use well or not. If all you have is a hammer, everything looks like a nail; that’s a famous quote. A hammer is a great tool.

Sometimes.

Sometimes it’s not the tool, and something else is needed. AI can be a great cognitive amplifier, but if you treat all problems as nails, you will let AI create a lot of problems. However, if you use it for the appropriate task, it can really help you. The AI can also see or spot things that we can miss as humans. As the world gets more complex, we deal with more things at once, or the rate of information coming to us increases, we may (will) miss things. An AI can do a better job of catching things, just like another person might catch things you miss.

The last interesting thing is on models vs scaffolding where we look at what models mean and what scaffolding or infrastructure. The example is with Excel (which Satya wish had a database), but it’s an interesting look at how we might get value from AI in getting tasks done, and saving labor with AI technology. It’s worth the listen (or read the transcript).

I found myself seeing how this might not only benefit Microsoft, but perhaps will benefit the world as other companies embrace multiple models and facilitate the ability of more people to use AI tech. I still don’t know if the ROI and costs make sense, but we will as the AI bubble bursts and this becomes a normal part of our lives in some way.

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Note, podcasts are only available for a limited time online.

Posted in Editorial | Tagged | 3 Comments