0

曾经对我有用的一个很酷的技巧是通过 PowerShell 在 SQL Server Management Studio 中创建注册服务器组和注册。但是,现在我运行的是当前版本(SSMS 17.9.1),我发现功能已经丢失。我不确定它是什么时候坏的。

安装 SQLServer 模块后:

Install-Module -Name SqlServer

您可以通过右键单击“已注册服务器”窗口中的服务器组,然后单击“启动 Powershell”来打开 PowerShell 提示符。在这里,过去,我已经能够使用以下命令创建新组和注册:

Set-Location "sqlserver:\SQLRegistration\Database Engine Server Group"
# group
New-Item -Path "sqlserver:\SQLRegistration\Database Engine Server Group\AllServers"
# registration
New-Item -Name $(encode-sqlname 'sqlsrv') -path "sqlserver:\SQLRegistration\Database Engine Server Group\AllServers" -ItemType Registration -Value ("Server=sqlsrv ; integrated security=true");

这些命令仍然可以正常运行。但是在刷新(甚至重新启动)之后,新的服务器注册不会显示在 Registered Servers 窗口中。

而且,在已注册服务器窗口中设置的服务器组和注册不会在 PowerShell 提示符下与 Get-Item/Get-ChildItem 一起显示。

在当前版本中,此功能是否仍然适用于其他任何人?

我猜想当 SQLPS powershell 模块被 SQLServer 模块取代时会发生一些变化,但这只是一个猜测。如果是这样,我希望我需要在新工具集下使用这些命令进行调整。

4

1 回答 1

2

这是 SQLServer PowerShell 模块 21.1.18068 版中的一个明显错误。卸载该版本并安装 21.0.17279 可以解决该问题。

uninstall-module SQLServer
install-module -RequiredVersion 21.0.17224 -Name SQLServer
于 2018-12-04T15:12:58.587 回答