2009-07-16 49 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协议。