Zitieren aus Importieren des SQLPS-Moduls auf MSDN,
Die empfohlene Methode zum Verwalten von SQL Server über PowerShell besteht darin, das SQLPS-Modul in eine Windows PowerShell 2.0-Umgebung zu importieren.
Ja, Sie könnten den Add-PSSnapin
von Christian beschriebenen Ansatz verwenden, aber es ist auch nützlich, den empfohlenen SQLPS-Modulansatz zu schätzen.
Im einfachsten Fall wird davon ausgegangen, dass Sie über SQL Server 2012 verfügen: sqlps ist in der Installation enthalten, sodass Sie das Modul einfach wie jedes andere (normalerweise in Ihrem Profil ) über laden Import-Module sqlps
. Mit können Sie überprüfen, ob das Modul auf Ihrem System verfügbar istGet-Module -ListAvailable
.
Wenn Sie nicht über SQL Server 2012 verfügen, müssen Sie lediglich das SQLPS- Modul in Ihr Modulverzeichnis herunterladen, damit Get-Module / Import-Module es findet. Merkwürdigerweise hat Microsoft nicht dieses Modul zum Download zur Verfügung stellen! Chad Miller hat jedoch freundlicherweise die erforderlichen Teile verpackt und dieses Modul heruntergeladen . Entpacken Sie es in Ihrem Verzeichnis ... Documents \ WindowsPowerShell \ Modules und fahren Sie mit dem Import fort.
Es ist interessant festzustellen, dass der Modulansatz und der Snapin-Ansatz nicht identisch sind. Wenn Sie die Snapins laden und dann ausführen Get-PSSnapin
( ohne den Parameter -Registered, um nur das anzuzeigen, was Sie geladen haben), werden die SQL-Snapins angezeigt. Wenn Sie andererseits das sqlps-Modul laden, werden die geladenen Snapins Get-PSSnapin
nicht angezeigt, sodass die verschiedenen Blogeinträge, die das Invoke-Sqlcmd
Cmdlet testen, indem sie nur die Snapins untersuchen, möglicherweise zu einem falsch negativen Ergebnis führen.
2012.10.06 Update
Die vollständige Geschichte über das SQLPS-Modul im Vergleich zu den SQLPS-Mini-Shell- und SQL Server-Snap-Ins finden Sie in meiner zweiteiligen Miniserie Practical PowerShell für SQL Server-Entwickler und DBAs, die kürzlich auf Simple-Talk.com veröffentlicht wurde wo ich laut einem Kommentar eines Lesers das Thema erfolgreich "entwirrt" habe. :-)