Category: Blog

  • Monday Monitor Tips: Searching Permission Changes

    During a demo of Redgate Monitor Enterprise to a customer, they asked about how to search for permission changes. This post examines how you can do that in Redgate Monitor.

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

    Permission Changes

    Redgate Monitor Enterprise adds a few security features to the tool that track things that organizations can struggle to track as their estates grow. There is a security menu item at the top of your Redgate Monitor web page. You can see this expanded on our demo system at monitor.red-gate.com.

    2025-06_0095

    Click the permission entry and you will see this starts on a page that is titled Permissions. There are a few tabs below the title (Permission changes, Servers, Databases, Users). We start on Permission changes, which helps us to see the various changes that have occurred.

    2025-06_0096

    Below this, we see a date box that is set for the last week, along with a few other items. By default we show you the last week’s worth of changes and all the data. However, you can easily alter this.

    2025-06_0097

    This can be a lot of data, especially in an enterprise, so perhaps I only want to see certain things. I can click “Columns and choose which data I care about. Here, I’ll uncheck a few boxes.

    2025-06_0098

    Notice this has rolled up some changes, so I don’t see quite as much as data as I do in the default view. This is useful when I want to see the “who had a change” and not every detail.

    2025-06_0099

    I can, of course, change the date range. We give you some quick defaults, or you can use the calendar picker to choose a range.

    2025-06_0100

    When I do this, I only see some changes, those that apply to that date range.

    2025-06_0101

    If I want to further filter things, I can choose that item. You can see the various items below I can choose from.

    2025-06_0102

    Let’s set  this to “Changed by” the sa account. When I do that, notice the “Filters” icon is annotated saying I have 1 filter condition. I also only see the one row changed by SA.

    2025-06_0104

    I will expand my date range and remove the filter while adding all the columns, and I see this data:

    2025-06_0107

    That’s a lot, but I can change the density. Here are the choices.

    2025-06_0106

    Here is compact. Now all 10 rows fit on the page:

    2025-06_0108

    Comfortable only shows 7 rows (9 in standard).

    2025-06_0109

    Lastly, I can set the number of rows on the page in the lower right.

    2025-06_0110

    Summary

    Security is becoming something more people need to report on, especially public companies or those regulated. This feature of Redgate Monitor helps you satisfy auditor requests with the information they need to verify you are watching your systems.

    Or, at least that you know Redgate Monitor is doing so.

    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.

  • SQL Bits 2025 Wrap

    SQL Bits 2025 was amazing, as always. It’s been my favorite conference to attend, with lots of friends, a family atmosphere, and some amazing speakers from whom I learn many things.

    This year I wasn’t picked as a speaker, which is fine. Their committee didn’t like my submissions for some reason, which happens. I’m disappointed, but that’s it. I am fine with any event who chooses me or choose not to have me. However, since Grant and Kellyn were accepted, I planned a trip to Cambridge for the following week. A month or so ago, Redgate asked me to just attend and be a part of the booth. I agreed, and extended my trip lightly to arrive Friday.

    My hotel was just past the Excel center, so as I walked from the train, I stopped by Friday afternoon. Things were relatively quiet, and the neon sign wasn’t lit, but I went in and saw a number of friends.

    2025-06_line0064

    I saw a few Redgaters as well, and loved the branding (though not the colors) on the bean bags this year.

    2025-06_line0065

    Friday was a bit of a hangout for a few hours, but I had to get to the hotel to get some work done, including a few late night customer calls from the US.

    Saturday was more fun. I spent most of the day at the Redgate booth, which had a great whack-a-mole game where two people could compete.

    2025-06_line0066

    I didn’t attempt it, but I saw quite a few people giving it their all. There was a magnetic leaderboard to the side, with the counts climbing and climbing throughout the day. Event the Redgaters had fun.

    2025-06_line0076

    Lots of selfies with friends, including quite a few North Americans that I relish the time to catch up with as I don’t often see them in the States.

    2025-06_line0070

    2025-06_line0069

    2025-06_line0068

    2025-06_line0067

    I got recruited (again) by Daniel, who keeps trying to get me to Stockholm for his Data Saturday event. He spent some time showing me pictures of his amazing speaker dinner on an island in the area, so I might have to try and make time in my schedule for 2026 to get over there.

    2025-06_line0075

    The event was plenty busy, with lots of time between sessions to wander the expo hall, meet friends, chat with vendors, and just relax.

    2025-06_line0073

    I’m sure you’ll see lots more pictures, as Mikey was busy taking lots of pictures. I’m sure he got more than his 10,000 steps each day, trying to take as many shots as possible. I managed to grab one of him during a session.

    2025-06_line0072

    I made a few new friends, getting the chance to chat with people that knew me from SQL Server Central or just had a question. A few selfies, one of which was with this cool hat in keeping with the neon theme.

    2025-06_line0074

    Redgate had a great neon sign, which was more red in person, and I’m looking forward to seeing this in the office at some point.

    2025-06_line0077

    Events always end too soon, though I’m usually worn out and ready to move on from early mornings and late nights. I am glad I got to hit the Pelaton each day, though my body was tired and I struggled a bit with late night conversations both days.

    I was honored after a quiet dinner Saturday to sit with the organizers for a drink after they had their post-event dinner. They are great friends I’ve known for many years and I’m proud of what they’ve built. Reminiscing about different highs and lows across the various events in different cities was a memory I’ll cherish.

    It was especially memorable as Alex Whittles is stepping away to focus on Purple Frog Systems after ten years. It’s bittersweet, but I certainly understand volunteer efforts are a time and place thing, and people come and go as their lives change. I wish him well and I’m sure we’ll continue to see him as a speaker, likely with a little more energy as he won’t need to be dealing with the logistics of running the event at the same time.

    An amazing few days, and I hope I have the chance to come back next year.

  • A New Word: Lackout

    lackout – n. the sudden awareness that you’re finally over someone, noticing that the same voice that once triggered a cocktail of emotions now evokes nothing at all – as if your brain had returned the last box of their things and your heart had quietly changed its locks.

    I think I’ve learned to have more lackout as I get older. Perhaps things impact me less or I judge less importance, but I find myself letting go of hard/sad/angry/disappointed/jealous/etc. negative feelings towards people much quicker, with lackout occurring sooner after an event.

    Certainly this can happen with romantic relationships, though I think a lot of us never get over things and prefer not to see exes.

    However, I’ve had that happen at work, where I am upset with someone, and I don’t want to hear their voice, or correspond in email, or even shake their hand. No hugs for sure.

    The thing I’ve learned to do is let things go. Maybe one of the things I let go, which was public, was not being allowed on the ballet for the PASS Board of Directors. I was very upset with the committee, who I think let personal feelings get in the way of making a decision. I was quite angry with that group of people for a long time.

    A few years.

    However, I’ve seen a few since then and been not only civil, I find myself with lackout, having let that anger go.

    Life is better without anger or grudges.

    From the Dictionary of Obscure Sorrows

  • 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.