SlideShare ist ein Scribd-Unternehmen logo
1 von 38
#JSS2015
Les journées
SQL Server 2015
Un événement organisé par GUSS
@GUSS_FRANCE
#JSS2015
Les journées
SQL Server 2015
Un événement organisé par GUSS
SQL Server 2016: (Quelques) Nouveautés
Stéphane Haby
Nathan Courtine
#JSS2015
Merci à nos sponsors
#JSS2015
About us
Stéphane Haby
Delivery Manager
Senior Consultant
stephane.haby@dbi-services.com
Nathan Courtine
Consultant
nathan.courtine@dbi-services.com
#JSS2015
• Experts At Your Service
– 40 specialists in IT infrastructure
– Certified, experienced, passionate
• Based In Switzerland
– 100% self-financed Swiss company
– Over CHF6 mio. turnover
• Leading In Infrastructure Services
– More than 100 customers in CH, D, & F
– Over 40 SLAs dbi FlexService contracted
dbi services
#JSS2015
• Introduction
• Temporal Tables
• Stretch Database
• Security Updates
• Core messages
Agenda
#JSS2015
 SQL Server 2016 overview
 Focus
Introduction
#JSS2015
#JSS2015
Introduction - Focus
Temporal Table
Tracking data changes
over time
Auditing all changes to
data
Recovering from
accidental data changes
Security Update
Always encrypted
Dynamic data masing
Row Level Security
Stretch Database
Migrating local table to
Azure SQL Database
Archiving historical data
to the Cloud
Reducing local complexity
#JSS2015
 Concept
 DDL
 DML
 SELECT
 Demo
Temporal Table
#JSS2015
• How its work?
– Current Table with the current value for each records
called System-Versioned Table
– History table with all previous values for each records
called History Table
Temporal Table - Concept
#JSS2015
• CREATE/ALTER TABLE
– [StartDate] [datetime2](0) GENERATED ALWAYS AS
ROW START NOT NULL
– [EndDate] [datetime2](0) GENERATED ALWAYS AS
ROW END NOT NULL
– PERIOD FOR SYSTEM_TIME([StartDate],[EndDate]))
– WITH (SYSTEM_VERSIONING=ON(HISTORY_TABLE =
[dbo].[History]))
Temporal Table - DDL
#JSS2015
AnimalId Name Genus Species Number StartDate EndDate
AnimalId Name Genus Species Number StartDate EndDate
• INSERT
• UPDATE
• DELETE
Temporal Table - DML
Animals Table (System-Versioned)
AnimalsHistory Table (History)
30 Giraffe Giraffe camelopardalis 5 8/14/2014 1:35:24 12/31/9999 11:59:59
30 Giraffe Giraffe camelopardalis 5 8/14/2014 1:35:24 11/11/2015 10:25:18
30 Giraffe Giraffe camelopardalis 6 11/11/2015 10:25:18 12/31/9999 11:59:59
30 Giraffe Giraffe camelopardalis 6 11/11/2015 10:25:18 28/11/2015 09:10:29
#JSS2015
• SELECT * FROM "Table" FOR SYSTEM_TIME
– AS OF "date_time "
– FROM "start_date_time" TO "end_date_time"
– BETWEEN "start_date_time" AND "end_date_time"
– CONTAINED IN ("start_date_time" , "end_date_time")
– ALL (new in CPT3)
Temporal Table - SELECT
#JSS2015
• Create temporal table
• Insert – Update – Delete
• Select options
• Metadata
• In CTP 3.0: Support for using temporal
system-versioning with In-Memory OLTP
Temporal Table - DEMO
#JSS2015
Stretch Database
 Concept
 Enabling the feature
 Monitoring
#JSS2015
Stretch Database - Concept
SQL Server
SQL Database
Local
User Application
Azure
#JSS2015
Stretch Database - Concept
SQL Server
SQL Database
Insert
Stores data locally1.
On-premises
Local Data
Eligible Data
Remote Data
Removes migrated rows3.
#JSS2015
Stretch Database - Enabling the feature
SQL Database
#JSS2015
Stretch Database - Enabling the feature
SQL Database
Instance Level
Enable “Remote
Data Archive”
option
“sysadmin” or
“server admin”
Database Level
Enable “Stretch
Database” option
“CONTROL
DATABASE”
Table Level
Enable “Stretch
Database” option
“ALTER” table
Connect to Azure
SQL Database server
Administrator access
#JSS2015
• Stretch Monitor
• DMV
– dm_db_rda_migration_status
• Stored procedure
– sp_spaceused
• Extended Events
– Default session
Stretch Database - Monitoring
SQL Database
#JSS2015
• Insert
• Select options
• Monitor migration
Stretch Database - DEMO
#JSS2015
 Always Encrypted
 Dynamic Data Masking
 Row Level Security
Security Update
#JSS2015
• Client side encryption and decryption for sensitive data
Always Encrypted - Concept
Server Client
Driver SELECT FirstName,LastName, Phone
FROM dbo.DimEmployee
WHERE FirstName = ‘Diane’
FirstName LastName Phone
Diane Glimp 202-555-0151
Diane Margheim 815-555-0138
Diane Tibbott 361-555-0180
1. CREATE COLUMN MASTER KEY
2. CREATE COLUMN ENCRYPTION KEY
3. APPLY ENCRYPTION TO COLUMNS
FirstName LastName Phone
0x01A3F81… 0x01D4F9… 0x01492D…
0x01AFB0… 0x01AFB0… 0x01608D…
0x01F34C… 0x01C679… 0x01223F…
SELECT FirstName,LastName, Phone
FROM dbo.DimEmployee
WHERE FirstName = ‘Diane’
FirstName LastName Phone
Diane Glimp 202-555-0151
Diane Margheim 815-555-0138
Diane Tibbott 361-555-0180
SELECT FirstName,LastName, Phone
FROM dbo.DimEmployee
WHERE FirstName = ‘0x01…’
#JSS2015
Always Emcrypted- Concept
CREATE COLUMN MASTER KEY DEFINITION [MasterKey]
WITH
(
KEY_STORE_PROVIDER_NAME = N'MSSQL_CERTIFICATE_STORE',
KEY_PATH = N'LocalMachine/My/FDC49FA0B8C76167F85C3964D349CB09D97E43B7'
);
CREATE COLUMN ENCRYPTION KEY [ColumnKey]
WITH VALUES
(
COLUMN MASTER KEY DEFINITION = [MasterKey],
ALGORITHM = 'RSA_OAEP',
ENCRYPTED_VALUE = 0x01700000016C...
);
#JSS2015
Always Encrypted- Concept
CREATE TABLE dbo.EncryptedTable
(
ID INT IDENTITY(1,1) PRIMARY KEY,
LastName NVARCHAR(32) COLLATE Latin1_General_BIN2
ENCRYPTED WITH
(
ENCRYPTION_TYPE = DETERMINISTIC,
ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256',
COLUMN_ENCRYPTION_KEY = ColumnKey
) NOT NULL,
......
#JSS2015
• Limits sensitive data exposure by masking it
to non-privileged users
Dynamic Data Masking - Concept
#JSS2015
• 4 masking functions available
– Default:
ALTER COLUMN a ADD MASKED WITH (FUNCTION = 'default()')
– Email:
ALTER COLUMN b ADD MASKED WITH (FUNCTION = 'email()')
– Custom String:
ALTER COLUMN c ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')
– Random: (new in CTP3)
ALTER COLUMN d ADD MASKED WITH (FUNCTION = 'random(1, 100)')
Dynamic Data Masking - Concept
#JSS2015
Title FirstName LastName BirthDate EmailAddress Phone
Production Technician - WC60 Guy Gilbert 5/15/1976 guy1@adventure-works.com 320-555-0195
Marketing Assistant Kevin Brown 6/3/1981 kevin0@adventure-works.com 150-555-0189
Engineering Manager Roberto Tamburello 12/13/1968 roberto0@adventure-works.com 212-555-0187
Senior Tool Designer Rob Walters 1/23/1969 rob0@adventure-works.com 612-555-0100
Senior Tool Designer Daniel Obry 1/23/1969 daniel0@adventure-works.com 612-555-0100
Tool Designer Thierry D'Hers 8/29/1953 thierry0@adventure-works.com 168-555-0183
Marketing Manager David Bradley 4/19/1969 david0@adventure-works.com 913-555-0172
Marketing Manager David Bradley 4/19/1969 david0@adventure-works.com 913-555-0172
Production Supervisor - WC60 JoLynn Dobney 2/16/1950 jolynn0@adventure-works.com 903-555-0145
Production Technician - WC10 Ruth Ellerbrock 7/6/1950 ruth0@adventure-works.com 145-555-0130
• Implement restrictions on data row access
Row Level Security - Concept
GRANT SELECT (Title, FirstName,LastName,BirthDate) on Employees to User11. Create a function with conditions
2. Create a Security Policy associated to this function
#JSS2015
• Table Employee
• Logins
– sql login u1 with the db_owner role
– sql login u2 with the db_datareader role
DEMO
#JSS2015
 Temporal Table
 Stretch Database
 Security Update
Core Messages
#JSS2015
• Easy to create
– just add a Start Date and the End Date with a DateTime2 data type
– a temporal table have (System-Versioned) and the associated history table have
(History)
• Easy to INSERT data (classical way)
• Update and DELETE puts old values in the Historic table
• SELECT have 5 options to read temporal table
– FOR SYSTEM_TIME AS OF…
– FOR SYSTEM_TIME FROM… TO…
– FOR SYSTEM_TIME BETWEEN… AND…
– FOR SYSTEM_TIME CONTAINED IN(…,…)
– FOR SYSTEM_TIME ALL
• Start and End DateTime are set to the UTC Time in the History
table
• Enable for In-Memory
Temporal Table
#JSS2015
• New hybrid Cloud architecture
• Designed for tables
– With large volumes
– Archived oriented
• Reduce complexity management
Stretch Database
#JSS2015
• Always Encrypted
– Client side encryption and decryption
– Protect data per column
• Dynamic Data Masking
– Limits sensitive data exposure by masking it to non-privileged
users
– 4 masking functions available:
• default, email, custom string & random
• Row Level Security
– Implement restrictions on data row access
– Create a function with conditions and a Security Policy associated
to this function
Security Update
#JSS2015
• SQL Server 2016 CTP3 download
https://www.microsoft.com/en-us/evalcenter/evaluate-sql-
server-2016
• What's New in SQL Server 2016
https://msdn.microsoft.com/en-us/library/bb500435.aspx
• dbi services blogs
http://blog.dbi-services.com/tag/sql-server-2016/
References
#JSS2015#JSS2015
Les évaluations des sessions,
c’est important !!
http://GUSS.Pro/jss
#JSS2015
Merci à nos volontaires…
#JSS2015#JSS2015

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)
Karthik .P.R
 
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ivan Zoratti
 

Was ist angesagt? (20)

C* Summit 2013: Can't we all just get along? MariaDB and Cassandra by Colin C...
C* Summit 2013: Can't we all just get along? MariaDB and Cassandra by Colin C...C* Summit 2013: Can't we all just get along? MariaDB and Cassandra by Colin C...
C* Summit 2013: Can't we all just get along? MariaDB and Cassandra by Colin C...
 
Elephants vs. Dolphins: Comparing PostgreSQL and MySQL for use in the DoD
Elephants vs. Dolphins:  Comparing PostgreSQL and MySQL for use in the DoDElephants vs. Dolphins:  Comparing PostgreSQL and MySQL for use in the DoD
Elephants vs. Dolphins: Comparing PostgreSQL and MySQL for use in the DoD
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
 
Converting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQLConverting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQL
 
MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)
 
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud Era
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
Perf Tuning Short
Perf Tuning ShortPerf Tuning Short
Perf Tuning Short
 
Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016
 
InnoDB Performance Optimisation
InnoDB Performance OptimisationInnoDB Performance Optimisation
InnoDB Performance Optimisation
 
Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication
 
Oracle GoldenGate for MySQL Overview
Oracle GoldenGate for MySQL OverviewOracle GoldenGate for MySQL Overview
Oracle GoldenGate for MySQL Overview
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 

Ähnlich wie [JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables

Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instruments
Marco Tusa
 

Ähnlich wie [JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables (20)

How Database Convergence Impacts the Coming Decades of Data Management
How Database Convergence Impacts the Coming Decades of Data ManagementHow Database Convergence Impacts the Coming Decades of Data Management
How Database Convergence Impacts the Coming Decades of Data Management
 
Sql 2016 - What's New
Sql 2016 - What's NewSql 2016 - What's New
Sql 2016 - What's New
 
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
 
Macy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightMacy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-Flight
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
 
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
 
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevMigration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
 
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
 
Building a Complex, Real-Time Data Management Application
Building a Complex, Real-Time Data Management ApplicationBuilding a Complex, Real-Time Data Management Application
Building a Complex, Real-Time Data Management Application
 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
 
Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016
 
Tips Tricks and Little known features in SAP ASE
Tips Tricks and Little known features in SAP ASETips Tricks and Little known features in SAP ASE
Tips Tricks and Little known features in SAP ASE
 
An Approach to Sql tuning - Part 1
An Approach to Sql tuning - Part 1An Approach to Sql tuning - Part 1
An Approach to Sql tuning - Part 1
 
FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023
 
BigQuery JavaScript User-Defined Functions by THOMAS PARK and FELIPE HOFFA at...
BigQuery JavaScript User-Defined Functions by THOMAS PARK and FELIPE HOFFA at...BigQuery JavaScript User-Defined Functions by THOMAS PARK and FELIPE HOFFA at...
BigQuery JavaScript User-Defined Functions by THOMAS PARK and FELIPE HOFFA at...
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instruments
 
Do You Have the Time
Do You Have the TimeDo You Have the Time
Do You Have the Time
 
Using T-SQL
Using T-SQL Using T-SQL
Using T-SQL
 

Mehr von GUSS

Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
GUSS
 

Mehr von GUSS (20)

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a boss
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the Web
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI Dev
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 
[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automation
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x events
 
[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables

  • 1. #JSS2015 Les journées SQL Server 2015 Un événement organisé par GUSS @GUSS_FRANCE
  • 2. #JSS2015 Les journées SQL Server 2015 Un événement organisé par GUSS SQL Server 2016: (Quelques) Nouveautés Stéphane Haby Nathan Courtine
  • 4. #JSS2015 About us Stéphane Haby Delivery Manager Senior Consultant stephane.haby@dbi-services.com Nathan Courtine Consultant nathan.courtine@dbi-services.com
  • 5. #JSS2015 • Experts At Your Service – 40 specialists in IT infrastructure – Certified, experienced, passionate • Based In Switzerland – 100% self-financed Swiss company – Over CHF6 mio. turnover • Leading In Infrastructure Services – More than 100 customers in CH, D, & F – Over 40 SLAs dbi FlexService contracted dbi services
  • 6. #JSS2015 • Introduction • Temporal Tables • Stretch Database • Security Updates • Core messages Agenda
  • 7. #JSS2015  SQL Server 2016 overview  Focus Introduction
  • 9. #JSS2015 Introduction - Focus Temporal Table Tracking data changes over time Auditing all changes to data Recovering from accidental data changes Security Update Always encrypted Dynamic data masing Row Level Security Stretch Database Migrating local table to Azure SQL Database Archiving historical data to the Cloud Reducing local complexity
  • 10. #JSS2015  Concept  DDL  DML  SELECT  Demo Temporal Table
  • 11. #JSS2015 • How its work? – Current Table with the current value for each records called System-Versioned Table – History table with all previous values for each records called History Table Temporal Table - Concept
  • 12. #JSS2015 • CREATE/ALTER TABLE – [StartDate] [datetime2](0) GENERATED ALWAYS AS ROW START NOT NULL – [EndDate] [datetime2](0) GENERATED ALWAYS AS ROW END NOT NULL – PERIOD FOR SYSTEM_TIME([StartDate],[EndDate])) – WITH (SYSTEM_VERSIONING=ON(HISTORY_TABLE = [dbo].[History])) Temporal Table - DDL
  • 13. #JSS2015 AnimalId Name Genus Species Number StartDate EndDate AnimalId Name Genus Species Number StartDate EndDate • INSERT • UPDATE • DELETE Temporal Table - DML Animals Table (System-Versioned) AnimalsHistory Table (History) 30 Giraffe Giraffe camelopardalis 5 8/14/2014 1:35:24 12/31/9999 11:59:59 30 Giraffe Giraffe camelopardalis 5 8/14/2014 1:35:24 11/11/2015 10:25:18 30 Giraffe Giraffe camelopardalis 6 11/11/2015 10:25:18 12/31/9999 11:59:59 30 Giraffe Giraffe camelopardalis 6 11/11/2015 10:25:18 28/11/2015 09:10:29
  • 14. #JSS2015 • SELECT * FROM "Table" FOR SYSTEM_TIME – AS OF "date_time " – FROM "start_date_time" TO "end_date_time" – BETWEEN "start_date_time" AND "end_date_time" – CONTAINED IN ("start_date_time" , "end_date_time") – ALL (new in CPT3) Temporal Table - SELECT
  • 15. #JSS2015 • Create temporal table • Insert – Update – Delete • Select options • Metadata • In CTP 3.0: Support for using temporal system-versioning with In-Memory OLTP Temporal Table - DEMO
  • 16. #JSS2015 Stretch Database  Concept  Enabling the feature  Monitoring
  • 17. #JSS2015 Stretch Database - Concept SQL Server SQL Database Local User Application Azure
  • 18. #JSS2015 Stretch Database - Concept SQL Server SQL Database Insert Stores data locally1. On-premises Local Data Eligible Data Remote Data Removes migrated rows3.
  • 19. #JSS2015 Stretch Database - Enabling the feature SQL Database
  • 20. #JSS2015 Stretch Database - Enabling the feature SQL Database Instance Level Enable “Remote Data Archive” option “sysadmin” or “server admin” Database Level Enable “Stretch Database” option “CONTROL DATABASE” Table Level Enable “Stretch Database” option “ALTER” table Connect to Azure SQL Database server Administrator access
  • 21. #JSS2015 • Stretch Monitor • DMV – dm_db_rda_migration_status • Stored procedure – sp_spaceused • Extended Events – Default session Stretch Database - Monitoring SQL Database
  • 22. #JSS2015 • Insert • Select options • Monitor migration Stretch Database - DEMO
  • 23. #JSS2015  Always Encrypted  Dynamic Data Masking  Row Level Security Security Update
  • 24. #JSS2015 • Client side encryption and decryption for sensitive data Always Encrypted - Concept Server Client Driver SELECT FirstName,LastName, Phone FROM dbo.DimEmployee WHERE FirstName = ‘Diane’ FirstName LastName Phone Diane Glimp 202-555-0151 Diane Margheim 815-555-0138 Diane Tibbott 361-555-0180 1. CREATE COLUMN MASTER KEY 2. CREATE COLUMN ENCRYPTION KEY 3. APPLY ENCRYPTION TO COLUMNS FirstName LastName Phone 0x01A3F81… 0x01D4F9… 0x01492D… 0x01AFB0… 0x01AFB0… 0x01608D… 0x01F34C… 0x01C679… 0x01223F… SELECT FirstName,LastName, Phone FROM dbo.DimEmployee WHERE FirstName = ‘Diane’ FirstName LastName Phone Diane Glimp 202-555-0151 Diane Margheim 815-555-0138 Diane Tibbott 361-555-0180 SELECT FirstName,LastName, Phone FROM dbo.DimEmployee WHERE FirstName = ‘0x01…’
  • 25. #JSS2015 Always Emcrypted- Concept CREATE COLUMN MASTER KEY DEFINITION [MasterKey] WITH ( KEY_STORE_PROVIDER_NAME = N'MSSQL_CERTIFICATE_STORE', KEY_PATH = N'LocalMachine/My/FDC49FA0B8C76167F85C3964D349CB09D97E43B7' ); CREATE COLUMN ENCRYPTION KEY [ColumnKey] WITH VALUES ( COLUMN MASTER KEY DEFINITION = [MasterKey], ALGORITHM = 'RSA_OAEP', ENCRYPTED_VALUE = 0x01700000016C... );
  • 26. #JSS2015 Always Encrypted- Concept CREATE TABLE dbo.EncryptedTable ( ID INT IDENTITY(1,1) PRIMARY KEY, LastName NVARCHAR(32) COLLATE Latin1_General_BIN2 ENCRYPTED WITH ( ENCRYPTION_TYPE = DETERMINISTIC, ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256', COLUMN_ENCRYPTION_KEY = ColumnKey ) NOT NULL, ......
  • 27. #JSS2015 • Limits sensitive data exposure by masking it to non-privileged users Dynamic Data Masking - Concept
  • 28. #JSS2015 • 4 masking functions available – Default: ALTER COLUMN a ADD MASKED WITH (FUNCTION = 'default()') – Email: ALTER COLUMN b ADD MASKED WITH (FUNCTION = 'email()') – Custom String: ALTER COLUMN c ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)') – Random: (new in CTP3) ALTER COLUMN d ADD MASKED WITH (FUNCTION = 'random(1, 100)') Dynamic Data Masking - Concept
  • 29. #JSS2015 Title FirstName LastName BirthDate EmailAddress Phone Production Technician - WC60 Guy Gilbert 5/15/1976 guy1@adventure-works.com 320-555-0195 Marketing Assistant Kevin Brown 6/3/1981 kevin0@adventure-works.com 150-555-0189 Engineering Manager Roberto Tamburello 12/13/1968 roberto0@adventure-works.com 212-555-0187 Senior Tool Designer Rob Walters 1/23/1969 rob0@adventure-works.com 612-555-0100 Senior Tool Designer Daniel Obry 1/23/1969 daniel0@adventure-works.com 612-555-0100 Tool Designer Thierry D'Hers 8/29/1953 thierry0@adventure-works.com 168-555-0183 Marketing Manager David Bradley 4/19/1969 david0@adventure-works.com 913-555-0172 Marketing Manager David Bradley 4/19/1969 david0@adventure-works.com 913-555-0172 Production Supervisor - WC60 JoLynn Dobney 2/16/1950 jolynn0@adventure-works.com 903-555-0145 Production Technician - WC10 Ruth Ellerbrock 7/6/1950 ruth0@adventure-works.com 145-555-0130 • Implement restrictions on data row access Row Level Security - Concept GRANT SELECT (Title, FirstName,LastName,BirthDate) on Employees to User11. Create a function with conditions 2. Create a Security Policy associated to this function
  • 30. #JSS2015 • Table Employee • Logins – sql login u1 with the db_owner role – sql login u2 with the db_datareader role DEMO
  • 31. #JSS2015  Temporal Table  Stretch Database  Security Update Core Messages
  • 32. #JSS2015 • Easy to create – just add a Start Date and the End Date with a DateTime2 data type – a temporal table have (System-Versioned) and the associated history table have (History) • Easy to INSERT data (classical way) • Update and DELETE puts old values in the Historic table • SELECT have 5 options to read temporal table – FOR SYSTEM_TIME AS OF… – FOR SYSTEM_TIME FROM… TO… – FOR SYSTEM_TIME BETWEEN… AND… – FOR SYSTEM_TIME CONTAINED IN(…,…) – FOR SYSTEM_TIME ALL • Start and End DateTime are set to the UTC Time in the History table • Enable for In-Memory Temporal Table
  • 33. #JSS2015 • New hybrid Cloud architecture • Designed for tables – With large volumes – Archived oriented • Reduce complexity management Stretch Database
  • 34. #JSS2015 • Always Encrypted – Client side encryption and decryption – Protect data per column • Dynamic Data Masking – Limits sensitive data exposure by masking it to non-privileged users – 4 masking functions available: • default, email, custom string & random • Row Level Security – Implement restrictions on data row access – Create a function with conditions and a Security Policy associated to this function Security Update
  • 35. #JSS2015 • SQL Server 2016 CTP3 download https://www.microsoft.com/en-us/evalcenter/evaluate-sql- server-2016 • What's New in SQL Server 2016 https://msdn.microsoft.com/en-us/library/bb500435.aspx • dbi services blogs http://blog.dbi-services.com/tag/sql-server-2016/ References
  • 36. #JSS2015#JSS2015 Les évaluations des sessions, c’est important !! http://GUSS.Pro/jss
  • 37. #JSS2015 Merci à nos volontaires…

Hinweis der Redaktion

  1. Default Full masking according to the data types of the designated fields. Email Masking method which exposes the first letter of an email address, the "@" character and the constant suffix ".com" Custom String Masking method which exposes the first and last letters and adds a custom padding string in the middle Random: A random masking function for use on any numeric type to mask the original value with a random value within a specified range.
  2. On parlait des speakers, il y a une chose qui leur tient à cœur !