选择网络协议
若要连接到 SQL Server 数据库引擎,必须启用网络协议。 Microsoft SQL Server 可以同时处理多个协议上的请求。 客户端使用单个协议连接到SQL Server。 如果客户端程序不知道SQL Server侦听哪个协议,请将客户端配置为按顺序尝试多个协议。 使用 SQL Server 配置管理器 启用、禁用和配置网络协议。
Shared Memory
Shared Memory 是可供使用的最简单协议,没有可配置的设置。 由于使用共享内存协议的客户端只能连接到同一台计算机上运行的SQL Server实例,因此它对于大多数数据库活动没有用。 如果怀疑其他协议配置有误,请使用 Shared Memory 协议进行故障排除。
注意
使用 MDAC 2.8 或更早版本的客户端不能使用 Shared Memory 协议。 如果这些客户端尝试使用,将自动切换为 Named Pipes 协议。
TCP/IP
TCP/IP 是 Internet 上广泛使用的通用协议。 它与互连网络中硬件结构和操作系统各异的计算机进行通信。 TCP/IP 包括路由网络流量的标准,并能够提供高级安全功能。 它是目前在商业中最常用的协议。 将计算机配置为使用 TCP/IP 可能会很复杂,但大多数联网的计算机已经配置正确。 若要配置未在 SQL Server 配置管理器 中公开的 TCP/IP 设置,请参阅 Microsoft Windows 文档。
命名管道
Named Pipes 是为局域网而开发的协议。 内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。 第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。
Named Pipes 与TCP/IP 套接字
在快速局域网 (LAN) 环境中,传输控制协议或 Internet 协议 (TCP/IP) 套接字客户端和 Named Pipes 客户端在性能方面不相上下。 但是,网络速度越慢[如在广域网 (WAN) 或拨号网络上],TCP/IP 套接字客户端与 Named Pipes 客户端的性能差异越明显。 这是因为进程间通信 (IPC) 的机制在对等项间的通信方式不同。
对于 Named Pipes,通常网络通信交互性更强。 一个对等方直到另一个对等方使用读取命令请求数据时才发送数据。 在开始读取数据前,网络读取一般包括一系列窥视 Named Pipes 的信息。 这在慢速网络中可能开销非常大,并会导致过多的网络流量,其他的网络客户端反过来也会受到影响。
阐明所讨论的是本地管道还是网络管道也很重要。 如果服务器应用程序在运行 SQL Server 实例的计算机本地运行,则本地命名管道协议是一个选项。 本地 Named Pipes 以内核模式运行且速度非常快。
对于 TCP/IP 套接字,数据传输的效率更高,开销也更少。 数据传输还可以利用 TCP/IP 套接字性能增强机制的优点,例如窗口化、延迟确认等。 这在慢速网络中可能非常有益。 对于应用程序的不同类型,这类性能差异可能非常大。
TCP/IP 套接字还支持积压队列。 与尝试连接到SQL Server时可能导致管道繁忙错误的命名管道相比,这可以提供有限的平滑效果。
通常,TCP/IP 在慢速 LAN、WAN 或拨号网络中效果较好。而当网络速度不成问题时,Named Pipes 则是更好的选择,因为其功能更强、更易于使用并具有更多的配置选项。
启用协议
该协议必须在客户端和服务器上都启用才能正常工作。 服务器可以同时监听所有已启用的协议的请求。 客户端计算机可以选择一个协议,或按SQL Server 配置管理器中列出的顺序尝试这些协议。
有关如何配置协议和连接到数据库引擎的简短教程,请参阅教程:使用数据库引擎入门。