分享方式:


安裝 SQL Server PowerShell 模組

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

適用於 SQL Server 的 PowerShell 模組

有兩個 SQL Server PowerShell 模組:

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

注意

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

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

如需說明文章,請移至:

注意

在 SqlServer 和 SQLPS 模組的內容中,特定命令名稱可能同時存在於這兩個模組中。

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

SQL Server Management Studio (SSMS)

/sql/ssms/download-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 模組。

您可以使用 Azure Data StudioPowerShell 編輯器支援,在 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 模組。 此命令會在範例 $env:TEMP\SQLServer\<SomeVersion> 資料夾中下載並儲存模組的所有檔案,該資料夾定義於 -Path 參數中。 您可以選擇喜好設定的資料夾作為因特網連線電腦上的目的地。

    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 模組的發行前版本 (或 “preview”) 版本可能會在 PowerShell 資源庫中取得。

重要

這些版本可能會使用更新的 Find-ModuleInstall-Module Cmdlet 來探索並安裝,這些 Cmdlet 是 PowerShellGet 模組的一部分,方法是傳遞 -AllowPrerelease 參數。 若要使用這些 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 參考