SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for...

25
SQL Server 2019 Protocols Overview Justin Hoffman, Eric Bortei-Doku

Transcript of SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for...

Page 1: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

SQL Server 2019 Protocols OverviewJustin Hoffman, Eric Bortei-Doku

Page 2: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Agenda – SQL Server Protocols Overview

• First: Open Specifications – General Introduction

• Then: Open Specifications – SQL Server Perspective

• Core Platform Protocol Areas

• Protocol Use Case: MS-TDS (Quick intro)

Page 3: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Open Specifications – General Intro

Page 4: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Open Specifications – in General

These specifications (documents) allow us to:

Be more open in our business practices, and offer greater

interoperability with our products

Work better with the industry and continue to improve

relationships with customers, students, and partners

Page 5: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Open Specifications – SQL Server Perspective

Page 6: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Technical Documents

Open specification docs also called technical docs

SQL Server technical docs cover:▪File formats

▪Data portability

▪Protocols

▪Standards

Available in different formats:▪DOCX

▪PDF

▪HTML

Page 7: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Technical Document Structure

• Introduction

• Normative sections

Typically sections 2 & 3. Describe the

protocol, file format etc. in technical detail

• Informative sections

• Remaining sections

Provides explanations, examples and

references

• Product behavior appendix

Lists the Microsoft products (and their

versions) to which the content applies

SQL technical documents have

the following structure:

Page 8: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Technical Doc Language & Sections

• Prescriptive language used to clarify the technical requirements for an implementation.• For Required behavior: MUST, MUST NOT

• For Optional behavior: MAY, SHOULD, SHOULD NOT

• Terms used as defined in [RFC 2119]

• Restricted to normative sections by using the appropriate template:

Page 9: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Other Technical Docs – Preview Docs

• Provide advance copies of new

or modified protocols

• Typically published with the

public “BETA” previews of a

Microsoft product

• Documents are not complete, and

the information is subject to

change with the final release of

the software

Page 10: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Other Technical Docs – Errata

clarify information correct errors

correctsdocument Errataupdate

Page 11: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Other Technical Docs – Data Portability

user-created datause in other software products

File Format doc example:

Page 12: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Other Technical Docs – Overview Document

Defines SQL Server protocol families

Scenario-Based

Walkthroughs and examples for:✓ Instance Discovery

✓ Client Connection

✓ Report management, authoring and reviewing

✓ Authentication and authorization

✓ Query processing … and many more

Captured in MS-SSSO

Page 13: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

SQL Server Core Platform Areas – Overview Doc

Database Engine

Analysis Services

Reporting Services

Master Data Services

Complex Event Processing Engine

Manageability

Page 14: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Database Engine

• Core service for storing, processing, and securing data.

• Collection of protocols for application runtime purposes

and application management purposes

Page 15: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

SQL Server Functional Architecture

• Protocols implemented

as client access

libraries

• Libraries provide

flexibility in

connecting between

client and engine

Page 16: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

New Features at a Glance

• SQL Server 2017 introduced:• Graph for Many-to-many relationship modelling

• Database-scoped Credentials

• Machine Learning Services

• SQL Server 2019 preview features:• Calc members (MS-SSAS-T)

• Memory resource governance (MS-SSAS)

• Secure enclaves (MS-SCCSTR, MS-TDS)

Page 17: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

New Features at a Glance – Secure enclaves

Expands upon the Always Encrypted feature:

• Provides in-place encryption

• Supports computations on plaintext data in secure

enclave

• Sensitive data protected from unauthorized high-

privilege users

• SCCSTR and TDS protocols updated to support this

Page 18: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

New Features at a Glance – Secure enclaves

Page 19: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

SQL Server Protocol Use Case: MS-TDS (Quick intro)

Page 20: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

MS-TDS High Level Overview

• Tabular Data Stream (TDS) protocol is an application

layer request/response protocol, allows interaction

with a database server and provides:

Authentication and channel encryption

negotiation

• Transfer of requests & commands (like BULK INSERT)

• Mechanism for invoking stored procedures, remote

procedure calls

• Data return

• Transfer of Transaction Manager requests

Page 21: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

MS-TDS Communication Sequence States

Pre-Login state▪Client initiates communication with initial PRELOGIN packet

▪Server responds

▪… (sequence continues)

Login state▪Client sends TDS Login request to server with SPNEGO packet

▪Server responds

▪… (sequence continues)

Post-Login state▪Server ready to accept SQL commands from client

▪For example, client sends BULK INSERT command to server

See [MS-TDS] section 3.1.5

Page 22: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

MS-TDS Pre-Login Communication Sequence

Page 23: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

MS-TDS BULK INSERT Communication Sequence

Page 24: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

Questions?

Page 25: SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for Many-to-many relationship modelling • Database-scoped Credentials • Machine Learning

© Copyright Microsoft Corporation. All rights reserved.

Thank you!