一、sql server网络配置的几个协议的含义


Shared Memory


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


Named Pipes


在TCP/IP不可用时,或者没有提供域名服务(DNS)的服务器从而无法把服务器名解析成TCP/IP下的地址时,Named Pipes可能会非常有用.


TCP/IP


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


VIA


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


 

二、sql server网络配置的实例说明


程序进程test1.exe访问进程sqlservr.exe


1、两个进程在一台电脑上


如果两个进程在同一台电脑上,也就是说test1.exe和sqlservr.exe在同一台电脑上运行,两个进程有自己独立的系统资源,两者是隔离的。但是可以开辟一个共享内存区,也就是shared memory,两个进程可以共享,进而实现进程间的通信。可见shared memory只能应用于客户端和服务器端在一台电脑的情况。

 

2、两个进程不在一台电脑上


(1)、两个进程同属一个局域网:我们知道两个进程不在一台电脑上,所以无法使用shared memory了,这时可以通过named pipes来实现通信。named pipes是为局域网而开发的协议。

(2)、两个进程属于不同的局域网:这个时候前面的办法都不行了,也就使用最常用的TCP/IP协议,来保证客户端和服务器连接。

 


三、sql server网络配置总结


1、对于客户端和服务器都在一台电脑上,可以使用shared memory,速度最快,当然也可以采用named pipes和tcp/ip,相当于在同一台电脑上,两个进程非要绕一个弯再传送“秋波”,自然效率要低些。


2、对于客户端和服务器在同一个局域网的:可以使用named pipes,速度最快,当然也可以通过TCP/IP,效率要低些。


3、对于客户端和服务器不在同一个局域网的:只能只用TCP/IP了。




参考资料: sql server网络配置   http://www.studyofnet.com/news/842.html