Microsoft veröffentlicht eine rundum überholte SQL PowerShell
Künftig plant das Team monatliche Updates und ändert dafür den Wrapper. Zu den Neuerungen gehören zahlreiche neue Cmdlets, die vor allem die Verschlüsselung steuern, und anpassbare Rückgabetypen für den Invoke-SqlCmd-Befehl.
Microsoft hat in Zusammenarbeit mit der Community das SQL-PowerShell-Modul überarbeitet. Der Blog-Beitrag spricht von der ersten wesentlichen Verbesserung seit Jahren und dankt der Community für die Zusammenarbeit. Die neue Version bringt zahlreiche neue Commandlets (kurz: Cmdlets).
Die neuen Befehle zielen auf die drei Bereiche Verschlüsselung, SQL-Agents und Fehlerprotokoll. Entwickler können beispielsweise über das Cmdlet Set-SqlColumEncryption Tabellenspalten ver- und entschlüsseln sowie neu verschlüsseln. Weitere Befehle verwalten den Hauptschlüssel (Master Key) und die Authentifizierung für Azure. Das Cmdlet Get-SqlErrorLog gibt SQL-PowerShell-Nutzern Zugriff auf das Fehlerprotokoll.
Neue Typen als Rückgabewert für SQL-Befehle
Neu ist zudem der optionale Zusatz OutputAs für das Cmdlet Invoke-SqlCmd. Der Parameter legt über DataRows, DataTables oder DataSets den Rückgabewert als Zeilen, Tabellen oder Datensätze fest, die den jeweiligen .NET-Typen entsprechen. Bisher gab die PowerShell als Ergebnis immer DataRows zurück, was auch dem künftigen Standardverhalten entspricht.
Zudem verhält sich der SQL-PowerShell-Provider nun korrekt bei Verwendung der WhatIf- und Confirm-Parameter, die Nutzern eine Vorschau auf die Auswirkung von Skriptoperationen bieten und ihnen die Möglichkeit geben, Befehle vor der Ausführung zu überprüfen und zu bestätigen.
Weitere Details finden sich im Blog-Beitrag. Künftig sollen monatlich Updates der SQL PowerShell erscheinen. Dafür hat Microsoft neben dem Modul auch den Wrapper geändert. Anwender, die in Skripten die Funktionalität über Import-Module SQLPS importieren, müssen daher den Befehl auf Import-Module SqlServer ändern.
(rme)