共用方式為


安裝 SQL Server PowerShell 模組

本文提供安裝 SqlServer PowerShell 模組的指示。

適用於 SQL Server 的 PowerShell 模組

有兩個 SQL Server PowerShell 模組:

  • SqlServerSqlServer 模組包含新的 Cmdlet,以支援最新的 SQL 功能。 模組也包含 SQLPS 中 Cmdlet 的更新版本。 若要下載 SqlServer 模組,請移至 PowerShell 資源庫中的 SqlServer 模組

注意

PowerShell 資源庫中的 SqlServer 模組版本支援版本控制,而且需要 PowerShell 5.1 版或更新版本。

  • SQLPSSQLPSSQL 代理 程式用來使用 PowerShell 子系統在代理程式作業步驟中執行代理程式作業的模組。

如需說明文章,請移至:

注意

SqlServerSQLPS 模組的內容中,某些命令名稱可能存在於這兩個模組中。

當一個模組已安裝,另一個模組正在安裝或更新時,這可能會造成衝突。 該 -AllowClobber 參數可用於在安裝或更新模組時防止此衝突。 此外,匯入一個模組時,需要先移除另一個模組或使用 -DisableNameChecking 參數來防止錯誤。 這些措施可確保模組可以共存,而不會造成任何問題。

SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS)不會安裝任一 PowerShell 模組。 若要搭配 SSMS 使用 PowerShell,請從 PowerShell 資源庫安裝 SqlServer 模組。

注意

SQL Server Management Studio (SSMS) 16.x(和舊版)包含 SQLPS 模組。

安裝或更新 SqlServer 模組

若要從 PowerShell 資源庫安裝 SqlServer 模組,請啟動 PowerShell 會話並執行 Install-Module SQLServer

Install-Module -Name SqlServer

如果在 Windows PowerShell 上執行,您可以使用 Install-Module SQLServer -Scope CurrentUser 來安裝目前使用者的模組,並避免需要提高的許可權。

為所有使用者安裝 SqlServer 模組

若要為所有使用者安裝 SqlServer 模組,請在提升許可權的 PowerShell 會話中執行下列命令;以系統管理員身分啟動 PowerShell 工作階段:

Install-Module -Name SqlServer

將 SqlServer 模組安裝到離線電腦

本節將引導您完成在無法存取因特網的電腦上安裝 SqlServer PowerShell 模組的步驟。 您需要兩部電腦才能完成此安裝:連線到因特網的電腦和離線目的地電腦。

  1. 在連線到網際網路的電腦上,下載 SQLServer PowerShell 模組。 此指令會下載模組的所有檔案,並將其儲存在參數中-Path定義的範例$env:TEMP\SQLServer\<SomeVersion>資料夾中。 您可以選擇喜好設定的資料夾作為因特網連線電腦上的目的地。

    Save-Module -Name SqlServer -Path $env:TEMP
    
  2. 瀏覽至 [檔案總管] 中的資料夾位置,以確認 $env:TEMP\SQLServer\<SomeVersion> 資料夾存在或執行此命令:

    Get-ChildItem -Path $env:TEMP\SQLServer\
    
  3. $env:TEMP\SQLServer\<SomeVersion>將您在步驟 2 中找到的資料夾複製到資料夾中的目的地離線電腦%ProgramFiles%\WindowsPowerShell\Modules\SqlServer(此資料夾適用於 PS5 和 PS7)。 請務必將 取代 <SomeVersion> 為您在上一個步驟中找到的值。

  4. 執行下列 PowerShell Cmdlet,確認離線電腦上可以使用 SqlServer PowerShell 模組:

    Get-Module SqlServer -ListAvailable
    

    輸出看起來可能像這樣(實際版本可能不同,且必須符合 <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...
    

檢視已安裝的 SqlServer 模組版本

執行下列命令以查看已安裝的 SqlServer 模組版本。

Get-Module SqlServer -ListAvailable

檢視目前工作階段中載入的 SqlServer 模組版本

(Get-Module SqlServer).Version

覆寫舊版的 SqlServer 模組

您也可以使用 Install-Module 命令來覆寫舊版。

Install-Module -Name SqlServer -AllowClobber

注意

PowerShell 一律會使用已安裝的最新模組。

更新已安裝的 SqlServer 模組版本

SqlServer 模組的更新版本可用時,您可以使用下列命令來安裝較新版本:

Update-Module -Name SqlServer -AllowClobber

您可以使用命令 Update-Module 來安裝最新版本的 SQLServer PowerShell 模組,但這不會移除舊版。 它會並存安裝較新版本,讓您在安裝較舊的模組的同時,試驗最新版本。

不過,如果您不想保留較舊的模組版本,您可以使用 Uninstall-Module 命令來移除舊版。

如果已安裝多個版本,您可以使用下列命令來列出:

Get-Module SqlServer -ListAvailable

您可以使用下列命令來移除舊版:

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

解決

如果您遇到安裝問題,請參閱 Install-Module 檔和Install-Module 參考

使用特定版本的 SqlServer 模組

若要使用模組的特定版本,請使用類似下列命令的特定版本號碼匯入模組:

Import-Module SqlServer -Version 21.1.18218

SqlServer 模組的發行前版本

SqlServer 模組的發行前版本 (或「預覽版」) 版本可能可在 PowerShell 資源庫中使用。

重要

這些版本可能會透過傳遞-AllowPrerelease參數,使用屬於 PowerShellGet 模組一部分的更新Find-ModuleInstall-Module Cmdlet 來探索和安裝。 若要使用這些 Cmdlet,請安裝 PowerShellGet 模組並開啟新的作業階段。

探索 SqlServer 模組的發行前版本

若要探索 SqlServer 模組的發行前版本 (預覽版),請執行下列命令:

Find-Module SqlServer -AllowPrerelease

安裝 SqlServer 模組的特定發行前版本

若要安裝模組的特定發行前版本,請使用特定版本號碼進行安裝。

您可以嘗試使用下列命令:

Install-Module SqlServer -RequiredVersion 21.1.18218-preview -AllowPrerelease

Linux 上的 SQL Server PowerShell

請流覽 /sql/linux/sql-server-linux-manage-powershell-core,瞭解如何在 Linux 上安裝 SQL Server PowerShell。

其他模組

  • Az.Sql - Windows PowerShell 和 PowerShell 中 Azure Resource Manager 的 SQL 服務 Cmdlet。

  • SqlServerDsc - 具有 DSC 資源的模組,可用於部署和設定 SQL Server Microsoft。

Cmdlet 參考