Migration mit dem DBATools Powershell Modul

Eine praktische Sammlung an kostenlosen Powershell Cmdlets findet sich in den DBATools, eine Sammlung die jeder SQL Server Administrator kennen sollte. Im Folgenden will ich genauer aufzeigen, wo die DBA Tools für den SQL Server helfen können.

Die DBA Tools für den SQL Server lassen sich über die Powershell Gallery installieren.

Mit dem Befehl Install-Module lassen sich die DBA Tools direkt aus der Powershell Gallery installieren.

Das Paket selbst ist dabei nur etwa 1 Megabyte groß.

Mit dem Kommando Get-Command lassen sich die neuen Funktionen anzeigen, welche durch das Modul DBATools kommen. Interessant für Migrationen sind dabei vor Allem die Cmdlets, welche mit dem Präfix Copy beginnen.

Migration

Mit den entsprechenden CmdLets lassen sich sehr leicht Logins, SQL Server Agent Jobs, Audits, Server Trigger etc. übernehmen.

Am Beispiel von Copy-SqlLogin sieht man wie leicht sich mit den DBA Tools Logins von einem Quellserver auf einen Zielserver kopieren lassen. Dabei nimmt das Cmdlet alle SIDs und Passwörter mit, sowie die Standardeinstellungen des entsprechenden Logins (Default Database etc.). Bereits vorhandenen Logins auf dem Zielserver werden dabei nicht erneut kopiert (dies lässt sich aber erzwingen mit dem Parameter -Force).

Will man eine komplette Migration durchführen, lässt sich dafür auch das Cmdlet Start-SqlMigration verwenden, welches die meisten anderen Migrations-Cmdlets kapselt und ausführt.

Awenden lässt sich Start-SqlMigration sehr einfach, mit entsprechenden Parametern kann man dabei einzelne Dinge bei der Migration auslassen.

Mehr Infos zu dem entsprechenden Cmdlet bekommt man mit dem Kommando Get-Help Start-SqlMigration.

Konfigurationstests

Will man die Konfiguration des SQL Servers testen, bieten sich die Cmdlets, welche mit dem Präfix Test beginnen, bei den DBA Tools an.

Mit dem CmdLet Test-DbaOptimizeForAdHoc sieht man beispielsweise ob die Option Optimize for AdHoc Workload an ist, welche in den meisten Fällen angeschaltet werden sollte.

Fazit

Die DBA Tools sind externe und kostenlose Powershell Tools für den SQL Server und gehören gerade für Migrationen oder für das Testen von Konfigurationen in den Werkzeugkasten eines jeden SQL Administrator.