SlideShare a Scribd company logo
Karen’s Favourite* Features of
SQL Server 2016
…from a database designer’s Point of view
Karen Lopez, InfoAdvisors
Karen's Favourite Features of  SQL Server 2016
Karen Lopez
Karen has 20+ years of data and information architecture
experience on large, multi-project programs.
She is a frequent speaker on data modeling, data-driven
methodologies and pattern data models.
She wants you to love your data.
A Little About InfoAdvisors…
#TeamData
Data Management
Project Management
Business Analysis
Training
Analysts Services
Consulting
www.datamodel.com
“Every design decision comes
down to cost, benefit and risk.”
- Karen Lopez
Prelaunch Countdown
Some of these slides come from a deck
co-developed for a precon on DB
Design – with Thomas LaRock
www.thomaslarock.com @sqlrockstar
Launch
What is a DBA?
Development DBA
Database Engineer
Database Designer
Operational DBA
NoSQL DBA
Security
SQL 2005
gave us
cell-level
encryption
SQL 2008
gave us
TDE
BitLocker
et al
Nothing
new until
SQL 2016
Security
Security – SQL 2016
Cell level
TDE
Always Encrypted
Data Masking*
Row Level Security*
New!
Security – Always Encrypted
Enabled at column level
Protects data at rest *AND* in memory
Uses Column Master Key (client) and Column
Encryption Key (server)
Security – Always
Encrypted
Always!
Always Encrypted
Security – Always Encrypted
Deterministic – good for
static values; can be
indexed
• MUST use *_BIN2
collation
(Latin1_General_BIN2)
Randomized – better
security; cannot be
indexed
• Not allowed in WHERE
clause!
Security – Always Encrypted
text/ntext/image
XML/hierarchyid/geography/geometry
alias types/user-defined data types
SQL_VARIANT
rowversion (timestamp)
System alias (SYSNAME)
Computed columns
Identity columns
Sparse column sets
Temporal tables
Triggers (partial support)
Full text search
Replication
CDC
In Memory OLTP
Stretch database
Security – Always Encrypted
Foreign keys must match encryption
types
Client code needs to support AE
(currently this means .NET 4.6)
Security –
Always
Encrypted
Wizard
Why would a DB
Designer love it?
Always Encrypted, yeah.
Allows designers to not only
specify which columns need to be
protected, but how.
Built in to the engine, easier for
Devs
Security – Dynamic Data Masking
CREATE TABLE Membership(
MemberID int IDENTITY PRIMARY KEY,
FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)') NULL,
LastName varchar(100) NOT NULL,
Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULL,
Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULL);
INSERT Membership (FirstName, LastName, Phone#, Email) VALUES
('Roberto', 'Tamburello', '555.123.4567', 'RTamburello@contoso.com'),
('Janice', 'Galvin', '555.123.4568', 'JGalvin@contoso.com.co'),
('Zheng', 'Mu', '555.123.4569', 'ZMu@contoso.net');
Security – Dynamic Data Masking
Done at column level (NOT ENCRYPTION!)
Meant to complement other methods
Performed at the end of a database query right before
data returned
Performance impact small
Security – Dynamic Data Masking
4
functions
available
• Default
• Email
• Custom String
• Random
Security – Dynamic Data Masking
Data in database is not changed
Ad-hoc queries *can* expose data
Does not aim to prevent users from exposing
pieces of sensitive data
Security – Dynamic Data Masking
Cannot mask an encrypted column (AE)
Cannot be configured on computed column
But if computed column depends on a mask, then mask is
returned
Using SELECT INTO or INSERT INTO results in masked data
being inserted into target (also for import/export)
Security – Dynamic Data Masking
Why would a DB
Designer love it?
Allows central, reusable design
for standard masking
Offers more reliable masking and
more usable masking
Removes whining about “we can
do that later”
Security – Row Level Security
Filtering result sets (predicate based access)
Predicates applied when reading data
Can be used to block write access
User defined policies tied to inline table functions
Security – Row Level Security
No indication that results have been filtered
If all rows are filtered than NULL set returned
For block predicates, an error returned
Works even if you are dbo or db_owner role
Security – Row Level Security
Recommended to create schema for RLS objects
(predicate functions and security policies)
Use ALTER ANY SECURITY POLICY permissions;
this does not require SELECT on the columns
Avoid type conversions in predicate functions to
avoid runtime errors
Security – Row Level Security
Not
Allowed
• DBCC SHOW_STATISTICS
• FILESTREAM
• Polybase
• Indexed views
• CDC nor change tracking
Security – Row Level Security
Why would a DB
Designer love it?
Allows a designer to do this sort
of data protection IN THE
DATABASE, not just rely on code.
Many, many pieces of code.
Security - Summary
Key differences TDE AE DDM RLS
Encryption Y Y N N
Protect data in memory N Y N N
Overhead Low* High Low Low
Block updates N N N Y
Security - Summary
Data quality?
Data availability?
Data recovery?
Query performance?
Legal requirements?
Which one is right
for you?
Karen's Favourite Features of  SQL Server 2016
Advanced Features and Updates
Love them all…
MOAR Foreign Keys!
What was the previous limit?
253
10,000
What is the new limit?
Why would a DB
Designer love it?
…not so sure ….
Columnstore Improvements
Filter on NCI Columstore
Updateable
In-memory tables can use
Table with Clustered Index Columnstore can have NCI
PKs and FKs constraints
Even more performance improvements
Why would a DB
Designer love it?
Faster
More options
Better
Advanced Features – Temporal Tables
ANSI SQL 2011 based
Current data
Access to historical data
Point-in-time analysis
Uses “period columns”
System-Versioned Temporal Tables
Karen's Favourite Features of  SQL Server 2016
System Versioned Table: Temporal Table
System Versioned Table: Temporal Table
Why would a DB
Designer love it?
Don’t have hand-develop a
solution
SQL Server knows what these
tables are and can optimize itself
when it uses them.
Advance Features: JSON
Not a data type in SQL Server 2016
Results as JSON
Import JSON
Store JSON nvarchar()
Requires Compatibility Level 130
FOR JSON
OPENJSON
Why JSON?
It’s Hipster!
Common for data exchange
Common for persistence
Tools
Preferred
Getting JSON out…
SSMS
JSON – Getting it in
Why would a DB
Designer love it?
Don’t have hand-develop a
solution
Your Devs will Love you More
You can be faster and better
because you now speak a new
language 
Physical Files – Stretch Database
Stretch Database
• Migrate least used data to Azure
• Migrate some or entire table if desired
• Stretch database ensures no data is lost
• DMVs provided to show progress
Physical Files – Stretch Database
Stretch Database
• You can pause migration
• No change to queries
• Latency expected for querying
historical data
Physical Files – Stretch
Database
Stretch Database
Enable Remote Data Archive
Hot & Cold data
On-Prem & Cloud
EXEC sp_configure 'remote data archive' , '1'; GO RECONFIGURE;
GO
Why Stretch?
Smaller backups
Application ignorant
Performance on hot data
Performance* on cold data
Why not Stretch?
Uniqueness
Certain datatypes
Replication
View limitations
Index limitations
More…
Uniqueness is not enforced
for UNIQUE constraints
and PRIMARY KEY
constraints on a Stretch-
enabled table.
Why would a DB
Designer love it?
Don’t have hand-develop a
solution
It’s all automatic
Your devs will love you because
no app changes required.
Finally…
Many, many
performance
enhancements. It’s
just FASTER. No
design changes
needed.
One more time…
Every Design
Decision must
be based on
Cost, Benefit
and Risk
Thank you!
I’d appreciate feedback of any type about
this presentation.
KarenLopez@InfoAdvisors.com
Ad

More Related Content

What's hot (20)

Introduction to azure document db
Introduction to azure document dbIntroduction to azure document db
Introduction to azure document db
Antonios Chatzipavlis
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
Fabio Fumarola
 
How to build your career
How to build your careerHow to build your career
How to build your career
James Serra
 
Data Modeling on Azure for Analytics
Data Modeling on Azure for AnalyticsData Modeling on Azure for Analytics
Data Modeling on Azure for Analytics
Ike Ellis
 
Finding business value in Big Data
Finding business value in Big DataFinding business value in Big Data
Finding business value in Big Data
James Serra
 
Schemaless Databases
Schemaless DatabasesSchemaless Databases
Schemaless Databases
Dan Gunter
 
Dataiku at SF DataMining Meetup - Kaggle Yandex Challenge
Dataiku at SF DataMining Meetup - Kaggle Yandex ChallengeDataiku at SF DataMining Meetup - Kaggle Yandex Challenge
Dataiku at SF DataMining Meetup - Kaggle Yandex Challenge
Dataiku
 
Webinar - Introduction to Azure Data Lake
Webinar - Introduction to Azure Data LakeWebinar - Introduction to Azure Data Lake
Webinar - Introduction to Azure Data Lake
Josh Lane
 
Making Sense of Schema on Read
Making Sense of Schema on ReadMaking Sense of Schema on Read
Making Sense of Schema on Read
Kent Graziano
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
Viet-Trung TRAN
 
How does Microsoft solve Big Data?
How does Microsoft solve Big Data?How does Microsoft solve Big Data?
How does Microsoft solve Big Data?
James Serra
 
Azure Data Lake Intro (SQLBits 2016)
Azure Data Lake Intro (SQLBits 2016)Azure Data Lake Intro (SQLBits 2016)
Azure Data Lake Intro (SQLBits 2016)
Michael Rys
 
Introduction to Azure Data Lake
Introduction to Azure Data LakeIntroduction to Azure Data Lake
Introduction to Azure Data Lake
Antonios Chatzipavlis
 
Transitioning to a BI Role
Transitioning to a BI RoleTransitioning to a BI Role
Transitioning to a BI Role
James Serra
 
Azure Databricks is Easier Than You Think
Azure Databricks is Easier Than You ThinkAzure Databricks is Easier Than You Think
Azure Databricks is Easier Than You Think
Ike Ellis
 
Data modeling trends for analytics
Data modeling trends for analyticsData modeling trends for analytics
Data modeling trends for analytics
Ike Ellis
 
What's new in SQL Server 2016
What's new in SQL Server 2016What's new in SQL Server 2016
What's new in SQL Server 2016
James Serra
 
How to Design a Good Database for Your Application
How to Design a Good Database for Your ApplicationHow to Design a Good Database for Your Application
How to Design a Good Database for Your Application
Nur Hidayat
 
Dipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAsDipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAs
Bob Pusateri
 
NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling
NoSQL Tel Aviv Meetup#1: NoSQL Data ModelingNoSQL Tel Aviv Meetup#1: NoSQL Data Modeling
NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling
NoSQL TLV
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
Fabio Fumarola
 
How to build your career
How to build your careerHow to build your career
How to build your career
James Serra
 
Data Modeling on Azure for Analytics
Data Modeling on Azure for AnalyticsData Modeling on Azure for Analytics
Data Modeling on Azure for Analytics
Ike Ellis
 
Finding business value in Big Data
Finding business value in Big DataFinding business value in Big Data
Finding business value in Big Data
James Serra
 
Schemaless Databases
Schemaless DatabasesSchemaless Databases
Schemaless Databases
Dan Gunter
 
Dataiku at SF DataMining Meetup - Kaggle Yandex Challenge
Dataiku at SF DataMining Meetup - Kaggle Yandex ChallengeDataiku at SF DataMining Meetup - Kaggle Yandex Challenge
Dataiku at SF DataMining Meetup - Kaggle Yandex Challenge
Dataiku
 
Webinar - Introduction to Azure Data Lake
Webinar - Introduction to Azure Data LakeWebinar - Introduction to Azure Data Lake
Webinar - Introduction to Azure Data Lake
Josh Lane
 
Making Sense of Schema on Read
Making Sense of Schema on ReadMaking Sense of Schema on Read
Making Sense of Schema on Read
Kent Graziano
 
How does Microsoft solve Big Data?
How does Microsoft solve Big Data?How does Microsoft solve Big Data?
How does Microsoft solve Big Data?
James Serra
 
Azure Data Lake Intro (SQLBits 2016)
Azure Data Lake Intro (SQLBits 2016)Azure Data Lake Intro (SQLBits 2016)
Azure Data Lake Intro (SQLBits 2016)
Michael Rys
 
Transitioning to a BI Role
Transitioning to a BI RoleTransitioning to a BI Role
Transitioning to a BI Role
James Serra
 
Azure Databricks is Easier Than You Think
Azure Databricks is Easier Than You ThinkAzure Databricks is Easier Than You Think
Azure Databricks is Easier Than You Think
Ike Ellis
 
Data modeling trends for analytics
Data modeling trends for analyticsData modeling trends for analytics
Data modeling trends for analytics
Ike Ellis
 
What's new in SQL Server 2016
What's new in SQL Server 2016What's new in SQL Server 2016
What's new in SQL Server 2016
James Serra
 
How to Design a Good Database for Your Application
How to Design a Good Database for Your ApplicationHow to Design a Good Database for Your Application
How to Design a Good Database for Your Application
Nur Hidayat
 
Dipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAsDipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAs
Bob Pusateri
 
NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling
NoSQL Tel Aviv Meetup#1: NoSQL Data ModelingNoSQL Tel Aviv Meetup#1: NoSQL Data Modeling
NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling
NoSQL TLV
 

Similar to Karen's Favourite Features of SQL Server 2016 (20)

A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
Karen Lopez
 
Designer's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServerDesigner's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServer
Karen Lopez
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George Grammatikos
George Grammatikos
 
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...
Jürgen Ambrosi
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
Tobias Koprowski
 
DP-900.pdf
DP-900.pdfDP-900.pdf
DP-900.pdf
PavanKumarMantha2
 
Data Modelling for security and privacy PRAGUE.pptx
Data Modelling for security and privacy PRAGUE.pptxData Modelling for security and privacy PRAGUE.pptx
Data Modelling for security and privacy PRAGUE.pptx
Karen Lopez
 
Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016
George Walters
 
JoTechies - Azure SQL DB
JoTechies - Azure SQL DBJoTechies - Azure SQL DB
JoTechies - Azure SQL DB
JoTechies
 
Day2
Day2Day2
Day2
madamewoolf
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Charley Hanania
 
5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures
NuoDB
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
PARIKSHIT SAVJANI
 
NoSQL - No Security?
NoSQL - No Security?NoSQL - No Security?
NoSQL - No Security?
Gavin Holt
 
Azure Data platform
Azure Data platformAzure Data platform
Azure Data platform
Mostafa
 
Professional SQL for Developers
Professional SQL for DevelopersProfessional SQL for Developers
Professional SQL for Developers
Paul Irwin
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
Travis Wright
 
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloudKoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
Tobias Koprowski
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
Tobias Koprowski
 
RDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsRDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful Migrations
ScyllaDB
 
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
Karen Lopez
 
Designer's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServerDesigner's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServer
Karen Lopez
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George Grammatikos
George Grammatikos
 
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...
Jürgen Ambrosi
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
Tobias Koprowski
 
Data Modelling for security and privacy PRAGUE.pptx
Data Modelling for security and privacy PRAGUE.pptxData Modelling for security and privacy PRAGUE.pptx
Data Modelling for security and privacy PRAGUE.pptx
Karen Lopez
 
Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016Organizational compliance and security in Microsoft SQL 2012-2016
Organizational compliance and security in Microsoft SQL 2012-2016
George Walters
 
JoTechies - Azure SQL DB
JoTechies - Azure SQL DBJoTechies - Azure SQL DB
JoTechies - Azure SQL DB
JoTechies
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Charley Hanania
 
5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures
NuoDB
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
PARIKSHIT SAVJANI
 
NoSQL - No Security?
NoSQL - No Security?NoSQL - No Security?
NoSQL - No Security?
Gavin Holt
 
Azure Data platform
Azure Data platformAzure Data platform
Azure Data platform
Mostafa
 
Professional SQL for Developers
Professional SQL for DevelopersProfessional SQL for Developers
Professional SQL for Developers
Paul Irwin
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
Travis Wright
 
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloudKoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
Tobias Koprowski
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
Tobias Koprowski
 
RDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsRDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful Migrations
ScyllaDB
 
Ad

More from Karen Lopez (13)

DGIQ East 2023 AI Ethics SIG
DGIQ East 2023 AI Ethics SIGDGIQ East 2023 AI Ethics SIG
DGIQ East 2023 AI Ethics SIG
Karen Lopez
 
Data in the Stars
Data in the StarsData in the Stars
Data in the Stars
Karen Lopez
 
WhoseTinklingInYourDataLake - DAMA Chicago.pdf
WhoseTinklingInYourDataLake - DAMA Chicago.pdfWhoseTinklingInYourDataLake - DAMA Chicago.pdf
WhoseTinklingInYourDataLake - DAMA Chicago.pdf
Karen Lopez
 
Expert Cloud Data Backup and Recovery Best Practice.pptx
Expert Cloud Data Backup and Recovery Best Practice.pptxExpert Cloud Data Backup and Recovery Best Practice.pptx
Expert Cloud Data Backup and Recovery Best Practice.pptx
Karen Lopez
 
Manage Your Time So It Doesn't Manage You
Manage Your Time So It Doesn't Manage YouManage Your Time So It Doesn't Manage You
Manage Your Time So It Doesn't Manage You
Karen Lopez
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to Azure
Karen Lopez
 
Blockchain for the DBA and Data Professional
Blockchain for the DBA and Data ProfessionalBlockchain for the DBA and Data Professional
Blockchain for the DBA and Data Professional
Karen Lopez
 
Blockchain for the DBA and Data Professional
Blockchain for the DBA and Data ProfessionalBlockchain for the DBA and Data Professional
Blockchain for the DBA and Data Professional
Karen Lopez
 
Data Modeling for Security, Privacy and Data Protection
Data Modeling for Security, Privacy and Data ProtectionData Modeling for Security, Privacy and Data Protection
Data Modeling for Security, Privacy and Data Protection
Karen Lopez
 
Fast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & ProcessingFast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & Processing
Karen Lopez
 
Designing for Data Security by Karen Lopez
Designing for Data Security by Karen LopezDesigning for Data Security by Karen Lopez
Designing for Data Security by Karen Lopez
Karen Lopez
 
The Key to Keys - Database Design
The Key to Keys - Database DesignThe Key to Keys - Database Design
The Key to Keys - Database Design
Karen Lopez
 
NoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data ModelersNoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data Modelers
Karen Lopez
 
DGIQ East 2023 AI Ethics SIG
DGIQ East 2023 AI Ethics SIGDGIQ East 2023 AI Ethics SIG
DGIQ East 2023 AI Ethics SIG
Karen Lopez
 
Data in the Stars
Data in the StarsData in the Stars
Data in the Stars
Karen Lopez
 
WhoseTinklingInYourDataLake - DAMA Chicago.pdf
WhoseTinklingInYourDataLake - DAMA Chicago.pdfWhoseTinklingInYourDataLake - DAMA Chicago.pdf
WhoseTinklingInYourDataLake - DAMA Chicago.pdf
Karen Lopez
 
Expert Cloud Data Backup and Recovery Best Practice.pptx
Expert Cloud Data Backup and Recovery Best Practice.pptxExpert Cloud Data Backup and Recovery Best Practice.pptx
Expert Cloud Data Backup and Recovery Best Practice.pptx
Karen Lopez
 
Manage Your Time So It Doesn't Manage You
Manage Your Time So It Doesn't Manage YouManage Your Time So It Doesn't Manage You
Manage Your Time So It Doesn't Manage You
Karen Lopez
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to Azure
Karen Lopez
 
Blockchain for the DBA and Data Professional
Blockchain for the DBA and Data ProfessionalBlockchain for the DBA and Data Professional
Blockchain for the DBA and Data Professional
Karen Lopez
 
Blockchain for the DBA and Data Professional
Blockchain for the DBA and Data ProfessionalBlockchain for the DBA and Data Professional
Blockchain for the DBA and Data Professional
Karen Lopez
 
Data Modeling for Security, Privacy and Data Protection
Data Modeling for Security, Privacy and Data ProtectionData Modeling for Security, Privacy and Data Protection
Data Modeling for Security, Privacy and Data Protection
Karen Lopez
 
Fast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & ProcessingFast Focus: SQL Server Graph Database & Processing
Fast Focus: SQL Server Graph Database & Processing
Karen Lopez
 
Designing for Data Security by Karen Lopez
Designing for Data Security by Karen LopezDesigning for Data Security by Karen Lopez
Designing for Data Security by Karen Lopez
Karen Lopez
 
The Key to Keys - Database Design
The Key to Keys - Database DesignThe Key to Keys - Database Design
The Key to Keys - Database Design
Karen Lopez
 
NoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data ModelersNoSQL and Data Modeling for Data Modelers
NoSQL and Data Modeling for Data Modelers
Karen Lopez
 
Ad

Recently uploaded (20)

Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 

Karen's Favourite Features of SQL Server 2016

  • 1. Karen’s Favourite* Features of SQL Server 2016 …from a database designer’s Point of view Karen Lopez, InfoAdvisors
  • 3. Karen Lopez Karen has 20+ years of data and information architecture experience on large, multi-project programs. She is a frequent speaker on data modeling, data-driven methodologies and pattern data models. She wants you to love your data.
  • 4. A Little About InfoAdvisors… #TeamData Data Management Project Management Business Analysis Training Analysts Services Consulting www.datamodel.com
  • 5. “Every design decision comes down to cost, benefit and risk.” - Karen Lopez
  • 6. Prelaunch Countdown Some of these slides come from a deck co-developed for a precon on DB Design – with Thomas LaRock www.thomaslarock.com @sqlrockstar
  • 8. What is a DBA? Development DBA Database Engineer Database Designer Operational DBA NoSQL DBA
  • 10. SQL 2005 gave us cell-level encryption SQL 2008 gave us TDE BitLocker et al Nothing new until SQL 2016 Security
  • 11. Security – SQL 2016 Cell level TDE Always Encrypted Data Masking* Row Level Security* New!
  • 12. Security – Always Encrypted Enabled at column level Protects data at rest *AND* in memory Uses Column Master Key (client) and Column Encryption Key (server)
  • 15. Security – Always Encrypted Deterministic – good for static values; can be indexed • MUST use *_BIN2 collation (Latin1_General_BIN2) Randomized – better security; cannot be indexed • Not allowed in WHERE clause!
  • 16. Security – Always Encrypted text/ntext/image XML/hierarchyid/geography/geometry alias types/user-defined data types SQL_VARIANT rowversion (timestamp) System alias (SYSNAME) Computed columns Identity columns Sparse column sets Temporal tables Triggers (partial support) Full text search Replication CDC In Memory OLTP Stretch database
  • 17. Security – Always Encrypted Foreign keys must match encryption types Client code needs to support AE (currently this means .NET 4.6)
  • 19. Why would a DB Designer love it? Always Encrypted, yeah. Allows designers to not only specify which columns need to be protected, but how. Built in to the engine, easier for Devs
  • 20. Security – Dynamic Data Masking CREATE TABLE Membership( MemberID int IDENTITY PRIMARY KEY, FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)') NULL, LastName varchar(100) NOT NULL, Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULL, Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULL); INSERT Membership (FirstName, LastName, Phone#, Email) VALUES ('Roberto', 'Tamburello', '555.123.4567', '[email protected]'), ('Janice', 'Galvin', '555.123.4568', '[email protected]'), ('Zheng', 'Mu', '555.123.4569', '[email protected]');
  • 21. Security – Dynamic Data Masking Done at column level (NOT ENCRYPTION!) Meant to complement other methods Performed at the end of a database query right before data returned Performance impact small
  • 22. Security – Dynamic Data Masking 4 functions available • Default • Email • Custom String • Random
  • 23. Security – Dynamic Data Masking Data in database is not changed Ad-hoc queries *can* expose data Does not aim to prevent users from exposing pieces of sensitive data
  • 24. Security – Dynamic Data Masking Cannot mask an encrypted column (AE) Cannot be configured on computed column But if computed column depends on a mask, then mask is returned Using SELECT INTO or INSERT INTO results in masked data being inserted into target (also for import/export)
  • 25. Security – Dynamic Data Masking
  • 26. Why would a DB Designer love it? Allows central, reusable design for standard masking Offers more reliable masking and more usable masking Removes whining about “we can do that later”
  • 27. Security – Row Level Security Filtering result sets (predicate based access) Predicates applied when reading data Can be used to block write access User defined policies tied to inline table functions
  • 28. Security – Row Level Security No indication that results have been filtered If all rows are filtered than NULL set returned For block predicates, an error returned Works even if you are dbo or db_owner role
  • 29. Security – Row Level Security Recommended to create schema for RLS objects (predicate functions and security policies) Use ALTER ANY SECURITY POLICY permissions; this does not require SELECT on the columns Avoid type conversions in predicate functions to avoid runtime errors
  • 30. Security – Row Level Security Not Allowed • DBCC SHOW_STATISTICS • FILESTREAM • Polybase • Indexed views • CDC nor change tracking
  • 31. Security – Row Level Security
  • 32. Why would a DB Designer love it? Allows a designer to do this sort of data protection IN THE DATABASE, not just rely on code. Many, many pieces of code.
  • 33. Security - Summary Key differences TDE AE DDM RLS Encryption Y Y N N Protect data in memory N Y N N Overhead Low* High Low Low Block updates N N N Y
  • 34. Security - Summary Data quality? Data availability? Data recovery? Query performance? Legal requirements? Which one is right for you?
  • 36. Advanced Features and Updates Love them all…
  • 37. MOAR Foreign Keys! What was the previous limit? 253 10,000 What is the new limit?
  • 38. Why would a DB Designer love it? …not so sure ….
  • 39. Columnstore Improvements Filter on NCI Columstore Updateable In-memory tables can use Table with Clustered Index Columnstore can have NCI PKs and FKs constraints Even more performance improvements
  • 40. Why would a DB Designer love it? Faster More options Better
  • 41. Advanced Features – Temporal Tables ANSI SQL 2011 based Current data Access to historical data Point-in-time analysis Uses “period columns” System-Versioned Temporal Tables
  • 43. System Versioned Table: Temporal Table
  • 44. System Versioned Table: Temporal Table
  • 45. Why would a DB Designer love it? Don’t have hand-develop a solution SQL Server knows what these tables are and can optimize itself when it uses them.
  • 46. Advance Features: JSON Not a data type in SQL Server 2016 Results as JSON Import JSON Store JSON nvarchar() Requires Compatibility Level 130 FOR JSON OPENJSON
  • 47. Why JSON? It’s Hipster! Common for data exchange Common for persistence Tools Preferred
  • 49. SSMS
  • 51. Why would a DB Designer love it? Don’t have hand-develop a solution Your Devs will Love you More You can be faster and better because you now speak a new language 
  • 52. Physical Files – Stretch Database Stretch Database • Migrate least used data to Azure • Migrate some or entire table if desired • Stretch database ensures no data is lost • DMVs provided to show progress
  • 53. Physical Files – Stretch Database Stretch Database • You can pause migration • No change to queries • Latency expected for querying historical data
  • 54. Physical Files – Stretch Database
  • 55. Stretch Database Enable Remote Data Archive Hot & Cold data On-Prem & Cloud EXEC sp_configure 'remote data archive' , '1'; GO RECONFIGURE; GO
  • 56. Why Stretch? Smaller backups Application ignorant Performance on hot data Performance* on cold data
  • 57. Why not Stretch? Uniqueness Certain datatypes Replication View limitations Index limitations More… Uniqueness is not enforced for UNIQUE constraints and PRIMARY KEY constraints on a Stretch- enabled table.
  • 58. Why would a DB Designer love it? Don’t have hand-develop a solution It’s all automatic Your devs will love you because no app changes required.
  • 60. One more time… Every Design Decision must be based on Cost, Benefit and Risk
  • 61. Thank you! I’d appreciate feedback of any type about this presentation. [email protected]