下列组件按下面的顺序管理 SQL Server 2000 与其客户端之间的通讯:
SQL Server 2000 按相反的顺序答复客户端。
下图显示当 SQL Server 应用程序在装有 SQL Server 实例的同一台计算机上运行时的通讯路径。
这是在 SQL Server 应用程序通过 LAN 或 WAN 连接到另一台计算机上的 SQL Server 2000 实例时的简化通讯路径图示。虽然图中显示了使用特定 Net-Library 的用于 SQL Server 2000 的 OLE DB 提供程序、SQL Server ODBC 驱动程序和DB-Library
DLL,但对这些组件连接这些 Net-Library 没有任何限制。这些提供程序、驱动程序和 DB-Library 每个都可以使用任何的 SQL Server Net-Library。
SQL Server 2000 将 Net-Library 分为主 Net-Library 和次 Net-Library。用于 SQL Server 2000 的 OLE DB 提供程序、SQL Server 2000 ODBC 驱动程序、DB-Library DLL 和数据库引擎只能直接与以下两个主 Net-Library 通信:
下图更详细地显示了运行 SQL Server 2000 客户端组件的计算机和运行 SQL Server 2000 实例的计算机之间的网络连接,通过客户端和服务器 Net-Library 通讯的路径。
服务器超级套接字 Net-Library 作为 Ssnetlib.dll 实现,而客户端超级套接字 Net-Library 作为 Dbnetlib.dll 实现。
下表显示 Net-Library 如何与 IPC API 及用于连接的协议相关。
网络实用工具中指定的协议 |
|
|
|
|
TCP/IP 套接字 |
Dbnetlib.dll |
Ssnetlib.dll |
Windows 套接字 2 |
TCP/IP |
命名管道 |
Dbnetlib.dll 路由至 Dbnmpntw.dll |
Ssnetlib.dll 路由至 Ssnmpn70.dll(仅限于 Microsoft Windows NT® 和 Windows® 2000) |
Windows 命名管道 |
文件系统(本地) |
NWLink IPX/SPX |
Dbnetlib.dll |
Ssnetlib.dll |
Windows 套接字 2 |
NWLink |
VIA ServerNet II SAN |
Dbnetlib.dll 路由至 Dbmssnet.dll(仅限于 Microsoft Windows NT 和 Windows 2000) |
Ssnetlib.dll 路由至 Dbmssnet.dll(仅限于 Microsoft Windows NT 和 Windows 2000) |
虚拟接口构架 (VIA) |
虚拟接口构架 (VIA) |
VIA GigaNet SAN |
Dbnetlib.dll 路由至 Dbmsgnet.dll(仅限于 Microsoft Windows NT 和 Windows 2000) |
Ssnetlib.dll 路由至 Dbmsgnet.dll(仅限于 Microsoft Windows NT 和 Windows 2000) |
虚拟接口构架 (VIA) |
虚拟接口构架 (VIA) |
多协议 |
Dbnetlib.dll 路由至 Dbmsrpcn.dll |
Ssnetlib.dll 路由至 Ssmsrpc.dll(仅限于默认实例) |
Windows RPC |
文件系统(本地) |
AppleTalk |
Dbnetlib.dll 路由至 Dbmsadsn.dll |
Ssnetlib.dll 路由至 Ssmsad70.dll(仅限于默认实例) |
AppleTalk ADSP |
AppleTalk |
Banyan Vines |
Dbnetlib.dll 路由至 Dbmsvinn.dll |
Ssnetlib.dll 路由至 Ssmsvi70.dll(仅限于默认实例) |
Banyan VINES SPP |
Banyan VINES |
在 Microsoft Windows® 98 上运行的 SQL Server 2000 实例不支持服务器命名管道和 Banyan VINES Net-Library,因为 Windows 98 操作系统不支持这些 API 的服务器部分。SQL Server 2000 在 Windows 98 上支持这些 Net-Library 的客户端部分;因此,在 Windows 98 上运行的应用程序可使用 Net-Library 连接到 Microsoft Windows NT 或 Microsoft Windows
2000 上的 SQL Server 实例。在 Microsoft Windows 98 上运行的应用程序也可使用这些 Net-Library 建立连接。
AppleTalk Net-Library 不在运行 Windows 95 或 Windows 98 的计算机上运行。
VIA 网络旨在使位于同一数据中心的服务器之间实现高水平的消息传递流量,比如在一个作为一台或多台 Internet Information 服务应用程序服务器实现的 Web 站点内,其中的每台服务器连接到一台或多台运行 SQL Server 的数据库服务器。VIA 网络并不用于连接个别的工作站。客户端和服务器 SQL Server VIA
Net-Library 都只受 Windows NT Server、Windows NT Advanced Server、Windows 2000
Server、Windows 2000 Advanced Server 和 Windows 2000 Data Center 的支持。
SQL Server 2000 的命名实例仅支持命名管道、TCP/IP 套接字、NWLink IPX/SPX 和共享内存 Net-Library。命名实例不支持多协议、AppleTalk 或 Banyan VINES Net-Library。为了保持与 SQL Server 早期版本的兼容性,默认实例支持所有的服务器 Net-Library。
一些 Net-Library 只支持一种类型的协议栈。例如,AppleTalk
Net-Library 需要 AppleTalk 协议栈。其它的 Net-Library,如命名管道和多协议 Net-Library 可支持多个协议栈。
Microsoft SQL Server Net-Library 已针对 Microsoft 协议栈做了大量的测试,并得到这些协议栈的支持。如果其它供应商的协议栈完全支持 Microsoft SQL Server Net-Library 所使用的 API,这些协议栈也应该有效。
使用命名管道或多协议 Net-Library 将应用程序连接到同一台计算机上的 SQL Server 实例时,如果这台计算机没有协议栈,IPC API 将由文件系统实现。