在我的 Windows Server 2012 R2 服务器上,与我的 SQL Server 服务实例运行的服务器相同,我已升级到 PowerShell v5.1。我继续加载 SqlServer 模块 v21.1.18121。除了 Read-SqlTableData 和 Write-SqlTableData 之外,所有命令均加载良好。最可恶的事情!当我在我的Win10开发盒上加载相同的SqlServer模块时,所有命令都存在。我怀疑可用的 .Net 框架或类似版本存在版本问题,或者与 SQL Server 模块发生冲突。大家对此有什么想法吗?
我刚刚遇到了同样的问题。我已经尝试了很多方法,但我认为问题源于将模块 SQLPS 与 SqlServer 模块一起安装。 (SQLPS 是 sqlserver 的旧版本)。
我使用的步骤:(可能有点过分)
Uninstall-Module sqlps
Uninstall-Module sqlserver
ls "c:\program files\WindowsPowerShell\Modules"
文件夹“sqlps”和“sqlserver”都应该丢失或为空。
Install-Module sqlserver
Get-Command -module sqlserver
如果您怀疑版本控制有错误:我已经尝试并测试了 sqlserver 模块版本:21.1.18218 和 21.0.17099
SqlServer 模块随 SQL Server 安装一起提供,并且往往处于不同的版本中。
SQL Server 上的模块位置
(Get-Module -l SqlServer).path
-> C:\Program Files\WindowsPowerShell\Modules\SqlServer\SqlServer.psd1
PowerShell 库中的模块位置
(Get-Module -l SqlServer).path
-> C:\Program Files\WindowsPowerShell\Modules\SqlServer\21.0.17279\SqlServer.psd1
您可以强制 PowerSell 从特定位置加载模块
Install-Module -Name SqlServer
Import-Module -Name (Get-Module -l SqlServer).path -Verbose