2011-02-17 54 views
3

我的任务是编写一个脚本,为SQL Server 2008 Express R2实例启用tcp和命名管道协议。我已经找到了如何为SQL Server实例本身启用这些协议,但是我还没有找到任何方法来从PowerShell控制SQL Native Client。如何使用powershell配置SQL Native Client?

我的脚本是安装程序的一部分,我正在安装的代码希望启用这些协议。

感谢

回答

1

我终于找到了解决办法。该协议可以通过设置注册表项来启用:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI10.0,设置ProtocolOrder键包含应该启用的协议:

sm = Shared memory 
np = Named pipes 
tcp = TCP (he) 
via = Via 

在这个关键的未列出的协议将被禁用。

5
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") 
$wmi = new-object ("Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer") "$env:computername" 
$wmi.ServerInstances["SQLEXPRESS"].ServerProtocols["Tcp"].IsEnabled = $true 
$wmi.ServerInstances["SQLEXPRESS"].ServerProtocols["Np"].IsEnabled = $true 
$wmi.ClientProtocols["tcp"].IsEnabled = $true 
$wmi.ClientProtocols["np"].IsEnabled = $true 
+0

感谢您的回答!我已经有一个执行这部分操作的脚本。我需要在SQL Native Client上启用相同的协议。 – Eric 2011-02-17 22:31:34

相关问题