powershell

SQL Query Stats via Powershell

Andy Levy
Sometimes, work tasks and questions that come up in the SQL Server Community Slack coincide. A couple weeks ago, DrData asked With SET STATISTICS IO ON, is there really no way to show the TOTALS at the bottom? There are some nice tools like StatisticsParser but it sure would be nice to see the totals of all values right at the bottom, especially when there are many tables. The task at hand in the office was a need to do the same thing, but with SET STATISTICS TIME ON.

dbatools Required Filesystem Access for Database Restores

Andy Levy
The Problem While performing an instance migration this spring, I happened upon something I didn’t expect in dbatools. It should have been a simple backup/restore copy of the databases, with the backup files residing on a fileshare on the destination server after being copied there. I kept getting a warning that the backup files I was attempting to restore couldn’t be read, and the restores (via Restore-DbaDatabase) wouldn’t execute. I checked permissions on the server over and over again.

Community Tools Month 2022 - dbatools

Andy Levy
The Prompt In July, Brent Ozar (blog | twitter) asked us to make September Community Tools Awareness Month. In September, I want you to improve community knowledge about one free tool that you rely on every week in order to get your job done. I’m sure it will come as no surprise to readers of this blog, but I’m going to select the amazing PowerShell module dbatools. dbatools Is for Everyone Despite what the name may imply, dbatools is a valuable toolkit for anyone who needs to interact with SQL Server.

Lesson Learned From Multi-Threading with dbatools

Andy Levy

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.

Slides & Demos for Backup Basics with PowerShell & dbatools

Andy Levy
I had the honor of presenting a new session, Backup Basics with PowerShell and dbatools, at the first Ohio North Database Training meeting this evening. Thank you to the group leaders for the opportunity and to everyone who attended. Because this was both a brand new session and an attempt at a new way of delivering the presentation, I had a couple tech glitches but things went pretty well once they were understood and ironed out.

Restoring Database Users After Copying the Database

Andy Levy
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

Andy Levy
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.

Finding & Downloading Required SQL Server Updates

Andy Levy
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 .