Export (0) Print
Expand All

2.2.5.3 Packet Data Stream Headers - ALL_HEADERS Rule Definition

Message streams can be preceded by a variable number of headers as specified by the ALL_HEADERS rule. The ALL_HEADERS rule, the Query Notifications header, and the Transaction Descriptor header were introduced in TDS 7.2. The Trace Activity header was introduced in TDS 7.4.

The list of headers that are applicable to the different types of messages are described in the following table.

Stream headers MUST be present only in the first packet of requests that span more than one packet. The ALL_HEADERS rule applies only to the three client request types defined in the table below and MUST NOT be included for other request types. For the applicable request types, each header MUST appear at most once in the stream or packet's ALL_HEADERS field.

Header

Value

SQLBatch

RPCRequest

TransactionManagerRequest

Query Notifications

0x00 01

Optional

Optional

Disallowed

Transaction Descriptor

0x00 02

Required

Required

Required

Trace Activity

0x00 03

Optional

Optional

Optional

Stream-Specific Rules:

TotalLength      =   DWORD    ;including itself
HeaderLength     =   DWORD    ;including itself
HeaderType       =   USHORT;
HeaderData       =   *BYTE
Header           =   HeaderLength HeaderType HeaderData

Stream Definition:

ALL_HEADERS      =   TotalLength 1*Header

Parameter

Description

TotalLength

Total length of ALL_HEADERS stream.

HeaderLength

Total length of an individual header.

HeaderType

The type of header, as defined by the value field in the preceding table.

HeaderData

The data stream for the header. See header definitions in the following subsections.

Header

A structure containing a single header.

 
Show:
© 2014 Microsoft