Author: way0utwest

  • Measuring Productivity

    I’ve dealt with a lot of customers with who lately are concerned with the ROI of their teams. Certainly they want a good ROI if they purchase software from Redgate, as do we. Our goal has been to be partners with customers and continue to add value to the products they’ve purchased on a regular basis. We release every week or two, and our Redgate Monitor and Flyway updates reflect this. New functionality, fixes, and previews. I’m proud of the constant updates we deliver, and I know customers get increased value throughout our partnership.

    Does our software provide a good ROI? I get asked this question by execs regularly, and I often ask them if they feel they get a good ROI from their staff already. Answers are mixed, especially in the database world where it seems the costs and the value delivered from database dev or ops groups can be nebulous. Databases support application software, and if that software doesn’t work well because the database deployment scripts weren’t correct, weren’t tested, or have performance issues, who is at fault?

    It’s easy to blame the database, but who bears responsibility here? Is it the developers that didn’t model schema well or test queries at high volumes of data? DBAs who haven’t been adding or maintaining indexes? A lack of resources matching workload (an Ops issue)? Perhaps someone not taking time to review code (shared Dev/Ops or process issue) is at fault. Could it be the delays from a slow process to deploy changes end up delaing your digital transformation? Execs really care about that last one.

    There are metrics that DORA produces from their research around software delivery. These can be applied to database code, though I find often that companies adopting these don’t extend them to the database. At Redgate, we often have solutions engineers and architects spending time helping customers evaluate their existing database software lifecycle and try to decide if there is room for improvement. We love to sell you software, but only if you will use it and get value from the purchase.

    Today I’m wondering if any of you self-assess and maintain metrics or measures about how your databases perform. Lots of you use Redgate Monitor (or some other software) to watch databases, but do you keep metrics on how code gets to production? DORA would recommend you measure the time to make a deployment, the frequency, and other items, including when deployments fail. By the way, code compiling, but breaking the application because the logic is wrong is still a failed deployment.

    In 2026, even in the age of AI, I’m surprised how often I run into companies still doing manual work to deploy database code. Emailed scripts, file shares with random collections of code, even manual runs of SQL Compare to update production are the norm in many places. Even when C#/Java/etc. application code runs through an automated CI/CD process. I get that stateful databases are hard, but shouldn’t we be trying to make changes easy? An ordinary event, not an extraordinary one?

    Maybe more importantly, do you measure yourselves and evaluate your productivity as a DBA or database developer? Whether you do or don’t, what do you think are good measures of your productivity?

    Steve Jones

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

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

  • Updating the Data API Builder

    I was updating my session for the Data API Builder (DAB) recently, mostly to work with the MCP server capabilities. As I was trying to get this working, I realized that the MCP capabilities were newer than my DAB version. I had v1.4

    2026-06_0232

    Wow, that’s old. The Overview page for the SQL Server MCP site says v1.7 is needed and 2.0+ has bug fixes. I need an update.

    I had this in my slide deck, but the dotnet tool is used to update the DAB. The command is

    dotnet tool update –-global Microsoft.DataApiBuilder

    This showed a download and then in a few minutes it was done. I could see I had an updated version.

    2026-06_0233

    And an MCP server!

    2026-06_0234

    A Further Update

    I checked a few weeks later and couldn’t remember the command, but I decided to try the install command. That worked as well, and I got an even newer, 2.0.12, version.

    2026-08_0374

    Still no timestamps from the logs, but I’m every hopeful.

  • Preserving Data

    Most data professionals I know go out of their way to take care of the data entrusted to them. Most people ensure backups are running, lots (hopefully most) test their restores. A few will ensure a good rotation their data offsite. Some of you might have formal rotation schemes, and some might just keep a rolling list of xx backups available.

    Likely a few of you don’t worry about anything other than the last full backup, which is a risker approach than I’d take.

    In the past, I’ve often kept around monthly backups for a year, usually with more granular backups inside of the month. Beyond that, depending on the system, we might keep quarterly backups or yearly ones for a longer period. These days with cheap storage and automated solutions, I’m sure many of you just assume your backup system keeps xx backups around. the cloud providers will keep point in time backups if you use Azure SQL DB (7 days by default) or AWS RDS (1 or 7 days, depending on the provisioning method). If you use VMs or other systems, you ought to be aware of how long backups will be kept and ensure that fits inside your RPO.

    This came to mind as PBS, a US broadcaster, almost lost most of their archived data recently. Their provider stopped responding to them and they couldn’t get to the data, which was stored in Iron Mountain data centers. They sued and got access to ensure they could access and use this data. A win for them, and really, for many of us.

    I don’t expect Azure or AWS to go under, but some of you are using third-parties for backups, even in the cloud. If your provider goes under, can you access your data? I can guarantee if any of these companies has issues (financial, hacking, ransomware, etc.), there will be a few clients that need a restore that day. Resolving this in the courts is likely to be successful, but after how many days?

    Backups are important, but only when they facilitate a restore. It’s easy to get complacent and think because you’ve been running backups that you’re protected. Test that restores work. Have a plan, and maybe a contractual clause, that ensures you can get to backups in the event of issues. This won’t protect you from everything, but it can help speed things up.

    And if you’re like me, keep at least the last backup (or two) local to your system, in a place that you can get to quickly and easily. It’s fine to assume the automated PIT backups will be there, but if AWS or Azure has issues on the day I need a restore, I’d like to think it’s worth a small cost to me employer to ensure there’s at least one backup separate from the automated service. That SLA refund isn’t likely going to cover the lost business when your database is down.

    Steve Jones

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

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

  • A Daily Report from Claude

    Redgate had some Claude training recently, which I went through as my knowledge has been gained in bits and pieces and is fragmented. I wasn’t sure I’d get a lot out of it, but I was surprised by a few things I learned.

    One of these was scheduling a task to give me a daily report. This post looks at that process for me. I’ll walk through what happened, and then a summary below of what I think of this.

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

    Getting Started with Skills

    One of the first demos shown was to build a daily snapshot of what things need to be looked at and handled. The default in Claude is the /morning command. I ran this, looking to customize it, and Claude decided to create a new skill for me, based on this, which it named “morning-plus”.

    2026-08_0267

    I had previously added the Microsoft 365 Connector, so the skill could read my email. That’s good, as this is a read-only view for me, and it’s local to my machine. I’m sure there is some security risk, but this is managed and limited by Redgate, so I’m assuming this is good enough for my work.

    The next thing was to alter the view. I had a weird graph of lines that seemed to try and show the height of a graph implying the length of a meeting or a business of the day, but that’s not helpful. I decided to ask for a calendar list.

    2026-08_0268

    This gave me a nice look at my day, which is shown below:

    2026-08_0269

    Another thing I wanted to do is keep an ongoing TODO list as I have various things that aren’t in my calendar. A bunch of these things are repeating or ongoing, but having a list helps me stay organized. I might need a way to order them, but for now I asked Claude to add this. It guided me to using a folder to store this, which is what I wanted.

    2026-08_0271

    I also decided to keep the report here, as this helps me stay organized. I can keep the todo.md open in VSCode or elsewhere and edit as needed (or ask Claude). I like to do some editing myself, rather than waste tokens. If I have to type in a prompt, but not just edit the doc.

    2026-08_0272

    In the past I’d have tried to figure out how to schedule things. Here I just asked Claude. It did the work for me.

    2026-08_0273

    Once done, I have an item entered in my Scheduled area. This is a Claude thing, so Claude needs to run, which is fine. My desktop is running all the time.

    2026-08_0274

    I clicked the item and selected Run Now from the menu that popped up. This ran and went through all the tasks and produced a report. It took a few minutes, maybe 5? It’s slow, but not a lot of stuff going on when this will run for me, so it’s not a big deal. The report:

    2026-08_0278

    Not bad, but I also want to get anything from overnight that is important. I tend to look at Slack for mentions/links, so I added the Slack connector, which Redgate has authorized. This will let the agent scan for things that mention me and I can get a summary rather than searching through all folders.

    I added a prompt to help here, which is great.

    2026-08_0280

    That didn’t work, and Claude explained why.

    2026-08_0281

    Sad smile

    One note, each time I altered the skill, I had to approve the changes after Claude decided what to do. It’s a good idea, but the list of stuff it lists in a stream of text is too much to read, so I’m not sure how well this secures things.

    I also have to re-approve a changed skill to access my e:xxx folder on each run. I guess it’s good, but in a practical sense, I’m going to just approve this.

    The last thing I added was a Windows Scheduled task to run Edge and load this page. This was easy to do, and it will bring up a browser on my desktop that I can see when I log in. Now I can skip some of the checks I might do early in the am, knowing that I’ll get a view of my day when I get to my desk.

    Summary

    One of the interesting things the trainer noted was that when you start using a new tool, productivity can go down until you get the hang of it. This applies to many tools, but certainly Claude and AI chat/agents. It takes some time to see benefits, which is something I’ve noticed myself. Part of this is learning to use the tool, and part is deciding how you want to use the tool.

    In my case, I was skeptical this was actually a useful thing. My days can be chaotic and crazy. However, I’m willing to give it a try. I am starting to have more and more things that I need to keep an eye on, and things that span more than a day. I use calendar reminders constantly, but there are a lot of moving parts here. Keeping a todo list is a start, though I likely need to add some dates or priorities. I’ll play with this over time.

    The lack of Slack integration is annoying, but if I can keep other things organized, this will be helpful.

    Is this helpful and worth it? I don’t know. This is an experiment on my part, which I’ll run for 3-4 weeks to see if this is helpful in tracking lots of disparate work. I certainly forget some things and then end up working late, or miss deadlines.

    Is this worth the cost? Running a report costs $0.82 in its current iteration. Is it worth $1 to organize my day and prevent missed items? Perhaps. I’m not sure, but this is an experiment.

    2026-08_0279

    A small AI thing, but at $200 a year, this might be a nice productivity helper for me, partially to ensure work is done, and partially to reduce stress from the chaos of my life.