SQL Server 2008网络协议深入理解

网络整理 - 08-21

SQL Server 2008支持四种协议,Shared Memory;TCP/IP;Named Pipes和Virtual Interface Adapter(VIA)。代开SQL Server配置管理器之后,会显示一个配置SQL Server服务,SQL Server网络协议和SQL Native Client协议的节点。可以通过展开SQL Server 2008网络配置节点进行服务器协议的配置。

Shared Memory:Shared Meory协议只能由本地连接使用,因为它是一个用于服务器内部通信的由进程共享内存的空间。在SQL Server上本地运行的应用程序或任务可以利用Shared Memroy协议
Named Pipes:Named Pipes协议使用进程间通信信信道进行高效的服务器内部通信和局域网通信,但由于通过网络或防火墙连接时Named Pipes需要过多的开销,而且它还要求打开额外的端口445,所以一般来说最好禁用Named Pipes。然而有许多应用程序需要用到Named Pipes协议,因为他们是围绕NetbBIOS或给予LAN的协议设计的。Named Pipes可以轻松访问单个安全域中的远程过程调用,因而对这些应用程序很有帮助。如果您需要支持这些应用程序,而SQL Server并没有暴露给外部通信量,那么启用Named Pipes协议和相应的端点的风险是最小的。
TCP/IP:TCP/IP是大部分SQL安装时的主要也是首选的协议。

Virtual Interface Adapter:该协议与支持的硬件和网络配置一起使用。虚拟接口体系由Compaq,也就是现在的惠普,Intel和Microsoft联合开发,被设计成一个可减少创痛网络协议的开两开销的高性能协议,该协议在用户模式上下文而非内核模式上下文下运行。VIA网络客户机与系统区域网络连接。

SQL Native Client配置
SQL Native Client支持同样的四种服务器端协议,除了配置客户端协议之外,还可以设置协议的绑定顺序。可以使用SQL Native Client配置节点创建别名。通过制定一个别名,不用改变服务器名称就可以把客户端的请求定向到该服务器。别名也可以用来取代复杂的命名实例名称。

SQL Server端点
SQL Server 2008将连接对象作为端点,允许侦听不同的端口,为不同的服务使用不同的传输协议。SQL Server提供了四种不同类型的端点:TSQL(默认和TCP);数据库镜像;SOAP;Service Broker。
默认TSQL端点:在安装过程中会创建5个TSQL端点:TSQL默认TCP,TSQL默认VIA,TSQL Named Pipes,TSQL本地计算机,Dedicated Administrator Connection(DAC,专用管理员连接)。TSQL端点为四个支持的协议提供链接服务,第五个用来支持DAC的端点侦听一个专用TCP端口,该端口在启动时被配置为支持一个管理连接。配置的端口记录在当前SQL Server日志文件中。

TSQL默认TCP端点创建于SQL Server实例的安装过程中,并被自动配置为替默认实例侦听端口1433.每次启动命名实例时,命名实例TSQL默认TCP端点都会被随机分配一个 TCP端口。不过,可以通过SQL Server配置管理器静态配置命名实例的端口号。配置一个静态端口能够简化客户端访问,减少对于美剧命名实例的SQL Server浏览器服务的依赖。

VIA协议用于支持VIA硬件设备,VIA协议取决于供应商的实现方案,所以如果不选择特定的硬件供应商,讨论VIA端点还是比较困难的
TSQL Named Pipes端点用于支持Named Pipes协议连接。
TSQL本地计算机端点允许使用Shared Memory协议进行连接。