2.2.7.5 DATACLASSIFICATION

Token Stream Name:

 DATACLASSIFICATION

Token Stream Function:

Introduced in TDS 7.4, the DATACLASSIFICATION token SHOULD<43> describe the data classification of the query result set.

Token Stream Comments:

  • The token value is 0xA3.

  • This token is sent by the server only if the client sends a DATACLASSIFICATION FeatureExt in the Login message and the server responds with a DATACLASSIFICATION FeatureExtAck. Additionally, for this token to be sent, the query result set MUST contain output columns whose results are based on sources that are classified.

Token Stream-Specific Rules:

 TokenType                        =   BYTE
  
 SensitivityLabelCount            =   USHORT
 SensitivityLabelName             =   B_VARCHAR
 SensitivityLabelId               =   B_VARCHAR
 InformationTypeCount             =   USHORT
 InformationTypeName              =   B_VARCHAR
 InformationTypeId                =   B_VARCHAR
 SensitivityLabelIndex            =   USHORT
 InformationTypeIndex             =   USHORT
 NumSensitivityProperties         =   USHORT
 NumResultSetColumns              =   USHORT
 SensitivityRank                  =   LONG
  
 SensitivityLabel                 =   SensitivityLabelName
                                      SensitivityLabelId
  
 SensitivityLabels                =   SensitivityLabelCount
                                      [SensitivityLabelCount] *SensitivityLabel
  
 InformationType                  =   InformationTypeName
                                      InformationTypeId
  
 InformationTypes                 =   InformationTypeCount
                                      [InformationTypeCount] *InformationType
  
 SensitivityProperty              =   SensitivityLabelIndex
                                      InformationTypeIndex
                                      [SensitivityRank]
  
 ColumnSensitivityMetadata        =   NumSensitivityProperties
                                      [NumSensitivityProperties] *SensitivityProperty
  
 DataClassificationPerColumnData  =   NumResultSetColumns
                                      [NumResultSetColumns] *ColumnSensitivityMetadata  

Token Stream Definition:

 DATACLASSIFICATION = TokenType
                      SensitivityLabels
                      InformationTypes
                      [SensitivityRank]
                      DataClassificationPerColumnData

Token Stream Parameter Details:

Parameter

Description

TokenType

DATACLASSIFICATION_TOKEN

SensitivityLabelCount

The count of sensitivity labels for this result set. The value can be 0 or greater.

SensitivityLabelName

The name for a sensitivity label. It contains the sensitivity label name length and sensitivity label name. It is intended to be human readable.

SensitivityLabelId

The identifier for a sensitivity label. It contains the sensitivity label identifier length and sensitivity label identifier. It is intended for linking the sensitivity label to an information protection system.

InformationTypeCount

The count of information types for this result set. The value can be 0 or greater.

InformationTypeName

The name for an information type. It contains the information type name length and information type name. It is intended to be human readable.

InformationTypeId

The identifier for an information type. It contains the information type identifier length and information type identifier. It is intended for linking the information type to an information protection system.

SensitivityLabelIndex

The index into the SensitivityLabels array that indicates which SensitivityLabel is associated with SensitivityProperty. A value of USHORT_MAX (0xFFFF) indicates that there is no sensitivity label for SensitivityProperty.

InformationTypeIndex

The index into the InformationTypes array that indicates which InformationType is associated with SensitivityProperty. A value of USHORT_MAX (0xFFFF) indicates that there is no information type for SensitivityProperty.

NumResultSetColumns

Depending on its configuration, the server can send additional information about the data classification for each column. The values of this field are as follows:

  • 0 = Additional information is not sent.

  • The number of columns in the result set. This number MUST be the same number provided by the Count parameter in the COLMETADATA token (section 2.2.7.4).

NumSensitivityProperties

The number of sensitivity properties that are associated with a column. The value can be 0 or greater.

SensitivityRank

A relative ranking of the sensitivity of a query or of a column that is part of per-column data. Available values are defined as follows:

  • -1 = Not defined

  •  0 = None

  • 10 = Low

  • 20 = Medium

  • 30 = High

  • 40 = Critical

A sensitivity ranking is sent by the server only if both of the following are true:

  • The client sends a DATACLASSIFICATION feature extension in a Login message in which DATACLASSIFICATION_VERSION is set to 2.

  • The server responds with a DATACLASSIFICATION feature extension acknowledgement in which DATACLASSIFICATION_VERSION is set to 2.