SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for...
Transcript of SQL Server 2019 Protocols Overview - Microsoft...•SQL Server 2017 introduced: • Graph for...
SQL Server 2019 Protocols OverviewJustin Hoffman, Eric Bortei-Doku
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)
Open Specifications – General Intro
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
Open Specifications – SQL Server Perspective
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
▪HTML
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:
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:
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
Other Technical Docs – Errata
clarify information correct errors
correctsdocument Errataupdate
Other Technical Docs – Data Portability
user-created datause in other software products
File Format doc example:
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
SQL Server Core Platform Areas – Overview Doc
Database Engine
Analysis Services
Reporting Services
Master Data Services
Complex Event Processing Engine
Manageability
Database Engine
• Core service for storing, processing, and securing data.
• Collection of protocols for application runtime purposes
and application management purposes
SQL Server Functional Architecture
• Protocols implemented
as client access
libraries
• Libraries provide
flexibility in
connecting between
client and engine
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)
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
New Features at a Glance – Secure enclaves
SQL Server Protocol Use Case: MS-TDS (Quick intro)
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
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
MS-TDS Pre-Login Communication Sequence
MS-TDS BULK INSERT Communication Sequence
Questions?
© Copyright Microsoft Corporation. All rights reserved.
Thank you!