Введение

Табличный поток данных (TDS) — это протокол прикладного уровня, используемый для передачи данных между сервером базы данных и клиентом. Он был изначально разработан компанией Sybase Inc. для своей реляционной СУБД Sybase SQL Server в 1984 году, а затем компанией Microsoft для Microsoft SQL Server.

История

Во время ранней разработки Sybase SQL Server разработчики Sybase отметили отсутствие общепринятого протокола прикладного уровня для передачи данных между сервером базы данных и его клиентом. Чтобы стимулировать использование своих продуктов, Sybase продвигала использование гибкой пары библиотек – netlib и db lib – для реализации стандартного SQL. Для реализации функции "Массового копирования" была добавлена дополнительная библиотека под названием blk. В то время как netlib отвечает за передачу данных между двумя компьютерами через базовый сетевой протокол, db lib предоставляет API для клиентской программы и взаимодействует с сервером через netlib. db lib отправляет на сервер структурированный поток байтов, предназначенный для табличных данных, то есть Табличный поток данных. blk, как и db lib, предоставляет API для клиентских программ и взаимодействует с сервером через netlib. В 1990 году Sybase заключила соглашение о технологическом обмене с Microsoft, в результате чего Microsoft начала продавать свой собственный SQL Server – Microsoft SQL Server – на основе кода Sybase. Microsoft сохранила API db lib и добавила ODBC. (Microsoft впоследствии добавила дополнительные API.) Примерно в то же время Sybase представила более мощного преемника db lib, названного ct lib, и объединила их под названием Open Client. db lib, хотя и официально устарела, по-прежнему широко используется. Протокол TDS существует в нескольких вариантах, большинство из которых не были публично документированы, поскольку считались проприетарной технологией. Исключением является TDS 5.0, используемый исключительно Sybase, документация на которую доступна от Sybase. Ситуация изменилась, когда Microsoft опубликовала спецификацию TDS в 2008 году в рамках Open Specification Promise. Команда FreeTDS разработала бесплатную нативную библиотеку для реализации протокола TDS, лицензированную по лицензии LGPL. WireShark имеет декодер протокола для TDS. Oracle Corporation предоставляет программное обеспечение Oracle Net, аналогичное TDS.