Freigeben über


Installieren des SQL Server PowerShell-Moduls

Dieser Artikel enthält Anleitungen zur Installation des PowerShell-Moduls SqlServer.

PowerShell-Module für SQL Server

Es gibt zwei SQL Server PowerShell-Module:

  • SqlServer: Das SqlServer-Modul enthält neue Cmdlets zur Unterstützung der neuesten SQL-Features. Das Modul enthält ebenso aktualisierte Versionen der Cmdlets in SQLPS. Um das SqlServer-Modul herunterzuladen, wechseln Sie zum SqlServer-Modul im PowerShell-Katalog.

Hinweis

Die Versionen des SqlServer-Moduls im PowerShell-Katalog unterstützen die Versionsverwaltung und erfordern Version 5.1 oder höher von PowerShell.

  • SQLPS: SqlPS ist das Modul, das vom SQL-Agent zum Ausführen von Agentaufträgen in Agentauftragsschritten mithilfe des PowerShell-Subsystems verwendet wird.

Hilfeartikel finden Sie hier:

Hinweis

Im Kontext von SqlServer - und SQLPS-Modulen ist es möglich, dass bestimmte Befehlsnamen in beiden Modulen vorhanden sind.

Dies kann einen Konflikt verursachen, wenn bereits ein Modul installiert ist und die andere installiert oder aktualisiert wird. Der -AllowClobber Parameter kann verwendet werden, um diesen Konflikt beim Installieren oder Aktualisieren des Moduls zu verhindern. Darüber hinaus ist beim Importieren eines Moduls zuerst das andere Modul zu entfernen oder den -DisableNameChecking Parameter zu verwenden, um einen Fehler zu verhindern. Diese Maßnahmen stellen sicher, dass die Module nebeneinander bestehen können, ohne Probleme zu verursachen.

SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) installiert kein PowerShell-Modul. Um PowerShell mit SSMS zu verwenden, installieren Sie das SqlServer-Modul über den PowerShell-Katalog.

Hinweis

SQL Server Management Studio (SSMS) 16.x (und frühere Versionen) enthielten das SQLPS-Modul.

Installieren oder Aktualisieren des SqlServer-Moduls

Um das SqlServer-Modul aus dem PowerShell-Katalog zu installieren, starten Sie eine PowerShell-Sitzung , und führen Sie sie aus Install-Module SQLServer.

Install-Module -Name SqlServer

Wenn Sie Windows PowerShell ausführen, können Sie Install-Module SQLServer -Scope CurrentUser verwenden, um das Modul für den aktuellen Benutzer bzw. die aktuelle Benutzerin zu installieren, ohne dass erhöhte Berechtigungen benötigt werden.

Installieren des SqlServer-Moduls für alle Benutzer*innen

Um das SqlServer-Modul für alle Benutzer zu installieren, führen Sie den folgenden Befehl in einer PowerShell-Sitzung mit erhöhten Rechten aus. Starten sie eine PowerShell-Sitzung als Administrator:

Install-Module -Name SqlServer

Installieren des SqlServer-Moduls auf einem Offlinecomputer

Dieser Abschnitt führt Sie durch die Schritte zum Installieren des SqlServer PowerShell-Moduls auf einem Computer ohne Internetzugang. Sie benötigen zwei Computer, um diese Installation durchzuführen: einen Computer, der mit dem Internet verbunden ist, und einen Offlinezielcomputer.

  1. Laden Sie auf einem Computer, der mit dem Internet verbunden ist, das SQLServer PowerShell-Modul herunter. Mit diesem Befehl werden alle Dateien für das Modul im Beispielordner $env:TEMP\SQLServer\<SomeVersion> heruntergeladen und gespeichert, die -Path im Parameter definiert sind. Sie können einen Ordner Ihrer Wahl als Ziel auf Ihrem Computer mit Internetverbindung auswählen.

    Save-Module -Name SqlServer -Path $env:TEMP
    
  2. Navigiere im Datei-Explorer zum Ordnerspeicherort, um zu überprüfen, ob ein $env:TEMP\SQLServer\<SomeVersion>-Ordner vorhanden ist, oder führe den folgenden Befehl aus:

    Get-ChildItem -Path $env:TEMP\SQLServer\
    
  3. Kopieren Sie den $env:TEMP\SQLServer\<SomeVersion>-Ordner, den Sie in Schritt 2 gefunden haben, auf dem Zielofflinecomputer in den %ProgramFiles%\WindowsPowerShell\Modules\SqlServer-Ordner (dieser Ordner würde sowohl für PS5 als auch für PS7 funktionieren). Ersetzen Sie <SomeVersion> unbedingt durch den Wert, den Sie im vorherigen Schritt gefunden haben.

  4. Vergewissern Sie sich, dass das SqlServer-PowerShell-Modul auf dem Offlinecomputer verfügbar ist, indem Sie das folgende PowerShell-Cmdlet ausführen:

    Get-Module SqlServer -ListAvailable
    

    Die Ausgabe sieht möglicherweise wie folgt aus (die tatsächliche Version kann anders sein und muss zuvor aufgeführt sein <SomeVersion> ):

       PS C:\Users\user1> Get-Module SqlServer -ListAvailable
    
           Directory: C:\Program Files\WindowsPowerShell\Modules
    
       ModuleType Version    Name                     ExportedCommands
       ---------- -------    ----                     ----------------
       Script     22.1.1     SqlServer                {Add-RoleMember, Add-SqlAvail...
    

Anzeigen der Versionen des installierten SqlServer-Moduls

Führen Sie den folgenden Befehl aus, um die installierten Versionen des SqlServer-Moduls anzuzeigen.

Get-Module SqlServer -ListAvailable

So zeigen Sie die Version des sqlServer-Moduls an, das in der aktuellen Sitzung geladen wurde

(Get-Module SqlServer).Version

Überschreiben einer früheren Version des SqlServer-Moduls

Sie können auch den Install-Module-Befehl verwenden, um eine frühere Version zu überschreiben.

Install-Module -Name SqlServer -AllowClobber

Hinweis

PowerShell verwendet immer das neueste Modul, das installiert wurde.

Aktualisieren der installierten Version des SqlServer-Moduls

Wenn aktualisierte Versionen des SqlServer-Moduls verfügbar sind, können Sie die neuere Version mit folgendem Befehl installieren:

Update-Module -Name SqlServer -AllowClobber

Sie können den Update-Module Befehl verwenden, um die neueste Version des SQLServer PowerShell-Moduls zu installieren, aber das entfernt keine älteren Versionen. Es installiert die neueren Versionen nebeneinander, damit Sie mit der neuesten Version experimentieren können, während weiterhin ältere Module installiert sind.

Wenn Sie jedoch keine älteren Modulversionen beibehalten möchten, können Sie den Uninstall-Module-Befehl verwenden, um vorherige Versionen zu entfernen.

Mit dem folgenden Befehl können Sie mehrere installierte Versionen auflisten:

Get-Module SqlServer -ListAvailable

Sie können den folgenden Befehl zum Entfernen älterer Versionen verwenden:

Uninstall-module -Name SQLServer -RequiredVersion "<version number>"

Fehlersuche

Wenn bei der Installation Probleme auftreten, finden Sie weitere Informationen unter Install-Module documentation (Dokumentation zu „Install-Module“) und Install-Module reference (Referenz zu „Install-Module“).

Verwenden einer spezifischen Version des SqlServer-Moduls

Wenn Sie eine spezifische Version des Moduls verwenden möchten, importieren Sie sie mit einer spezifischen Versionsnummer entsprechend mit dem folgenden Befehl:

Import-Module SqlServer -Version 21.1.18218

Vorabversionen des SqlServer-Moduls

Vorabversionen des SqlServer-Moduls (oder "Vorschau") sind möglicherweise im PowerShell-Katalog verfügbar.

Von Bedeutung

Diese Versionen können mithilfe der aktualisierten Find-Module und Install-Module Cmdlets ermittelt und installiert werden, die Teil des PowerShellGet-Moduls sind, indem sie den -AllowPrerelease Switch übergeben. Um diese Cmdlets zu verwenden, installieren Sie das PowerShellGet-Modul, und öffnen Sie eine neue Sitzung.

Ermitteln der Vorabversionen des SqlServer-Moduls

Führen Sie den folgenden Befehl aus, um die Vorabversionen (Vorschauversionen) des SqlServer-Moduls zu ermitteln:

Find-Module SqlServer -AllowPrerelease

Installieren einer bestimmten Vorabversion des SqlServer-Moduls

Wenn Sie eine bestimmte Vorabversion des Moduls installieren möchten, installieren Sie diese mit einer bestimmten Versionsnummer.

Sie können versuchen, den folgenden Befehl zu verwenden:

Install-Module SqlServer -RequiredVersion 21.1.18218-preview -AllowPrerelease

SQL Server PowerShell unter Linux

Besuchen Sie /sql/linux/sql-server-linux-manage-powershell-core, um zu erfahren, wie SQL Server PowerShell unter Linux installiert wird.

Sonstige Module

  • Az.Sql: SQL-Dienst-Cmdlets für Azure Resource Manager in Windows PowerShell und PowerShell Core

  • SqlServerDsc – Modul mit DSC-Ressourcen zum Bereitstellen und Konfigurieren von Microsoft SQL Server.

Cmdlet-Referenz