2009-07-16 69 views
10

什麼是最快的SQL Server連接協議?最快的SQL Server協議?

相關:哪些協議可用於遠程還是本地,這會影響最快協議的選擇嗎?

+0

另請參見[什麼是命名管道?](http://stackoverflow.com/questions/175579/what-are-named-pipes) – Vadzim 2016-12-15 14:53:36

回答

14

VIA。這是最快的SQL協議,它運行在專用硬件上,用於執行SQL Server基準測試記錄。

注意,VIA協議棄用微軟 ,並會在Microsoft SQL Server的 未來的版本中刪除。 它在SQL Server支持。但是2008年, SQL Server 2008 R2和SQL Server 2012的

共享內存是未來表現,但它只是一個客戶端,並且實際上可以共享內存的服務器之間的工作原理,所以只有本地。

對於普通硬件上的遠程連接,TCP是要走的路。在正常操作下,它具有與命名管道相同的性能。在網速慢或網絡忙,它優於NP的魯棒性和速度,實際上documented in MSDN

命名管道,網絡 通信通常更 互動。對等方不會發送數據 ,直到另一個對等方請求使用 讀取命令。一個網絡通常讀取 涉及到一系列窺探命名管道 消息,然後開始讀取數據 。在網絡速度較慢的情況下,這些費用可能會非常高,並會導致網絡流量過大,從而影響其他網絡客戶端。

命名管道也可能導致客戶端連接超時:

TCP/IP套接字還支持積壓 隊列。與指定的 管道相比,這可以提供有限的 平滑效果,當您嘗試將 連接到SQL Server時,管道可能會導致管道繁忙 錯誤。

不幸的是在正常的客戶端配置首先嚐試NP並且這可能導致連接問題(對於上述原因),其中在客戶端網絡配置執行TCP(或在連接字符串,通過tcp:servername)跳過NP連接嘗試和直接進入TCP以獲得更好的負載體驗。

現在的確如此,我引用上面引用的相同鏈接繼續讚美NP的易配置性,很可能是指不需要在防火牆中打開SQL TCP端口,但是在那裏我和BOL有不同的視圖。

7

Shared memory is fastest for local(同一臺機器上的客戶端和服務器)。命名管道可能是第二次禁止本地。對於遠程用戶,每個人都使用TCP-IP,而其餘的協議則變成了網絡歷史。

+3

我假設你的本地意思是「在同一臺機器上運行」,而不是一個本地網絡,因爲這就是共享內存的工作原理。 – ichiban 2009-07-16 16:02:01

+0

按照上述規定,您是否有資源支持此項目? (我明白爲什麼會這樣)。 – PeterX 2014-07-15 06:32:17

0

Using Shared Memory Protocol

您選擇安裝SQL Server時會影響服務器和客戶端之間的通信速度的網絡庫。在三個關鍵網絡庫中,TCP/IP最快,多協議最慢。由於速度優勢,您將需要在您的服務器和客戶端上使用TCP/IP。此外,不要在服務器上安裝未使用的網絡庫,因爲它們只會造成不必要的開銷**

0

命名管道是最快的SQL Server協議。