我有一台 x64 计算机,经常需要在 SQL Server 客户端网络实用程序 (cliconfig) 中更改大约 10 个别名,用于注册表的 x64 和 x86 端。我可以用 powershell 脚本来做到这一点吗?
答案1
cliconfig.exe 用于 SQL Server 2000,而 SQL Server 2008 应使用的工具是 SQL Server Configuration Manager。尽管如此,它们似乎都操作相同的注册表项。
对于 x86:
HKLM\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo
对于 x64:
HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo
要使用 powershell 创建新的 TCP 别名(尽管您可以使用任何操作注册表的工具),请使用以下命令:
New-ItemProperty HKLM:SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo -name alias1 -propertytype String -value "DBMSSOCN,servera,2001"
在哪里别名1是别名的名称,塞韦拉是服务器的名称,2001是 TCP 端口。
答案2
我认为您应该使用 WMI 来执行此操作。在 root\Microsoft\SqlServer\ComputerManagement 命名空间中,有一个类型为 SqlServerAlias 的对象,它对应于服务器别名。尝试使用它 - 据我所知,使用 WMI 是执行此类任务的推荐方式。