Getting dbatools in Powershell

I had the chance to watch dbatools in action recently at SQL Saturday Cambridge. I watched a presentation from Chrissy LeMaire (@cl) that was impressive in how easy she made a number of DDL type changes between instances.

I decided to give some of these new cmdlets a try, since I was impressed with the work done. The first step in trying one is to get the dbatools module. If you go to the site and click the download link, you get great instructions.

The first thing I did was start a command line as an administrator, then run Powershell. From there, it’s a simple “Install-Module dbatools” command. As you can see below, you’re asked if you want to actually do the install. If you do, then things just work.

2016-10-17 17_31_00-cmd - powershell (Admin)

Let’s test.

First, I’ll type “copy-sql”, as shown here.

2016-10-17 17_31_50-cmd - powershell (Admin)

When I hit TAB, I get the first matching item. Hmm, I’ve never seen Copy-SQLAgentCategory. Not that I’d ever done this, but this is certainly going to be simpler than digging through DMVs or reading BOL.

2016-10-17 17_31_55-cmd - powershell (Admin)

Hit TAB again and get the next Copy-Sql command.

2016-10-17 17_32_01-cmd - powershell (Admin)

In fact, there are lots of Copy-, Export-, Test-, Get-, and more cmdlets. It’s a very handy list, and the types of things I’m stunned Microsoft just didn’t provide.

I’ll be digging in a bit more and looking at how some of these items work, as I suspect these will be invaluable for DBAs that need to manage and migrate various settings at any scale across systems.

About way0utwest

Editor, SQLServerCentral
This entry was posted in Blog and tagged , . Bookmark the permalink.

One Response to Getting dbatools in Powershell

  1. Derek Czarny says:

    I used the Import-CSVToSQL command to import a 5gb flat file. Using the Import Data wizard in SSMS it usually took 5+ hours. Using the powershell command it took 45 minutes.

Comments are closed.