OnDoc
| sign
in
up
~
pub
|
pdf
txt
html
toc
url
|
<<
>>
1
2
3
4
5
6
7
8
~
190
Table of Contents
1 Introduction
1.1 Glossary
1.2 References
1.2.1 Normative References
1.2.2 Informative References
1.3 Overview
1.4 Relationship to Other Protocols
1.5 Prerequisites/Preconditions
1.6 Applicability Statement
1.7 Versioning and Capability Negotiation
1.8 Vendor-Extensible Fields
1.9 Standards Assignments
2 Messages
2.1 Transport
2.2 Message Syntax
2.2.1 Client Messages
2.2.1.1 Pre-Login
2.2.1.2 Login
2.2.1.3 Federated Authentication Token
2.2.1.4 SQL Batch
2.2.1.5 Bulk Load
2.2.1.6 Remote Procedure Call
2.2.1.7 Attention
2.2.1.8 Transaction Manager Request
2.2.2 Server Messages
2.2.2.1 Pre-Login Response
2.2.2.2 Login Response
2.2.2.3 Federated Authentication Information
2.2.2.4 Row Data
2.2.2.5 Return Status
2.2.2.6 Return Parameters
2.2.2.7 Response Completion
2.2.2.8 Error and Info
2.2.2.9 Attention Acknowledgment
2.2.3 Packets
2.2.3.1 Packet Header
2.2.3.1.1 Type
2.2.3.1.2 Status
2.2.3.1.3 Length
2.2.3.1.4 SPID
2.2.3.1.5 PacketID
2.2.3.1.6 Window
2.2.3.2 Packet Data
2.2.4 Packet Data Token and Tokenless Data Streams
2.2.4.1 Tokenless Stream
2.2.4.2 Token Stream
2.2.4.2.1 Token Definition
2.2.4.2.1.1 Zero Length Token(xx01xxxx)
2.2.4.2.1.2 Fixed Length Token(xx11xxxx)
2.2.4.2.1.3 Variable Length Tokens(xx10xxxx)
2.2.4.2.1.4 Variable Count Tokens(xx00xxxx)
2.2.4.3 Done and Attention Tokens
2.2.5 Grammar Definition for Token Description
2.2.5.1 General Rules
2.2.5.1.1 Least Significant Bit Order
2.2.5.1.2 Collation Rule Definition
2.2.5.2 Data Stream Types
2.2.5.2.1 Unknown Length Data Streams
2.2.5.2.2 Variable-Length Data Streams
2.2.5.2.3 Data Type Dependent Data Streams
2.2.5.3 Packet Data Stream Headers - ALL_HEADERS Rule Definition
2.2.5.3.1 Query Notifications Header
2.2.5.3.2 Transaction Descriptor Header
2.2.5.3.3 Trace Activity Header
2.2.5.4 Data Type Definitions
2.2.5.4.1 Fixed-Length Data Types
2.2.5.4.2 Variable-Length Data Types
2.2.5.4.3 Partially Length-Prefixed Data Types
2.2.5.5 Data Type Details
2.2.5.5.1 System Data Type Values
2.2.5.5.1.1 Integers
2.2.5.5.1.2 Timestamp
2.2.5.5.1.3 Character and Binary Strings
2.2.5.5.1.4 Fixed-Point Numbers
2.2.5.5.1.5 Floating-Point Numbers
2.2.5.5.1.6 Decimal/Numeric
2.2.5.5.1.7 GUID
2.2.5.5.1.8 Date/Times
2.2.5.5.2 Common Language Runtime (CLR) Instances
2.2.5.5.3 XML Values
2.2.5.5.4 SQL_VARIANT Values
2.2.5.5.5 Table Valued Parameter (TVP) Values
2.2.5.5.5.1 Metadata
2.2.5.5.5.2 Optional Metadata Tokens
2.2.5.5.5.3 TDS Type Restrictions
2.2.5.6 Type Info Rule Definition
2.2.5.7 Encryption Key Rule Definition
2.2.5.8 Data Buffer Stream Tokens
2.2.6 Packet Header Message Type Stream Definition
2.2.6.1 Bulk Load BCP
2.2.6.2 Bulk Load Update Text/Write Text
2.2.6.3 Federated Authentication Token
2.2.6.4 LOGIN7
2.2.6.5 PRELOGIN
2.2.6.6 RPC Request
2.2.6.7 SQLBatch
2.2.6.8 SSPI Message
2.2.6.9 Transaction Manager Request
2.2.7 Packet Data Token Stream Definition
2.2.7.1 ALTMETADATA
2.2.7.2 ALTROW
2.2.7.3 COLINFO
2.2.7.4 COLMETADATA
2.2.7.5 DONE
2.2.7.6 DONEINPROC
2.2.7.7 DONEPROC
2.2.7.8 ENVCHANGE
2.2.7.9 ERROR
2.2.7.10 FEATUREEXTACK
2.2.7.11 FEDAUTHINFO
2.2.7.12 INFO
2.2.7.13 LOGINACK
2.2.7.14 NBCROW
2.2.7.15 OFFSET
2.2.7.16 ORDER
2.2.7.17 RETURNSTATUS
2.2.7.18 RETURNVALUE
2.2.7.19 ROW
2.2.7.20 SESSIONSTATE
2.2.7.21 SSPI
2.2.7.22 TABNAME
2.2.7.23 TVP ROW
3 Protocol Details
3.1 Common Details
3.1.1 Abstract Data Model
3.1.2 Timers
3.1.3 Initialization
3.1.4 Higher-Layer Triggered Events
3.1.5 Message Processing Events and Sequencing Rules
3.1.6 Timer Events
3.1.7 Other Local Events
3.2 Client Details
3.2.1 Abstract Data Model
3.2.2 Timers
3.2.3 Initialization
3.2.4 Higher-Layer Triggered Events
3.2.5 Message Processing Events and Sequencing Rules
3.2.5.1 Sent Initial PRELOGIN Packet State
3.2.5.2 Sent TLS/SSL Negotiation Packet State
3.2.5.3 Sent LOGIN7 Record with Complete Authentication Token State
3.2.5.4 Sent LOGIN7 Record with SPNEGO Packet State
3.2.5.5 Sent LOGIN7 Record with Federated Authentication Information Request State
3.2.5.6 Logged In State
3.2.5.7 Sent Client Request State
3.2.5.8 Sent Attention State
3.2.5.9 Routing Completed State
3.2.5.10 Final State
3.2.6 Timer Events
3.2.7 Other Local Events
3.3 Server Details
3.3.1 Abstract Data Model
3.3.2 Timers
3.3.3 Initialization
3.3.4 Higher-Layer Triggered Events
3.3.5 Message Processing Events and Sequencing Rules
3.3.5.1 Initial State
3.3.5.2 TLS/SSL Negotiation State
3.3.5.3 Login Ready State
3.3.5.4 SPNEGO Negotiation State
3.3.5.5 Federated Authentication Ready State
3.3.5.6 Logged In State
3.3.5.7 Client Request Execution State
3.3.5.8 Routing Completed State
3.3.5.9 Final State
3.3.6 Timer Events
3.3.7 Other Local Events
4 Protocol Examples
4.1 Pre-Login Request
4.2 Login Request
4.3 Login Request with Federated Authentication
4.4 Login Response
4.5 Login Response with Federated Authentication Feature Extension Acknowledgement
4.6 SQL Batch Client Request
4.7 SQL Batch Server Response
4.8 RPC Client Request
4.9 RPC Server Response
4.10 Attention Request
4.11 SSPI Message
4.12 SQL Command with Binary Data
4.13 Transaction Manager Request
4.14 TVP Insert Statement
4.15 SparseColumn Select Statement
4.16 FeatureExt with SessionRecovery Feature Data
4.17 FeatureExtAck with SessionRecovery Feature Data
4.18 Table Response with SessionState Token Data
4.19 Token Stream Communication
4.19.1 Sending a SQL Batch
4.19.2 Out-of-Band Attention Signal
5 Security
5.1 Security Considerations for Implementers
5.2 Index of Security Parameters
6 Appendix A: Product Behavior
7 Change Tracking
8 Index