T-SQL Tuesday #181: A Technology Present

It’s the last T-SQL Tuesday of the year, and it’s amazing to think we’ve gotten to #181. That’s over 15 years of monthly blog parties.

This month we have a slightly different invite from Kevin Chant. Kevin usually participates in the Festive Tech Calendar, which I’ve never been a part of. He wanted to combine those to together in a crossover, which is an interesting idea. I wonder how it will go.

In any case, there’s a bit of explanation, but the essential invite is this: My invitation to yourselves is to write about a Microsoft Data Platform announcement that you considered to be as amazing as a present. In other words, something which made you go “wow”.

It’s a good invite for the end of the year and my answer is below.

Think about a VCS Diff

I could say git diff since git has won the VCS battle, but in any tech work, it’s important to be able to tell what things have changed and evaluate if the change is helpful or hurtful.

Lots of tools, especially visual ones, haven’t always considered this. They’ve often built a tool that doesn’t easily make comparing code easy. The first example of this was DTS/SSIS (SQL Server Integration Services), where this was a visual tool. The configuration was stored in an XML file, but every visual change created a change in the XML, and the structure was fluid enough that it was often hard to determine what changed between versions.

Microsoft has a lot of tools that did this, including Power BI. However, a preview mode of the code was announced earlier last year. Power BI Developer mode includes Git integration. This gives us a way to edit the file as code, something that should be required of all tech tools. The visual stuff is great, but give us a code option.

You can enable this in the PBI Desktop options.

2024-12_0143

To me, this is fantastic as it enables this to really work as a code tool, which it is. More importantly, as we get changes made by Copilot or other AIs, we need to easily see the differences that exist between versions. That’s important for troubleshooting and governance.

To me, getting a Power BI project file that works in a VCS is a great present.

Posted in Blog | Tagged , | Comments Off on T-SQL Tuesday #181: A Technology Present

Grinding Away: Brent Ozar

Brent Ozar is a very successful DBA/consultant/speaker/business owner in the data platform space. Many of you have likely seen him speak, read his blog, used his sp_Blitz script, or taken one of his classes. He’s achieved a lot and I know many people that would like to get to the place where he is in life. Most of us would love to teach a few classes, do office hours from wherever we are, and custom order a sports car for fun.

One of the things I’ve enjoyed most about watching Brent move through life is his life quest. You can read this, but I’d recommend scrolling to the bottom (Level 1) and then going up through history. These are various items of achievement, some adventures, some things he had to work through.

I’ve known Brent a long time. I remember when he started speaking, when his blog started to grow, and I have watched him put in a lot of hard work.

He’s been grinding for most of his life and only recently slowed down. Before that, he spent a lot of time trying to improve his skills. He worked lots of hours to learn about SQL Server. He got his employer to send him to the SQL Server Ranger class to become a certified SQL Server Master and he studied hard to achieve that. Many of his goals around building his business or speaking to large crowds required investment of time and money to learn how to accomplish the goal.

And he’s told many of you how to do the things he’s done. He shares lots of thoughts on what has worked for him, some things that didn’t, and given you a blueprint to become a better DBA, consultant, speaker or anything else.

You just have to do it (and want to do it).

If you want a good example, one of his early posts is on coding for his class reunion, a volunteer effort. Time spent forcing himself to learn.

Posted in Blog | Tagged , , | 2 Comments

Why Would You Do That?

I was listening to someone at Microsoft talk about their product recently. I can’t disclose which one it was, but lots of people use this product and are impacted by changes. The particular thing that caught my attention was that the presenter noted there was a breaking change in the new version for some people. This wasn’t a huge change or one that would affect a lot of people, but it was a breaking change for a few.

Another attendee asked this question: I would tend to do xxx instead of what you showed, so why would you do this?

It wasn’t an antagonistic question, but more curiosity. However, it was a good question since any changes that cause breakage can be disruptive to other people. The thing I noticed was that the questioner’s frame of reference was completely different than the presenter’s. The questioner couldn’t imagine writing code in this way.

As I work with more and more customers, I find that many of them get tunnel vision in that they approach their work or code in one of a few ways and don’t think widely about other approaches. In general, I think that’s a good way to work as we ought to use patterns and avoid anti-patterns in our work. The more we all code in a similar structure and style with the same patterns, the easier it is for any person to maintain the codebase (or infrastructure).

Of course, we have to be willing to add new patterns when we find them and drop older patterns that no longer work (and perhaps refactor the code). That’s another hard thing for humans to do. We rarely want to let go of patterns and who has time for refactoring?

At Microsoft, they have to consider lots of different ways to look at code. I saw awhile back one of them writing that building Windows was like ordering pizza for a billion people. You’ll never get it perfect and someone will always be upset. I get that. I couldn’t imagine making changes to something like Windows, where every little thing upsets some group of people and sometimes those are a very loud minority.

Many of us approach the world in similar ways, and we can appreciate or understand small differences. When we meet someone who sees things very differently, then it becomes hard to reconcile their view with our own. In code, this often means we want to use different patterns than others, which creates a less maintainable codebase.

Communication continues to be one of the hardest parts of building software (and most endeavors). Part of our communication should be to try and understand others’ points of view, get them to understand ours, and come to a shared understanding of how to approach problems. That shared understanding is what helps us build better teams.

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 Why Would You Do That?

Monday Monitor Tips: Am I Patched?

One of the things that I think is neat is that Redgate Monitor helps you track patching on your systems. This is something that has been challenging in every position I’ve had, with some systems being forgotten or remaining unpatched for too long.

This post looks at how you track patches and versions.

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

The Challenges of An Estate

There are two aspects to tracking your systems: the version and the patch level. Microsoft releases versions periodically and unless you’re in the cloud with a PaaS service, you may or may not have just one version of your database platform. Azure SQL Database is evergreen and updates every quarter or so.

If you install SQL Server 2016, unless you upgrade, it stays at 2016.

The second part is the patch level. SQL Server 2016 has had 3 service packs, multiple CUs in between those, and a few post-SP3 security patches this year (2024). Are you up to date?

It’s a good question since you might be vulnerable to issues, and you certainly can be out of compliance with auditors if you aren’t patched.

What Systems Are Behind?

The estate tab has a versions page, in which we list the installed versions of SQL Server. I hope PostgreSQL is coming soon as well (and others). Here is the overview, where you can see this estate spans SQL Server 2008 R2 to 2022, and includes the cloud.

2024-11_0251

This helps me with upgrades, as I can see which systems might be old and in need of an upgrade plan. I can filter at the top for different groups, tags, etc., but I can see what I have, and I get quick links to the current patch.

Below this, I have details. Here is where I can dive down to individual groups and systems to see if they are patched, how long ago the last patch was released, and the end of support

2024-11_0252

This is a good way for me to see at a glance how patched I am. The yellow up arrows mean I need to patch. The green check mark means I am patched.

This is a good view so you can tell how out of date you are. It’s one thing if there are patches released within the last month and not applied. It’s another thing when you have systems that are months or years out of date.

Using This Data

This isn’t something I’d check every day or week, but I would set reminders to have this monitored monthly and have plans in place to get patched. While lots of patches might not affect security, they often to affect support if you need it, and certainly these affect compliance and auditing.

Even if no one audits you, if you have an issue and you aren’t patched, someone will use that as an excuse to blame you in some way. Get patched, at least within 60 days if not 30.

BTW, this data is maintained by Redgate and updated as patches are released. Redgate Monitor downloads a file that populates the latest patches for each version. If your Redgate Monitor Base Monitor cannot reach the Internet, you can update this yourself by downloading this file and copying to your system.

Summary

This short posted highlighted what data you get about versions and patches, and my recommendation, which is to review this monthly.

Having Redgate Monitor keep all this for you is nice and helps you keep a healthy, up-to-date estate.

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.

Posted in Blog | Tagged , , | Comments Off on Monday Monitor Tips: Am I Patched?