自动打开命名管道和 tcp\ip
Posted
技术标签:
【中文标题】自动打开命名管道和 tcp\\ip【英文标题】:Automate turning named-pipes and tcp\ip on自动打开命名管道和 tcp\ip 【发布时间】:2011-06-13 19:18:44 【问题描述】:我正在安装需要修改 SQL Server 的新产品。
具体来说,启用 tcp/ip 并打开命名管道。我知道如何手动完成。我想要的是一种通过 SQL 或 C# 代码为新客户自动执行此操作的方法。
我会喜欢任何关于正确方向的建议。
【问题讨论】:
【参考方案1】:您可以使用 C# 和服务器管理对象 (SMO) 来执行此操作。您需要的类位于 Microsoft.SqlServer.Smo 和 Microsoft.SqlServer.WmiManagement 库中。
这是我使用过的 Powershell sn-p,它使用相同的对象。希望它会为您指明正确的道路。
$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
【讨论】:
以上是关于自动打开命名管道和 tcp\ip的主要内容,如果未能解决你的问题,请参考以下文章
[08001] [Microsoft] [SQL Server Native Client 11.0] 命名管道提供程序:无法打开与SQL Server的连接