My PASS Data Community Summit 2021 Speaking Experience

If you’d asked me 5 years ago if I would ever speak at Summit, I’d have said “no way, not possible.” I didn’t even think I was able to produce the kind of material that’s expected at an event on such a large scale. Not to mention having that many eyes on me.

But times change. Experience, skills, and knowledge change. People change. And sometimes, people get talked into doing things things by their friends.

Lesson Learned From Multi-Threading with dbatools

Over the summer, I spent some (a lot of) time working on updates to a script at work which runs multiple processes in parallel. Everything seemed to work OK for a while, but then everything broke. It broke right around the time dbatools 1.1 dropped, so I started thinking that something must have changed there. As it turns out, it was entirely my fault and I hope this post will help you avoid the same trap.

Regular Expression Search & Replace in Visual Studio Code

Kind of a diversion into a Visual Studio Code/Azure Data Studio tip here (this works in both, as well as SQL Server Management Studio). I’m not a regular expression guru - far from it. I use them occasionally, but usually find myself fumbling around for a bit trying to figure out just the right expression to do what I need.

I’ve known for a while that VSCode/ADS had regular expression matching built into its find/replace feature, but did you know you can also replace with it? It can help remove the tedium of doing a large amount of text processing.

Troubleshooting Backup Compression for Encrypted Databases

For years, I thought that native backups of databases using Transparent Data Encryption (TDE) couldn’t be compressed. Between TDE being limited to Enterprise Edition until SQL Server 2019 and my own lack of experience with TDE in prior positions, I hadn’t really experimented with this myself. Some people have even gone so far as to skip compression in their backup jobs for TDE-enabled databases because there’s no need to burn those CPU cycles if you won’t get any compression, right?

T-SQL Tuesday #136: Your Favorite (or Least Favorite) Data Type

T-SQL Tuesday is a monthly blog party hosted by a different community member each month, and this month Brent Ozar (blog | twitter) asks us to talk about data types.

T-SQL Tuesday Logo

Your mission: write a blog post about your favorite data type, and schedule it for next Tuesday, March 9.

Mad about money? Feverish about float? Tell us what you use your favorite data type for, and what people need to know before they get started using it. Data types have so many interesting edge cases, like when Aaron Bertrand taught us to use lower case for our data types.

Followup for the Kansas City SQL Server User Group

I had a great time speaking at the Kansas City SQL Server User Group on Thursday, February 18th. The more I present my Backup Basics with PowerShell and dbatools session, the more I enjoy it. And each time, I’ve learned something new myself.

In one of the demos I show how Restore-DbaDatabase selects and restores the most recent backup of a database when pointed at a directory holding several backups of a single database. Dan Maenle (twitter) asked how the function knows which one is the most recent. Timestamps? Filenames? Really good guesses? My takeaway from the session was to confirm the method in use.

Speaking at the Kansas City SQL Server User Group

I will be presenting my session “Backup Basics with PowerShell and dbatools” this Thursday, February 18th at 2:30 PM Central Time at the Kansas City SQL Server User Group. I’m looking forward to getting this demo-rich session out in front more of folks to show how easy dbatools makes some of these common backup-related tasks.

Come check it out! Or, if you’d like to see this or one of my other presentations at another user group meeting, please drop me a line!

Upgrading Ola Hallengren's Maintenance Solution with dbatools

While presenting Backup Basics with PowerShell and dbatools at ONDT, I mentioned a caveat with the -ReplaceExisting switch for Install-DbaMaintenanceSolution. This switch drops all of the objects installed by the Maintenance Solution, including the CommandLog table. If you use that table to produce evidence that the various maintenance tasks are being performed on a regular basis or use it to track performance of those tasks over time, dropping that table presents a problem.