SQL Server中的客户端网络库可以使客户端应用程序与SQL Server系统进行连接沟通。本文为大家简单介绍一些关于SQL Server 2005客户端网络库及其使用的知识,包括四个方面:共享内存、虚拟接口适配器、命名管道和TCP/IP协议。
在SQL Server中,客户端网络库(Client network library)至关重要,是客户端应用程序和SQL Server系统之间连接沟通的桥梁。客户端必须使用和它需要连接的SQL Server系统相同的客户端网络库。当客户端通过局域网或广域网进行连接时,客户端网络库会在合适的网络协议下压缩 SQL Server的表格格式数据流(Tabular Data Stream,TDS)。(TDS是SQL Server用来接受网络查询请求病向客户端应用程序放回查询结果的协议)。对于本地连接来说,可以使用高性能的共享内存网络库。要想使用客户端网络库,首先打开“SQL Server配置管理器”,点击“SQL Native Client配置”,然后选择“客户端协议”节点,就会出现下述标题所示的SQL Server 2005客户端网络库的网络协议内容。
共享内存(Shared Memory)
共享内存客户端网络库可以用来连接本地服务器上运行的应用程序和SQL Server引擎。在SQL Server Express中,这是默认的配置,通过系统的网络堆栈使用“内存内”管道直接进行通信,所以能够以最快的速度连接到SQL Server。共享内存是最简单的协议,没有什么可设置的选项。
虚拟接口适配器(Virtual Interface Adapter,VIA)
虚拟接口适配器协议是为两个系统之间进行高性能专用连接而设的协议。VIA提供了内存映射的通信模式,通过操作系统网络层达到最佳性能。对 SQL Server来说,当你想要实施高性能集群时,通常会使用VIA客户端网络库。默认情况下,VIA使用1433端口,不过这个配置是可以重新设置的。
命名管道(Named Pipes)
这个客户端网络库最适合用于局域网连接。在局域网环境下,其性能和TCP/IP客户端网络库不相上下。默认情况下,SQL Server会听命于命名管道,pipesqlquery进行客户端连接,不过可以改变默认管道。当你使用句点来指定SQL Server系统时(例如:.SQLExpress),默认设置为使用命名管道连接。
TCP/IP协议
无论是本地网、局域网还是广域网连接,使用的最广泛的客户端协议是TCP/IP,不过TCP/IP协议最适用于局域网和广域网连接。在广域网的环境下,TCP/IP协议在性能上优于命名管道协议。正如其名称所示,这个客户端网络库必须在TCP/IP协议下使用。默认情况下,它使用1433端口,不过这个配置也是可以重设的。