web-dev-qa-db-ja.com

PowerShellスクリプトを使用してSQLServerエイリアスを変更するにはどうすればよいですか?

レジストリのx64側とx86側の両方で、SQL Serverクライアントネットワークユーティリティ(cliconfig)で定期的に約10個のエイリアスを変更する必要があるx64マシンがあります。 PowerShellスクリプトでこれを行う方法はありますか?

6
wwilkins

cliconfig.exeはSQLServer 2000で使用され、SQL Server2008で使用する適切なツールはSQLServer ConfigurationManagerです。それにもかかわらず、それらは両方とも同じレジストリキーを操作しているようです。

X86の場合:

HKLM\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo

X64の場合:

HKLM:\ Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo

新しいTCPエイリアスをPowerShellで作成するには(レジストリを操作する任意のツールを使用できますが)、次を使用します。

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

ここで、alias1はエイリアスの名前、serveraはサーバーの名前、2001はTCP =ポート。

10
Nick Kavadias

これを行うには、WMIを使用する必要があると思います。 root\Microsoft\SqlServer\ComputerManagement名前空間には、サーバーエイリアスに対応するタイプSqlServerAliasのオブジェクトがあります。それを使用してみてください-私が知る限り、WMIを使用することがそのようなタスクを実行するための推奨される方法です。

0
AlexS