安裝 SQL Server PowerShell 模組

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

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

適用於 SQL Server 的 PowerShell 模組

有兩個 SQL Server PowerShell 模組:

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

  • SQLPS:SQLPS 是 SQL Agent 使用 PowerShell 子系統在代理程式作業步驟中執行代理程式作業的模組。

注意

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

如需說明主題,請移至:

SQL Server Management Studio

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

注意

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

Azure Data Studio

Azure Data Studio 不會安裝兩個 PowerShell 模組的任何一個。 若要搭配 Azure Data Studio 使用 PowerShell,請從 PowerShell 資源庫 \(英文\) 安裝 SqlServer 模組。

您可以使用 PowerShell 擴充功能,在 Azure Data Studio 中提供豐富的 PowerShell 編輯器支援。

安裝或更新 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. 將您在步驟 2 中找到的 $env:TEMP\SQLServer\<SomeVersion> 資料夾複製到目的地離線電腦的 %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 切換參數,使用已更新的 Find-ModuleInstall-Module Cmdlet (屬於 PowerShellGet 模組) 來探索並安裝這些版本。 若要使用這些 Cmdlet,請安裝 PowerShellGet 模組,然後開啟新的工作階段。

探索 SqlServer 模組的發行前版本

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

Find-Module SqlServer -AllowPrerelease

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

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

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

Install-Module SqlServer -RequiredVersion 21.1.18218-preview -AllowPrerelease

Linux 上的 SQL Server PowerShell

如需了解如何在 Linux 上安裝 SQL Server PowerShell,請瀏覽使用 PowerShell 管理 Linux 上的 SQL Server

其他模組

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

  • SqlServerDsc - 包含 DSC 資源的模組,用於 Microsoft SQL Server 的部署和組態。

Cmdlet 參考

後續步驟