今天登录到一台sqlserver 2005 的服务器上,在网络配置中发现网络协议竟然只启用了shared memory,对于我这个数据库大白来说这太奇怪了,不可思议,不开tcp/ip也能用。带着疑问去问百度……


SQLSERVER的网络协议有四个,分别是Shared Memory,Named Pipes,TCP/IP,VIA.在安装SQLserver时,默认的一般是Shared Memory已经启用了,但这四个协议到底有什么用呢,让我们来看一下.

(1)Shared Memory:

Shared Memory避免了运行在同一台计算机上的客户端和服务器之间的进程间封送(跨越进程边界传送信息之前包装信息的方式).客户端直接访问服务器存储数据的内存映射文件.Shared Memory去除了大量的管理开销,速度非常快.只有在本地连接服务器时,Shared Memory才是有用的(例如,web服务器与数据库安装在同一台服务器上),然而,他能极大地提高性能.

(2)Named Pipes

在TCP/IP不可用时,或者没有提供域名服务(DNS)的服务器从而无法把服务器名解析成TCP/IP下的地址时,Named Pipes可能会非常有用.Named Pipes的使用正在减少.既然无论如何都要启用TCP/IP协议,为什么还要加入一条协议呢?(多打开一个协议,就多一份风险)

(3)TCP/IP

TCP/IP已经成为事实上的网络标准协议,从SQLserver2000开始,就在Sqlserver中的默认提供,如果你想通过Internet直接连接到Sqlserver上,则他是惟一的选择。

(4)VIA

VIA是虚拟接口适配器(Virtual Interface Adapter,VIA)的意思,具体的实现随提供商的不同而不同。一般来说,他是一种网络接口,是两个系统之间性能极高的,专业的连接。这种高性能部分是由于特殊的专用硬件知道系统之间有专用的连接,因此无需处理普通的网络寻址问题