没有合适的资源?快使用搜索试试~ 我知道了~
首页"MS-TDS协议2023最新版及使用规范V34.0"
"MS-TDS协议2023最新版及使用规范V34.0"
需积分: 5 0 下载量 119 浏览量
更新于2023-11-24
收藏 7.4MB PDF 举报
TDS协议(Tabular Data Stream Protocol)是由Microsoft Corporation在2023年4月10日发布的最新版本为V34.0的协议。该协议是用于MS SQL数据库的通信协议。MS-TDS协议(Microsoft Tabular Data Stream Protocol)也是用于MS SQL数据库的通信协议,其最新版本同样是在2023年4月10日发布为V34.0。 根据知识产权公告,Microsoft对于开放规范文档享有知识产权。这些规范文档包括协议、文件格式、数据可移植性、计算机语言和标准支持。此外,概述文档还涵盖了协议之间的相互关系和交互作用。 无论托管此文档的Microsoft网站的使用条款中包含的其他条款如何,您可以复制此文档以便开发技术实现。
资源详情
资源推荐
16 / 226
[MS-TDS] - v20230410
Tabular Data Stream Protocol
Copyright © 2023 Microsoft Corporation
Release: April 10, 2023
1.4 Relationship to Other Protocols
The Tabular Data Stream (TDS) protocol depends upon a network transport connection being
established prior to a TDS conversation occurring (the choice of transport protocol is not important to
TDS).
TDS depends on Transport Layer Security (TLS)/Secure Socket Layer (SSL) for network channel
encryption. In the TDS 7.x version family, TLS/SSL is optional and the negotiation of the encryption
setting between the client and server and the initial TLS/SSL handshake are handled in the TDS layer.
Introduced in the TDS 8.0 version, TLS is mandatory and is established in the lower layer before TDS
begins functioning.
If the Multiple Active Result Sets (MARS) feature [MSDN-MARS] is enabled, the Session
Multiplex Protocol (SMP) [MC-SMP] is required.
This relationship is illustrated in the following figure.
Figure 2: Protocol relationship
1.5 Prerequisites/Preconditions
This protocol can be used after the client has discovered the server and established a network
transport connection for use with TDS.
In the TDS 7.x version family, no security association is assumed to have been established at the
lower layer before TDS begins functioning. In the TDS 8.0 version, such a security association is
assumed.
For Security Support Provider Interface (SSPI) [SSPI] authentication to be used, SSPI support
needs to be available on both the client and server machines. For channel encryption to be used,
TLS/SSL support needs to be present on both client and server machines, and a certificate suitable for
encryption has to be deployed on the server machine.
For federated authentication to be used, a library that provides federated authentication support or
an equivalent needs to be present on the server, and the client needs to be able to generate a token
for federated authentication.
17 / 226
[MS-TDS] - v20230410
Tabular Data Stream Protocol
Copyright © 2023 Microsoft Corporation
Release: April 10, 2023
1.6 Applicability Statement
The TDS protocol is appropriate for use to facilitate request/response communications between an
application and a database server in all scenarios where network or local connectivity is available.
1.7 Versioning and Capability Negotiation
This protocol includes versioning issues in the following areas.
Supported Transports: This protocol can be implemented on top of any network transport
protocol as discussed in section 2.1.
Protocol Versions: The TDS protocol supports the TDS 7.x version family (which is composed of
explicit versions TDS 7.0, TDS 7.1, TDS 7.2, TDS 7.3, and TDS 7.4) and the TDS 8.0 explicit
version.
In TDS 7.x, the explicit version is negotiated as part of the LOGIN7 message data stream, as
described in section 2.2.6.4.
In TDS 8.0, the explicit version must be identified from the TLS handshake by using an
Application-Layer Protocol Negotiation (ALPN) TLS extension [RFC7301]. If ALPN is not present,
the server must assume the TDS 8.0 version has been sent. Version information sent in the
LOGIN7 message data that is later in the flow does not have to be specified and should be ignored
by both the client and server.
Aspects of later versions of the TDS protocol that do not apply to earlier versions are identified in
the text.
Note After a protocol feature is introduced, subsequent versions of the TDS protocol support that
feature until that feature is removed.
Security and Authentication Methods: The TDS protocol supports SQL Server User
Authentication (SQLAUTH). The TDS protocol also supports SSPI authentication and indirectly
supports any authentication mechanism that SSPI supports. The use of SSPI in TDS is defined in
sections 2.2.6.4 and 3.2.5.2. The TDS protocol also supports federated authentication. The use
of federated authentication in TDS is defined in sections 2.2.6.4 and 3.2.5.
Localization: Localization-dependent protocol behavior is specified in sections 2.2.5.1.2 and
2.2.5.6.
Capability Negotiation: This protocol does explicit capability negotiation as specified in this
section.
In general, the TDS protocol does not provide facilities for capability negotiation because the complete
set of supported features is fixed for each version of the protocol. Certain features such as
authentication type are not usually negotiated but rather are requested by the client. However, the
protocol supports negotiation for the following two features:
Channel encryption: In TDS 7.x, the encryption behavior that is used for the TDS session is
negotiated in the initial messages exchanged by the client and the server. In TDS 8.0, encryption
is mandatory and is established prior to initial messaging by the client and the server.
Authentication mechanism for integrated authentication identities: The authentication
mechanism that is used for the TDS session is negotiated in the initial messages exchanged by the
client and the server.
For more details about encryption behavior in TDS 7.x and about how the client and server negotiate
between SSPI authentication and federated authentication, see the PRELOGIN description in section
2.2.6.5.
18 / 226
[MS-TDS] - v20230410
Tabular Data Stream Protocol
Copyright © 2023 Microsoft Corporation
Release: April 10, 2023
Note that the cipher suite for TLS/SSL [RFC2246] [RFC5246] [RFC8446] [RFC6101], the
authentication mechanism for SSPI [SSPI], and federated authentication are negotiated outside the
influence of TDS.
1.8 Vendor-Extensible Fields
None.
1.9 Standards Assignments
The TDS 7.x and TDS 8.0 protocols use the following assignment.
Parameter
TCP port value
Reference
Default SQL Server instance TCP port
1433
[IANAPORT]
TDS 8.0 also uses the following ALPN identification sequence to identify the TDS protocol.
Parameter
Identification Sequence
Reference
tds/8.0
0x74 0x64 0x73 0x2f 0x38 0x2e 0x30
[MS-TDS]
Note This identification sequence has been requested and is in the process of being registered with
the Internet Assigned Numbers Authority (IANA). This note will be removed when registration is
completed.
19 / 226
[MS-TDS] - v20230410
Tabular Data Stream Protocol
Copyright © 2023 Microsoft Corporation
Release: April 10, 2023
2 Messages
The formal syntax of all messages is provided in Augmented Backus-Naur Form (ABNF) [RFC4234],
with the addition of the following:
underscore ("_") – a valid character within an identifier.
"%x00" – a valid value.
"%b0" – a valid value.
2.1 Transport
The TDS protocol does not prescribe a specific underlying transport protocol to use on the Internet or
on other networks. TDS only presumes a reliable transport that guarantees in-sequence delivery of
data.
The chosen transport can be either stream-oriented or message-oriented. If a message-oriented
transport is used, any TDS packet sent from a TDS client to a TDS server MUST be contained within a
single transport data unit. Any additional mapping of TDS data onto the transport data units of the
protocol in question is outside the scope of this specification.
The current version of the TDS protocol has implementations over the following transports, except as
indicated:<2>
TCP [RFC793].
A reliable transport over the Virtual Interface Architecture (VIA) interface [VIA2002] can be
used in only TDS 7.0, TDS 7.1, TDS 7.2, and TDS 7.3.<3>
Named Pipes [MSDN-NP].
Shared memory [MSDN-TDSENDPT].
Optionally, the TDS protocol has implementations for the following protocols on top of the
preceding transports:
Transport Layer Security (TLS)/Secure Socket Layer (SSL) [RFC2246] [RFC5246] [RFC6101],
in case TLS/SSL encryption is negotiated in TDS 7.x.
TLS [RFC8446], in case TLS encryption is established in TDS 8.0.
Session Multiplex Protocol (SMP) [MC-SMP], in case the Multiple Active Result Sets
(MARS) feature [MSDN-MARS] is requested.
2.2 Message Syntax
Character data, such as SQL statements, within a TDS message is in Unicode, unless the character
data represents the data value of an ASCII data type, such as a non-Unicode data column. A character
count within TDS is a count of characters, rather than of bytes, except when that character count is
explicitly specified as a byte count.
2.2.1 Client Messages
Messages sent from the client to the server are as follows:
Pre-Login
20 / 226
[MS-TDS] - v20230410
Tabular Data Stream Protocol
Copyright © 2023 Microsoft Corporation
Release: April 10, 2023
Login
Federated Authentication Token
SQL Batch
Bulk Load
Remote Procedure Call
Attention
Transaction Manager Request
These messages are briefly described in the sections that follow. Detailed descriptions of message
contents are in section 2.2.6.
2.2.1.1 Pre-Login
Before a login occurs, a Pre-Login handshake occurs between client and server, setting up contexts
such as encryption and MARS-enabled. For more details, see section 2.2.6.5.
2.2.1.2 Login
When the client makes the determination to establish a TDS protocol connection with the server side,
the client sends a Login message data stream to the server. The client can have more than one
connection to the server, but each connection is established separately in the same way. For more
details, see section 2.2.6.4.
After the server receives the login record from the client and, if necessary, performs subsequent
authentication handshakes (such as when SSPI [SSPI] or federated authentication is used), the
server notifies the client that it has either accepted or rejected the connection request. For more
details, see section 3.3.5.1.
2.2.1.3 Federated Authentication Token
When the client indicates in the Login record that federated authentication<4> is to be used but
that the intended client library needs additional information from the server to generate a federated
authentication token, if the server supports federated authentication that uses that client library, the
server responds with a token that the client uses to perform federated authentication. The client then
generates and sends a tokenless Federated Authentication Token message that contains binary
authentication data that is generated by the federated authentication library. For more details, see
section 2.2.6.3.
After the server receives the Federated Authentication Token message from the client, the server
notifies the client that it has either accepted or rejected the connection request. For more details, see
section 3.3.5.
2.2.1.4 SQL Batch
To send a SQL statement or a batch of SQL statements, the SQL batch, represented by a Unicode
string, is copied into the data section of a TDS packet and then sent to the database server that
supports SQL. A SQL batch can span more than one TDS packet. For more details, see section 2.2.6.7.
剩余225页未读,继续阅读
cheerio 执行以下代码转换为json <html> <input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="0" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List0_RemitIn" v-click="clickBox($index,data)"> IR00252300347A IR00252300347A 2023-05-25 USD32,993.50 1/FLOKSER KIMYA SANAYI VE TICARET 1... 31980005000107125 入账 退汇 待客户确认 受理成功 打印 </html>
使用cheerio 将以下代码转换为json<html> <input type="checkbox" v-model="RemitInBox" class="RemitInBox v-pristine v-valid" name="RemitInBox" value="0" v-checked="data.CheckFlag" v-disabled="data.FndDrc!='01' || data.BusiState!='10'" id="List0_RemitIn" v-click="clickBox($index,data)"> IR00252300347A IR00252300347A 2023-05-25 USD32,993.50 1/FLOKSER KIMYA SANAYI VE TICARET 1... 31980005000107125 入账 退汇 待客户确认 受理成功 打印 </html>
跟着袜总有肉吃
- 粉丝: 5
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功