2010-09-07 105 views

回答

3

从这里引述MSDN http://msdn.microsoft.com/en-us/library/ms187892.aspx

命名管道与TCP/IP套接字

在快速局域网(LAN)环境,传输控制协议/ Internet协议(TCP/IP)套接字和命名管道客户端在性能方面具有可比性。但是,对于较慢的网络,例如跨广域网(WAN)或拨号网络,TCP/IP套接字和命名管道客户端之间的性能差异会变得明显。这是因为进程间通信(IPC)机制在对等体之间进行通信的方式不同。

对于命名管道,网络通信通常更具交互性。一个对等体不会发送数据,直到另一个对等体使用读取命令请求它。网络读取通常涉及一系列窥视命名管道消息,然后开始读取数据。在网络速度较慢的情况下,这些成本可能会非常高,并会导致网络流量过大,进而影响其他网络客户端。

澄清你是否在谈论本地管道或网络管道也很重要。如果服务器应用程序在运行SQL Server实例的计算机上本地运行,则本地命名管道协议是一个选项。本地命名管道以内核模式运行,速度非常快。

对于TCP/IP套接字,数据传输更精简,开销更少。数据传输还可以利用TCP/IP套接字性能增强机制,如窗口化,延迟确认等等。这在缓慢的网络中可能非常有用。根据应用类型的不同,这种性能差异可能很大。

TCP/IP套接字还支持积压队列。与命名管道相比,这可以提供有限的平滑效果,当您尝试连接到SQL Server时可能导致管道忙错误。

通常,TCP/IP在慢速局域网,广域网或拨号网络中是首选,而当网络速度不是问题时,命名管道可能是更好的选择,因为它提供更多功能,使用和配置选项。


与SSMS

如果使用命名管道在安装SQL Server的启用,可以从SSMS中使用它。您可能需要使用CliConfg.exe配置为命名管道设置服务器。