DevOps is DevOps

DevOps can mean a lot of things, but I find in practice that this results in a team using Continuous Integration and Continuous Deployment/Delivery using automation to check and evaluate your software in some way. This should result in quicker delivery of updates and changes to customers, better agility, and higher quality of code.

That last one only comes if you use testing and try to ensure your code is well-written. It’s easy to just use DevOps to throw out more poorly written code that doesn’t perform well.

Recently, I went to a presentation on Fabric CI/CD, looking to see if I could learn something about how you might handle Fabric in a DevOps software development flow. What I came away with was the idea that DevOps is really just DevOps. In this case, Azure DevOps was being used to orchestrate the CI/CD flow, and the pipeline looked the same way as one I had set up for a relational database.

There are differences, such as the need to have multiple Fabric workspaces and a need to understand how the code is stored and managed in Git, but the idea is the same. We use a build step to verify that any code changes can be successfully compiled and that those changes can be deployed to a new location. A workspace instead of a database, which means the automation doing the work is slightly different, but the process is the same.

Testing? You want tests to verify that the code does what is expected. A lot of people skip testing with data, but I’d argue it’s as important in Power BI or SQL Server as it is in C#. We ought to include tests, not because we don’t know how to write code, but because others might maintain/extend/refactor our code, and we want their changes to pass our tests. Again, the details are different, but including a step to run tests is still there. The same idea.

Using a flow to approve and deploy changes between environments? This is no different, and having an automated process reduces the effort, time, and risk of mistakes. This is again the same, though the details are different specifics because the automation is different. Deploying a semantic model is different than pushing out a new .exe or running database changes, but the idea of an automated deployment is the same.

We, as an industry, have learned over time how to better move code through a software development life cycle. The ideas work for data-based projects as well, and we ought to be learning and adapting these to ensure we can be just as agile as application software developers.

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 DevOps is DevOps

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.

Posted in Blog | Tagged , , | Comments Off on SQL Clone at Scale with Striped Backups

Can/Can’t Do/Don’t

The other day, I asked my daughter if she wanted me to make her some eggs. She responded with a “Yes!” in text and came to sit up at the counter while I cooked for us both. We chatted a bit, and at one point she said, “Thanks for cooking, but it’s not that I can’t cook.”

I laughed a bit and responded with “this isn’t a can/can’t situation, it’s a do/don’t or will/won’t one.” I know my girl can cook; I made sure all my kids learned how to cook. It’s that they often choose not to, hunting for leftovers, going for takeout, or skipping meals.

I’ve never been one who likes to hear “can’t” from anyone. Even today, when I coach kids and one say “I can’t do that,” my response is “yet. You can’t yet.”

It’s easy to think that because you don’t know how to do something, or don’t have confidence, or you’ve not done it well (or right) in the past, that you can’t do it now. That could be true, but often I find people default to “can’t” when they really mean they don’t want to do something or won’t do something. Easy to confuse those, and easy to brainwash yourself when using the wrong words too often.

There are things I can’t do. For example, I can’t run a 10.0s 100m dash. I can’t dunk a basketball, though there was a time I could. However, on the ranch or at work, I rarely find that I can’t do something if I apply myself with a little curiosity, effort, and experimentation. I can learn most things and do them well enough to meet a goal. Someone else might do them better, but I can learndo them.

I see too few people in the world who aren’t curious at work, aren’t willing to put in extra effort to get a task completed, or don’t feel an urge to tackle tasks outside of their comfort zone. I see fewer people dedicated to making an effort to learn outside of work time, whether on their own or at an event like a SQL Saturday.

Most of the people I see succeed and thrive in jobs aren’t smarter than others. They just do the work. And if they don’t know something, they teach themselves what they need in order to get the job done. They drive themselves forward.

Life is hard, but it gets easier when you want to put in effort to make it better.

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 Can/Can’t Do/Don’t

Advice I Like: Training Employees

Train employees well enough that they could get another job but treat them well enough that they never want to. – from Excellent Advice for Living

This one is close to my heart. I firmly believe that you need to find good employees and invest in them. Employees can make a big difference in how well you succeed as well as how efficiently you can run an organization. If you trust employees, you can get a lot done, but takes work.

There’s an old joke that expresses a similar sentiment. Here it is as a quote attributed to Peter Drucker, a well known management consultant.

2025-10_0146

Perhaps one of the best reasons to train people is time. Time is a valuable resource, and the more it’s wasted, the less you get done, the less competitive you are, and the less your employers earn their pay.

Train them and benefit more.

If you worry about training those that might not be worth investing in, that’s hard to know. Train everyone, but hold them accountable to use that training and improve. If not, cut them loose and move on.

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 , | Comments Off on Advice I Like: Training Employees