Tag: syndicated

  • A New Word: Foilsick

    foilsick – adj. feeling ashamed after revealing a little too much of yourself to someone – allowing them too clear a view of your pettiness, your anger, your cowardice, your childlike vulnerability – wishing you could somewhat take back the moment, bolting the door after a storm had already blown it off its hinges.

    What a visual. The door blown off its hinges from a storm, and you desperately trying to set it back into the opening.

    Blurting out something in an emotional moment is likely something many people have done. I would guess parents as much as teenagers feel foilsick after an argument or a moment of passion in which they say something they didn’t mean.

    In the modern world, we might do that with messages or emails as well. I find myself trying to avoid putting myself into the place where I might feel foilsick and I often take a moment to draft something in Joplin (my notetaking app) before I put it into Slack or email. I can’t accidentally send it and then feel some regret over what I said.

    I think the avoidance of ever feeling foilsick often leads many of us to not say something we feel, or admit a challenge, precisely so that we aren’t vulnerable and regret our words. As I grow older, I realize that being vulnerable isn’t going to create a foilsick feeling in many cases. It’s going to bring me closer to someone else, or help them help me.

    From the Dictionary of Obscure Sorrows

  • A Small LLM Fail

    Another test with Copilot in SSMS (v22 P3) that didn’t go so well. This one surprised me.

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

    Looking for Known Data with Copilot

    One of the things I wanted to do recently was do some checkdb checking of a system. As a result, I was looking for the last time this was run on a database. I decided to ask Copilot.

    2025-10_0169

    This made perfect sense, as this was a new restore, and I hadn’t run it. So I asked for the query.

    2025-10_0170

    This doesn’t work, but I’ve gotten used to pasting in errors and letting the LLM sort this out. So I did this.

    2025-10_0177

    OK better, but this still doesn’t work.

    2025-10_0178

    I apply this and run it, and it works, but doesn’t return data. I wouldn’t expect this to for this database, so I try to clue in the AI.

    2025-10_0179

    Seems wrong. On this page, DatabasePropertyEX, I see this:

    2025-10_0180

    Not sure why this doesn’t work well. I don’t see a way to change the model, so I’m not sure what’s being used or when it was trained, but I’d expect it to know what is in DatabasePropertyEX().

    Prompt AI

    Prompt AI was a little better, though not at first. I asked the question:

    2025-10_0181

    I got this:

    2025-10_0183

    I can’t select this code (submitted a bug), but this isn’t bad. The result of my next query failed as well.

    2025-10_0184

    At least I had a clue what to do. I started then with this:

    2025-10_0185

    I got the “with TableResults” added. I then asked it to modify this to find the last time DBCC CHECKDB ran. I got this:

    2025-10_0187

    Summary

    To be fair I futzed with both of these a few times. An LLM isn’t deterministic, so I got different results, but I never got the correct result from Copilot. I did get this from PromptAI at one point, which does work.

    2025-10_0188

    GenAI’s are funny beasts. You definitely need to spend some time learning how to use them.

  • T-SQL Tuesday #191 Round Up

    I hosted this month, late as it turns out, but we still had a few entries. Here’s a look at the blogs people published.

    First as always, Rob Farley writes about the complexity of string parsing, using TVFs. He also shows some of the performance implications of complex parsing. Thanks to Rob for reminding me to get the invite out.

    Louis Davidson wrote about parsing HTML, which is definitely a challenge in T-SQL given the nature of the language and how embedded different tags can be. I’ve done this a little, and I prefer using Python to do this Winking smile

    Courtney Woolum writes about working with the IMDB database and needing to parse comma separated data with STRING_SPLIT and APPLY.

    Lucas Kartawidjaja brings us a look at a data outside SQL Server using the Log Parser, a free CLI tool from Microsoft that works well with data outside of SQL Server.

    Andy Brownsword tries out the new RegEx functions in SQL Server 2025.

    Hugo Kornelis hates intelligent keys because they store different types of data in the same column. He also shows some PARSENAME and CHARINDEX tricks.

  • SQL Clone at Scale with Striped Backups

    I had a customer recently reach out to ask if SQL Clone would work with 20 backup files. I decided to test this.

    This is part of a series of posts on SQL Clone, which is a virtualization product from Redgate Software.

    The Scenario

    A customer asked about SQL Clone working with a lot of backup files (striped), like 20. Our support org said this should work and handle the max number of files, which is 64 for the backup command.

    I know SQL Clone works with striped backups because I wrote an article on it, but I only tested 7 files. How to test more than that?

    First, get the backups. To do this, I used a GenAI to quickly get me a command. Once I had this, I ran it and got a lot of files.

    2025-10_0155

    Now to get the SQL Clone image.

    Image Creation

    I decided to start with the GUI. This has changed since I wrote the article in that it now puts each file in a separate text box. By default you get two. I pasted in my file path and file, and then copy/pasted in the 2nd box. I continued adding them, clicking the “Add another file” at the bottom each time (see the image).

    2025-10_0157

    It was tedious, but it was a quick way of testing this. I likely would have taken longer than the 3-4 minutes of copy/pasting to write a PoSh script (though I need to do that). You can see most of my files below.

    2025-10_0156

    Once I had 32 of them, I clicked “Continue” and entered the name and location for my image. Then clicked “Create”.

    It worked. The image shows my SQL Clone image being created successfully and a clone from this image.

    2025-10_0158

    These were small files, so the restore time was quick. Each is about 3MB, so we’re not looking at much.

    Summary

    This shows that SQL Clone can work with 32 files. I assume it works with 64, but that will have to wait until I have time to mess around with the PoSh to make the image command creation easy.

    If you are looking to save storage space for multiple copies of databases, or give each user a consistent copy in seconds, check out SQL Clone.

    Video Walkthrough

    See this article in video below.