我如何使用PowerShell脚本来更改SQL Server别名?

我有一台x64机器,经常需要在SQL Server客户端networking实用程序(cliconfig)中更改registry的x64和x86端的大约10个别名。 有没有办法我可以用PowerShell脚本来做到这一点?

在SQL Server 2000中使用cliconfig.exe,用于SQL Server 2008的正确工具是SQL Serverconfigurationpipe理器。 尽pipe如此,他们似乎都在操纵相同的registry项。

对于x86:

HKLM \ SOFTWARE \微软\的MSSQLServer \客户端\ ConnectTo

对于x64:

HKLM:\ SOFTWARE \ Wow6432Node \微软\的MSSQLServer \客户端\ ConnectTo

要使用powershell创build一个新的TCP别名(尽pipe你可以使用任何操纵registry的工具),请使用以下命令:

New-ItemProperty HKLM:SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo -name alias1 -propertytype String -value "DBMSSOCN,servera,2001" 

其中alias1是别名的名称, servera是服务器的名称, 2001是TCP端口。

我相信你应该使用WMI来做到这一点。 在root \ Microsoft \ SqlServer \ ComputerManagement命名空间中有一个对应于服务器别名的SqlServerAliastypes的对象。 尝试使用它 – 就我所知,使用WMI是执行此类任务的推荐方法。