2010-09-07 115 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配置爲命名管道設置服務器。