2020 Year in Review

Yeah, so…that was a hell of a year, wasn’t it?

Short-Form Reviews of Year 2020

Reviewer #1: 👎

Reviewer #2: ★✩✩✩✩, would not recommend

Best Laid Plans…

The year started out really well. I was getting into a good groove at the new job, I spoke at SQL Saturday Cleveland and SQL Saturday Rochester ran smoothly. My session for SQL Saturday Raleigh was accepted too, I submitted a session for SQL Saturday Albany, and I was invited to present remotely for SQL Professionals of Chattanooga. I was visiting and hanging out with #SQLFamily on a somewhat regular basis and it was awesome!

New-DbatoolsQuestion | Invoke-DbatoolsDiscussion -Platform Github

Chrissy LeMaire (blog | twitter) pinged me earlier this week to tell me about Github Discussions. It’s a new feature of Github which is similar to Stack Exchange, but much more focused - it’s just for your project/repository! Get help, start discussions, share tips & tricks.

She’s enabled this feature for the dbatools repository and it’s open for business. Go check it out and start posting questions, answers, or both!

Reflections on PASS Virtual Summit 2020

PASS Summit 2020 has wrapped up (or is in the process of wrapping up), and as with years past, I’m getting this written while the experience is still fresh in my mind. This is also my long-form event evaluation.

We’ve Moved! We’re Closed!

The announcement that Summit 2020 was to be held in Houston brought was both disappointment and excitement. I enjoy visiting Seattle and have gotten to know little bits of it. I like the fall weather there. But it’s a long flight to get there and back.

T-SQL Tuesday #132 - Coping With the Pandemic

This week is a double-whammy of activity - T-SQL Tuesday and PASS Summit 2020. T-SQL Tuesday is a monthly blog party hosted by a different community blogger each month, and this month Taiob Ali (blog | twitter) asks us how we’re coping with the COVID-19 pandemic, 8 months in.


T-SQL Tuesday Logo

2020 is a unique year for all of us. We are living through a worldwide crisis that most of us have not seen or experienced. It has touched almost all aspects of our life. Depending on your location, social interaction has been reduced to almost none for many of us. Our home has become an office, school, day-care center, playground. Many of us lost our family members due to this pandemic. PASS Summit 2020, SQL Saturday events, monthly user group meetings are happening virtually. Most of us who were working in an office building are working remotely. Travel has become a thing of the past. Every individual’s challenges are different. I want all of you to share your experience (with whatever you are comfortable with), how you are dealing with these new challenges, and tips you have for others going through the same.

Restoring Database Users After Copying the Database

A former colleague emailed me with a question about retaining/fixing database users and permissions after restoring a database. They were copying a database from one instance to another, with different logins, users, and permissions between the two instances. Backup & restore to copy the database is easy enough, but because users & permissions are kept inside the database itself, the destination environment loses all its permissions settings in the process. What to do?

Shell to Script Shortcut

I’ve been meaning to write something this post for a while but the stars have aligned this week. Garry Bargsley (blog | twitter) published a post about making a schema-only copy of a database on the day that I needed to solve that exact problem. But that’s not what this is about. It’s just a convenient way to demonstrate this shortcut.

I’m sure that a lot of folks do work on the PowerShell command line, trying various things, before committing to writing a full script or function. Work it out step by step, try a few different things, etc. But once you’ve finished, how can you turn it into a script? Let’s take a look.

Write It Down!

Recently I set up a new process to pull data out of a MySQL database and into SQL Server. Pretty standard ETL stuff, but it’s the organization’s first time moving data in this direction, so we had some extra work to do.

After installing the SSIS package and the MySQL .NET connector in the development environment, we went through a few rounds of “why isn’t this working? why isn’t that working?” The last error gave probably the clearest indication of the root cause - the development SQL Server VM couldn’t talk to the MySQL server.

New Presentation - The SQLFamily

A couple months ago I delivered a short (15 minute) presentation at work about the importance of having a good professional network and how I’d found mine. As I was developing it, I had to keep redirecting myself as the theme would start trending towards how great the #SQLFamily is. To be fair, that’s what inspired the topic in the first place, but 15 minutes of stories about my friends is not what my co-workers signed up for.

Recapping SQL Saturday Albany 2020 (virtual)

This weekend was SQL Saturday Albany 2020. This was my third time attending the Albany event, my second time presenting, and my first virtual SQL Saturday. As always, Ed & his team did a terrific job with organizing it. Communication for both attendees and speakers was excellent, and as far as I can tell, everything ran very smoothly.

My Presentation

I presented Keys to a Healthy Relationship with SQL Server in the 3:30 PM session block. I’ve uploaded my slides to the SQL Saturday site. This is targeted primarily at application and database developers and I had a pretty good-sized turnout for the session. I promised folks answers to questions they asked in the session so let’s address those right now:

Finding & Downloading Required SQL Server Updates

A little while back, I offered up a one-liner to scan your SQL Server instances and report which ones are out of date. But what if you need to take the next step, determining which updates need to be downloaded? That’s exactly what Josh asked on the SQL Community Slack recently.

Can Test-DbaBuild also bring back the KB number? From reading the docs it looks possible as it does return the compliant version form the .json file, or at least I think it does 😀. The intention is if the KB is returned, then one could pipe it through to Get-DbaKbUpdate and/or Save-DbaKbUpdate to have the KB’s automatically downloaded to the desired path.