Multiple Monitoring Tools

Part of my Redgate work is with customers who need to monitor their database servers. With estates growing quickly, both in scale and types of database platforms used, keeping an eye on everything can be challenging. Add in the lack of staff growing as quickly are the number of servers, and I find many companies seeking out monitoring tools to better help them manage the entire estate..

When someone evaluates a tool, one of the first questions from many people is about load. They are concerned about the load a tool puts on the system, which is always some amount. Most tools say they use less than 2% of total resources, some might hedge at 5%. Hopefully, there’s no more impact than 5%, though that might seem to high, especially if you have a busy database server already.

I’ve seen several customers who have multiple monitoring systems. Often this is because each tool does something well, but lacks a feature or capability that another provides. Each of the tools needs its own data, which can result in more performance impact.

Is it worth the overhead? If you had a second tool that provided more capabilities, would you ditch one of your tools? I know I work for a vendor that produces a monitoring tool (Redgate Monitor), but I’m genuinely interested in how many of you view the world.

We often make trade-offs, but sometimes we aren’t willing to change. Perhaps you have a tool that works very well doing a certain task, and you don’t want to stop using it. I know I’ve been in that situation, and unless another tool adds that thing, or more things I desire, I’d likely continue to use two tools to accomplish all the things I need done.

Specialized tools have a place, and it can be worth the hassle of using them when a more general tool just doesn’t get all the work done.

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 | Comments Off on Multiple Monitoring Tools

Generating Random Strings with GenAI

One of the things I’ve been experimenting with in AI is taking things other people do and seeing how well the AI works. In this case, I took a Prompt from Louis and tried to see how well it worked. This post describes the results from a few models.

This is part of a series of experiments with AI systems.

The Challenge Using Claude

Louis was using an AI to generate some test data to play with the new Regex functionality in SQL Server 2025. He put this in ChatGPT: “create a set of random string data with 1000 rows for a sql server table named RegExTest. It should insert data into a column named Value”.

He had mixed results with ChatGPT, which I tend not to use. Instead, I tried this in Claude. I like Claude as I get an explanation separate from the code. Here’s a view of the page:

2025-06_line0031

Here’s the code, which is nice because I could steal certain patterns out of here if I had the need. The explanation was also good, and I’ve reproduced that here:

<start claude explanation>

This SQL script creates 1000 rows of diverse random string data for your RegExTest table. The data includes various patterns that are useful for testing regular expressions:

  • Email addresses (user@domain.com)
  • Phone numbers ((123) 456-7890)
  • Dates (MM/DD/YYYY)
  • Mixed alphanumeric with special characters (ABC-123_XYZ)
  • Numeric strings (123456)
  • URL patterns (https://www.example.com/path)
  • Code patterns (AB12C345)
  • Words with spaces (Hello World)
  • Mixed case strings (AbCdEf123)
  • Random alphanumeric strings

The script uses a recursive CTE to generate 1000 rows and applies different string generation patterns based on the row number modulo operations. This ensures you get a good variety of data types to test your regular expressions against.

The script also includes table creation (if it doesn’t exist) and verification queries to confirm the data was inserted successfully.

<end claude explanation>

There was an issue in the else part of the CASE. The last CONCAT call only had the first parameter and CONCAT needs two parameters, so I copy/pasted the 2nd parameter from the last THEN statement, which worked fine. In this case, that parameter was an acceptable choice to create a random alpha string.

Perplexity

I got a very weak result from Perplexity. Essentially, write insert statements, though you could use a script.

2025-06_line0037

I didn’t see a script, so I asked. I got this.

2025-06_line0039

Here’s the SQL Code:

2025-06_line0040

That’s weak. It works, but it’s weak and I think I could have written that in not much more time than the AI took.

It did end with this sentence: Let me know if you want the script in another format or with different string lengths!

I did and then got a series of different scripts for different formats, but each was producing a separate 1000 rows of only that format.

DeepSeek

I download the DeepSeek coder model and decided to try that. The basic prompt was disappointing. The model basically wanted to use Python and only imported modules without other code.

2025-06_line0041

When I said that and asked for code, I got more details, but with the script separated out into sections. The top seemed to repeat a bit.

2025-06_line0042

Then I got each part of the script.

2025-06_line0043

I didn’t run this, but it’s a reasonable way to do things for developers. For data people, this seems like overhead.

I asked for SQL, and got a script for Oracle, but more interesting, the code is for 1000 rows, but the comments say ten thousand. Can’t the GenAI count?

2025-06_line0044

I asked to change this to SQL Server and got this code.

2025-06_line0045

I don’t know what to say except that I’m disappointed in the local deepseek model, which is not only slow, but hasn’t produced a good answer.

Summary

Claude clearly wins this experiment.

Posted in Blog | Tagged , , | Comments Off on Generating Random Strings with GenAI

Heading to SQL Bits 2025

I’ll be at SQL Bits tomorrow, Saturday Jun 20, 2025 for the final day of the conference. I wasn’t selected to speak, but since I’m in Cambridge next week I came a couple of days early to stop by the event.

As this publishes, I’m probably just about to land at Heathrow and I am looking forward to a fairly quiet day in London.

Tomorrow should be fun. I have lightly looked at the schedule and I see a few AI sessions that might be fun to watch, but mostly I’m looking forward to catching up with friends.

If you see me, please don’t hesitate to say hi.

Posted in Blog | Tagged , , | Comments Off on Heading to SQL Bits 2025

SQL Server 2025 Excitement

Are you looking forward to SQL Server 2025? Or perhaps you think this is just another release, or perhaps you are not looking for new features or capabilities in your environment. Maybe you don’t care about new things, but are looking for enhancements to features introduced in 2017/2019/2022. There is certainly no shortage of things that can be improved from previous versions (cough graph *cough).

I ran across an article on the five things that one person is looking forward to in SQL Server 2025. It’s a good list, and the things included make me consider an upgrade. Certainly, any improvements in the performance area, especially with all the investments made in Intelligent Query Processing over the last few versions, are worth evaluating. They might help your workload, or they might not, but if they do, then upgrade.

However, test, test, test. I can’t stress that enough. Test with your workload, not some random queries. Spend some time setting up WorkloadTools or find some other way to replay a set of queries from multiple clients to see if performance improves. It’s far too easy to look at a query in isolation and make a snap decision. With a load, sometimes performance looks different.

The HA improvements are also enticing, especially the idea of offloading backups more easily. Of course, this means you need to ensure you can and know how to, restore a complex set of backups in an emergency situation. Distributed systems are complex, and backups from multiple nodes (remember, you might get unexpected failovers) are a distributed system. Make sure you consolidate those, and plan for potential disruptions if your backup system/share/location is gone. Local backups are always nice, but Murphy’s law might cause you problems in multiple ways with multiple nodes and backups moving across them.

Again, test, test, test, and consider weird situations taking place. They will occur, and you should ensure your staff has a simple way to deal with them.

We’ve had a few SQL Server versions that leaped forward. SQL Server 2005 changed the paradigm, and I think SQL Server 2016 was another time of dramatic growth. Will SQL Server 2025 be one of those versions, or is it one that has a few incremental improvements?

Let me know your thoughts today.

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 | Comments Off on SQL Server 2025 Excitement