TheTDSprotocol version is probably something you'd rather not know even existed, much less something you'd have to choose. But there's not that much to it, really. Unless you run into an incompatibility, you're best off running with the highest protocol version supported by your server. That's what the vendors' own products do, which is why when you read the Sybase or Microsoft documentation you find no mention ofTDSversions.
Table 3-1. Versions of theTDSProtocol, by Product
|Sybase before System 10, Microsoft SQL Server 6.x||4.2||Still works with all products, subject to its limitations.|
|Sybase System 10 and above||5.0||Still the most current protocol used by Sybase.|
|Sybase System SQL Anywhere||5.0 only||Originally Watcom SQL Server, a completely separate codebase. Our best information is that SQL Anywhere first supported TDS in version 5.5.03 using the OpenServer Gateway (OSG), and native TDS 5.0 support arrived with version 6.0.|
|Microsoft SQL Server 7.0||7.0||Includes support for the extended datatypes in SQL Server 7.0 (such as char/|
|Microsoft SQL Server 2000||7.1||Include support for |
|Microsoft SQL Server 2005||7.2||Includes support for varchar(max), varbinary(max), xml datatypes and MARS[a].|
|Microsoft SQL Server 2008||7.3||Includes support for time, date, datetime2, datetimeoffset.|
|N/A||8.0||FreeTDS will alias this version to 7.1 for backwards compatibility reasons, but this should be avoided due to future compatibility concerns. See note below on obsolete versions.|
a. Multiple Active Result Sets.
For best results, use the highest version of the protocol supported by your server. If you encounter problems, try a lower version. If that works, though, please report it to the mailing list!