TDS、NET-Library和网络协议

  TDS(表格格式数据流协议):SQL Server使用一个称为表格格式数据流 (TDS) 的应用程序级协议进行客户端应用程序与 SQL Server 之间的通讯。TDS 数据包封装在 Net-Library 所使用的协议栈生成的数据包中。
        例如,如果使用的是 TCP/IP 套接字 Net-Library,TDS 数据包就封装在基础协议的 TCP/IP 数据包中。将结果集发送回应用程序的数据包的内容取决于是否在传递给数据库引擎的 Transact-SQL 语句中指定了 FOR XML: 
       如果没有指定 FOR XML,数据库引擎将关系结果集发送回应用程序。TDS 数据包中包含结果行集,每行包括一列或多列,就像在 SELECT 语句的选择列表中指定的那样。 
       如果指定了 FOR XML,数据库引擎将 XML 文档以流的形式返回给应用程序。在 TDS 数据包中,XML 文档被格式化为单个的、长 Unicode 值,每个数据包的大小约为 4 KB。 
       可以配置 SQL Server 数据包大小,即 TDS 数据包大小。大多数客户端上的 TDS 数据包大小默认为 4 KB(DB-Library 应用程序默认为 512 字节),经过测试证明,在几乎所有的方案中,这是最佳的 TDS 数据包大小。TDS 数据包大小可以比基础协议中的数据包大。如果是这种情况,发送数据包的计算机上的协议栈自动将 TDS 数据包分解成适合协议数据包大小的单元,客户端计算机上的协议栈则在接收计算机上将 TDS 数据包重新组合在一起。
posted @ 2008-09-23 22:22  小飞龙  阅读(480)  评论(0编辑  收藏  举报