自动转换命名管道和tcp \ ip

时间:2011-06-13 19:18:45

标签: sql-server tcp named-pipes

我正在安装需要修改SQL Server的新产品。

具体来说,启用tcp / ip并打开命名管道。我知道如何手动完成。我想要的是一种通过SQL或C#代码为新客户自动化的方法。

我很乐意为正确的方向提出任何建议。

1 个答案:

答案 0 :(得分:1)

您可以使用C#和服务器管理对象(SMO)来执行此操作。您需要的类位于Microsoft.SqlServer.Smo和Microsoft.SqlServer.WmiManagement库中。

这是我使用过的使用相同对象的Powershell代码段。希望它会指引你走正确的道路。

$smo = 'Microsoft.SqlServer.Management.Smo.'
$wmi = new-object ($smo + 'Wmi.ManagedComputer').

# List the object properties, including the instance names.
$Wmi

# Enable the TCP protocol on the default instance.
$uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
$Tcp = $wmi.GetSmoObject($uri)
$Tcp.IsEnabled = $true
$Tcp.Alter()
$Tcp

# Enable the named pipes protocol for the default instance.
$uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"
$Np = $wmi.GetSmoObject($uri)
$Np.IsEnabled = $true
$Np.Alter()
$Np