安装 SQL Server PowerShell 模块
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)
本文提供安装 SqlServer PowerShell 模块的指导。
适用于 SQL Server 的 PowerShell 模块
提供两种 SQL Server PowerShell 模块:
SqlServer:SqlServer 模块包括新的 cmdlet,用于支持最新的 SQL 功能。 该模块还包含 SQLPS 中 cmdlet 的更新版本。 若要下载 SqlServer 模块,请在 PowerShell 库中转到 SqlServer 模块。
SQLPS:SQLPS 是 SQL 代理使用 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 模块。 若要将 PowerShell 与 Azure Data Studio 一起使用,请从 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 模块安装到脱机计算机
本部分将指导你完成在无法访问 Internet 的计算机上安装 SqlServer PowerShell 模块的步骤。 需要两台计算机才能完成此安装:一台计算机连接到 Internet,目标计算机则保持脱机状态(未连接 Internet)。
在连接到 Internet 的计算机上,下载 SQLServer PowerShell 模块。 此命令将下载该模块的所有文件并将这些文件保存在示例
$env:TEMP\SQLServer\<SomeVersion>
文件夹中,-Path 参数中定义了该文件夹。 你可以根据自己的偏好选择一个文件夹作为连接 Internet 的计算机上的目标。Save-Module -Name SqlServer -Path $env:TEMP
在文件资源管理器中浏览至该文件夹位置,验证
$env:TEMP\SQLServer\<SomeVersion>
文件夹是否存在或运行以下命令:Get-ChildItem -Path $env:TEMP\SQLServer\
将步骤 2 中找到的
$env:TEMP\SQLServer\<SomeVersion>
文件夹复制到%ProgramFiles%\WindowsPowerShell\Modules\SqlServer
文件夹(此文件夹对于 PS5 和 PS7 均适用)中的目标脱机计算机。 请务必将<SomeVersion>
替换为在上一步中找到的值。通过运行以下 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>"
疑难解答
如果在安装过程中出现问题,请参阅安装模块文档和安装模块参考。
使用特定版本的 SqlServer 模块
要使用特定版本的模块,请使用类似以下命令的特定版本号将其导入:
Import-Module SqlServer -Version 21.1.18218
SqlServer 模块的预发行版本
PowerShell 库中可能提供 SqlServer 模块的预发行(或“预览”)版本。
重要
可通过传递 -AllowPrerelease 切换,使用更新后的 Find-Module 和 Install-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 资源管理器的 SQL 服务 cmdlet。
SqlServerDsc - 包含 DSC 资源且用于部署和配置 Microsoft SQL Server 的模块。
Cmdlet 参考
后续步骤
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈