SlideShare a Scribd company logo
2016
Compatibility level 130 Launch Event, Tehran-IRAN, June 01, 2016
Microsoft SQL Server 2016
About me
@mesbahi
Amin Mesbahi
Senior Database Architect, Consultant and Instructor
• Banking and Financial databases
• National Projects with nation-wide distribution
• High Concurrency Solutions
• Mission-Critical Servers
Email: amin@Mesbahi.net
Website: Mesbahi.net
LinkedIn: ir.linkedin.com/in/aminmesbahi
Microsoft SQL Server 2016
Agenda
What we’ll cover?
• Introduction
• SQL Server History
• Today’s SQL Server Position
• Installation for SQL Server 2016
• What's New in Database Engine
• An Overview on:
• What's New in Reporting Services
• What's New in SQL Server R Services
Microsoft SQL Server 2016
Introduction:
An overview on SQL Server 2016
• No more 32-bit Edition
• SQL Server Management Tools Installation is separated from server Installation
• Developer Edition is now FREE 
• Upgrade from at least SQL Server 2008 SP3
?
Microsoft SQL Server 2016 An overview on SQL Server 2016
• PROS Holdings uses SQL Server 2016’s superior performance and built-in R Service to
deliver advanced analytics more than 100x faster than before
• Load a complex schema derived from TPC-H at 1.6TB/hour, and it took just 5.3 seconds to
run a complex query (the minimum cost supplier query) on the entire 100TB database.
• For six years running, SQL Server has had the least vulnerabilities of any of the major
database platforms, based on NIST Report.
Microsoft SQL Server 2016
SQL Server Position among Competitors
SQL Server Position in the market
Microsoft SQL Server 2016
What's New in Database Engine?
Database Engine new features
• Database Engine Feature Enhancements
• T-SQL Enhancements
• System View Enhancements
• Security Enhancements
• High Availability Enhancements
• Replication Enhancements
• Tools Enhancements
Microsoft SQL Server 2016
What’s Columnstore Indexes
and it’s enhancements in SQL Server 2016?
Columnstore Indexes
Columnar storage
Batch Mode Processing
Memory Optimized
Compression
Rowgroups and Segment Elimination
Microsoft SQL Server 2016 Columnstore Indexes
Columnstore Index Feature SQL Server 2012 SQL Server 2014 SQL Server 2016
SQL Database V12
Premium Edition
SQL Data Warehouse
Batch execution for multi-
threaded queries
yes yes yes yes yes
Batch execution for single-
threaded queries
yes yes yes
Archival compression
option.
yes yes yes yes
Snapshot isolation and
read-committed snapshot
isolation
yes yes yes
Specify columnstore index
when creating a table.
yes yes yes
What happened from 2012 to 2016?
Microsoft SQL Server 2016 Columnstore Indexes
What happened from 2012 to 2016?
Columnstore Index Feature SQL Server 2012 SQL Server 2014 SQL Server 2016
SQL Database V12
Premium Edition
SQL Data Warehouse
AlwaysOn supports columnstore
indexes.
yes yes yes yes yes
AlwaysOn readable secondary
supports read-only nonclustered
columnstore index
yes yes yes yes yes
AlwaysOn readable secondary
supports updateable columnstore
indexes.
yes
Read-only nonclustered columnstore
index on heap or btree.
yes yes yes* yes* yes*
Updateable nonclustered
columnstore index on heap or btree
yes yes yes
Additional btree indexes allowed on a
heap or btree that has a nonclustered
columnstore index.
yes yes yes yes yes
Microsoft SQL Server 2016 Columnstore Indexes
What happened from 2012 to 2016?
Columnstore Index Feature SQL Server 2012 SQL Server 2014 SQL Server 2016
SQL Database V12
Premium Edition
SQL Data Warehouse
Updateable clustered columnstore
index.
yes yes yes yes
Btree index on a clustered
columnstore index.
yes yes yes
Columnstore index on a memory-
optimized table.
yes yes yes
Nonclustered columnstore index
definition supports using a filtered
condition.
yes yes yes
Compression delay option for
columnstore indexes in CREATE
TABLE and ALTER TABLE.
yes yes yes
Microsoft SQL Server 2016 Columnstore Indexes
These are new in 2016 
Updatable nonclustered columnstore index: A read-only nonclustered
columnstore index is updateable after upgrade. A rebuild of the index is not
required to make it updateable.
There are performance improvements for analytics queries on columnstore
indexes, especially for aggregates and string predicates.
An in-memory table can have one columnstore index.
A clustered columnstore index can have one or more nonclustered rowstore indexes.
Support for primary keys and foreign keys by using a btree index to enforce these
constraints on a clustered columnstore index.
Columnstore indexes have a compression delay option that minimizes the impact the
transactional workload can have on real-time operational analytics.
?
Microsoft SQL Server 2016 In-Memory OLTP
Introduction to InMemory OLTP
 Where we are spending more execution time?
 Here are the results from Microsoft analysis.
I/O, Thread
Management
Storage Engine Relational Engine
Communication
Stack
10% 80% 10%
Access Methods,
Transaction, Lock, Log,
Managers
T-SQL Interpreter, Query
Execution, Expressions
Microsoft SQL Server 2016 In-Memory OLTP
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2000
2000
2001
2001
2001
2002
2002
2003
2003
2004
2005
2006
2006
2007
2007
2008
2008
2009
2009
2010
2010
2010
2011
2012
2012
2013
2013
2014
2014
$/1000 Mb
$/1000 Mb
SQL 2005
SQL 2008 R2
SQL 2008
SQL 2012
SQL 2014
SQL 2000
Microsoft SQL Server 2016 In-Memory OLTP
 Hekaton Project - Greek word ἑκατόν (Houndred).
 The objective is to improve 100x the performance.
 Traditional strategy relies in structures focused on data stored in disk.
 By fully using memory capabilities we can have simpler structures.
 Available from SQL Server 2014.
 Highly improved on SQL Server 2016.
Microsoft SQL Server 2016 In-Memory OLTP
Architecture
Client Application
Tabular Data Stream (TDS) Handler / Session Management
T-SQL Execution
Buffer Pool for Tables
and Indexes
Parser,
Catalog and
Optimizer
InMemory
Native Compiler
Storage Engine for Memory
Optimized Tables and Indexes
Native Compiled
Stored Procedures
and Schema
Sqlserv.exe
Memory Optimized
Table Filegroup
Transaction Log Data Filegroup
Generated DLL
InMemory
Component
Existing SQL
Component
Checkpoint Files / Recovery
Query
interoperability
Microsoft SQL Server 2016 In-Memory OLTP
Why Hekaton is faster?
 Compiled objects.
 All the steps to interpret code are avoided.
Microsoft SQL Server 2016 In-Memory OLTP
Improvements:
 Supports 2TB of durable tables (2014 -> 256GB)
 LOBs with large row size for a memory-optimized table
 Transact-SQL Improvements for memory-optimized tables
 UNIQUE indexes, FOREIGN KEY references, CHECK constraints, TRIGGERs
 A non-unique index can allow NULL values in its key
 Increased support for Altering Memory-Optimized Tables
 Natively compiled scalar UDFs, {LEFT|RIGHT} OUTER JOIN, Disjunction (OR, NOT)
 OUTPUT clause in natively compiled stored procedures
 Reduced downtime during upgrade
 support for TDE
Microsoft SQL Server 2016 Query Store, find performance differences caused by changes in query plans
Query Store:
Microsoft SQL Server 2016 Query Store
Query Store:
• support for natively compiled code from In-Memory OLTP workloads
• automatically captures a history of queries, plans, and runtime
statistics, and retains these for your review.
ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;
Microsoft SQL Server 2016 Query Store
Query Store:
Microsoft SQL Server 2016 Live Query Statistics
Live Query Statistics:
Microsoft SQL Server 2016 Live Query Statistics
Microsoft SQL Server 2016 Temporal Tables: correct information about stored facts at any point in time
Temporal Tables:
• temporal table consists of two tables
actually, one for the current data and one for
the historical data.
• It’s new type of user table in SQL Server 2016
• Auditing all data changes
• reconstructing state of the data as of any
time in the past
• Calculating trends over time
• Maintaining a slowly changing dimension for
decision support applications
• Recovering from accidental data changes and
application errors
Microsoft SQL Server 2016 Temporal Tables
How does temporal work?
CREATE TABLE dbo.Employee
(
[EmployeeID] int NOT NULL PRIMARY KEY CLUSTERED
, [Name] nvarchar(100) NOT NULL
, [Position] varchar(100) NOT NULL
, [Department] varchar(100) NOT NULL
, [Address] nvarchar(1024) NOT NULL
, [AnnualSalary] decimal (10,2) NOT NULL
, [ValidFrom] datetime2 (2) GENERATED ALWAYS AS ROW START
, [ValidTo] datetime2 (2) GENERATED ALWAYS AS ROW END
, PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo)
)
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.EmployeeHistory));
Microsoft SQL Server 2016 Temporal Tables
How do I query temporal data?
SELECT * FROM Employee
FOR SYSTEM_TIME
BETWEEN '2014-01-01 00:00:00.0000000' AND '2015-01-01 00:00:00.0000000'
WHERE EmployeeID = 1000 ORDER BY ValidFrom;
Microsoft SQL Server 2016 RLS, Security on your records, not only columns
Row Level Security:
Row-Level Security (RLS) restricts which users can view what data in a table, based on a function.
Microsoft SQL Server 2016 Row Level Security
Row Level Security:
Microsoft SQL Server 2016 Always Encrypted, Better Security
Always Encrypted:
• Data encrypted in flight and at rest
• Better than TDE, encrypted for all users,
even admins.
• Deterministic or Randomized Encryption
• .Net Framework version 4.6 or higher
all the encryption key resides with the application inside the customer’s
trusted environment and not on the server.
Microsoft SQL Server 2016 In-Memory OLTP
Dynamic Data Masking:
Microsoft SQL Server 2016 JSON (JavaScript Object Notation)
{JSON}
4 Native functions:
• ISJSON -Tests whether a string contains valid JSON.
• JSON_VALUE –Extracts the value from JSON.
• JSON_QUERY –Extracts subquery from JSON.
• OPEN_JSON -Table value function that parses JSON text and returns rowsetview of JSON.
Select IsJSON('{"name":“Amin",“family":“Mesbahi","age":X}')
Select * from OpenJSON('{"name":“Jack",“family":“JackZadeh","age":38}‘)
Microsoft SQL Server 2016 Stretch Database with Microsoft Azure
Stretch Database:
Microsoft SQL Server 2016 In-Memory OLTP
Real-time Operational Analytics:
in-memory column store + in-memory OLTP = Real-time Operational Analytics
Microsoft SQL Server 2016 Better T-SQL
Transact-SQL Enhancements:
• The maximum index key size for NONCLUSTERED indexes has been increased to 1700 bytes
• TRUNCATE TABLE statement now permits the truncation of specified partitions
• ALTER TABLE now allows many alter column actions to be performed while the table remains available
• The full-text index DMV sys.dm_fts_index_keywords_position_by_document returns the location of keywords in documents
• A new query hint NO_PERFORMANCE_SPOOL can prevent a spool operator from being added to query plans
• New DROP IF syntax is added for drop statements
• SESSION_CONTEXT can now be set EXEC sp_set_session_context 'user_id', 4; SELECT SESSION_CONTEXT(N'user_id');
• NEW: STRING_SPLIT and STRING_ESCAPE
• The COMPRESS and DECOMPRESS functions convert values into and out of the GZIP algorithm
• NEW: DATEDIFF_BIG and AT TIME ZONE functions and the sys.time_zone_info
• Eight new properties are added to SERVERPROPERTY
• The input length limit of 8,000 bytes for the HASHBYTES function is removed
Microsoft SQL Server 2016 PolyBase
PolyBase
PolyBase is a technology that accesses and
combines both non-relational and relational data,
all from within SQL Server.
SELECT * FROM [dbo].[SensorData]
WHERE Speed > 65
OPTION (FORCE EXTERNALPUSHDOWN);
Microsoft SQL Server 2016 Other Features
• Striped Backups to Microsoft Azure Blob Storage
• File-Snapshot Backups to Microsoft Azure Blob Storage
• Managed Backup
• Replication is now supported to Azure SQL Database
• Stretch Database
• Migrates your historical data transparently and securely to the Microsoft azure cloud
• Trace flag 4199 behaviors are enabled
• do not need to use trace flag 4199 in SQL Server 2016 since most of the query optimizer behaviors
• TempDB Database
• Foreign Key Relationship Limits
• The limit for the number of other table and columns that can reference columns in a single table, from 253 to 10,000.
• Support for UTF-8
• bcp Utility, BULK INSERT, and OPENROWSET now support the UTF-8 code page.
• More CPU Friendly Transparent Data Encryption
• AES Encryption for Endpoints
• Database scoped credential
• Replication of memory-optimized tables
Microsoft SQL Server 2016 HA 
High Availability:
• SQL Server 2016 Standard Edition now supports Always On Basic Availability Groups
• Load-balancing of read-intent connection requests is now supported across a set of read-only replicas
• The number of replicas that support automatic failover has been increased from two to three
• Group Managed Service Accounts are now supported for Always On Failover Clusters
• Always On Availability Groups supports distributed transactions and the DTC on Windows Server 2016
• You can now configure Always On Availability Groups to failover when a database goes offline
• Always On now supports encrypted databases
• Two availability groups in two separate Windows Server Failover Clusters (WSFC) can now be combined
into a Distributed Availability Group
• Direct seeding allows a secondary replica to be automatically seeded over the network
Microsoft SQL Server 2016 R, The Data Scientists Tool in SQL Server
R
You can continue to work with your favorite R or SQL tools, but scale analysis to billions of records without additional
hardware, boost performance, and avoid unnecessary data movements
Microsoft SQL Server 2016
What's New in Reporting Services?
SSRS new features
• Reporting Services web portal
• Custom branding for the web portal
• Key performance indicators (KPI) in the web portal
• Mobile Reports
• Mobile Report Publisher
• PDF Replaces ActiveX for Remote Printing
• PowerPoint Rendering and Export
• Pin Report Items to a Power BI Dashboard
• HTML 5 Rendering Engine
Microsoft SQL Server 2016
Thank You 
Q&A

More Related Content

PPTX
Everything you need to know about SQL Server 2016
PPTX
SQL Server 2016 New Features and Enhancements
PDF
SQL Server 2016 BI updates
PDF
SQL Server 2016 Editions
PPTX
Sql 2016 - What's New
PPTX
SQL Server 2016: Just a Few of Our DBA's Favorite Things
PDF
SQL Server 2016 Everything built-in FULL deck
PDF
Sql server 2016 new features
Everything you need to know about SQL Server 2016
SQL Server 2016 New Features and Enhancements
SQL Server 2016 BI updates
SQL Server 2016 Editions
Sql 2016 - What's New
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016 Everything built-in FULL deck
Sql server 2016 new features

What's hot (20)

PDF
Exploring sql server 2016
PPTX
What's new in SQL Server 2016
PPTX
Sql server 2019 New Features by Yevhen Nedaskivskyi
PPTX
What's new in SQL Server 2017
PPTX
SQL Server 2019 Master Data Service
PDF
Modernizing your database with SQL Server 2019
PDF
Exploring sql server 2016 bi
PPTX
Real Time Operational Analytics with Microsoft Sql Server 2016 [Liviu Ieran]
PDF
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
PDF
Live Query Statistics & Query Store in SQL Server 2016
PPTX
SQL Server 2016 new features
PPTX
SQL Server 2014 New Features
PDF
A to z for sql azure databases
PPTX
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
PDF
Machine Learning in SQL Server 2019
PPTX
SQL Server End Of Support
PDF
Introduction to sql database on azure
PDF
Stretch db sql server 2016 (sn0028)
PDF
Using extended events for troubleshooting sql server
PDF
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Exploring sql server 2016
What's new in SQL Server 2016
Sql server 2019 New Features by Yevhen Nedaskivskyi
What's new in SQL Server 2017
SQL Server 2019 Master Data Service
Modernizing your database with SQL Server 2019
Exploring sql server 2016 bi
Real Time Operational Analytics with Microsoft Sql Server 2016 [Liviu Ieran]
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Live Query Statistics & Query Store in SQL Server 2016
SQL Server 2016 new features
SQL Server 2014 New Features
A to z for sql azure databases
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
Machine Learning in SQL Server 2019
SQL Server End Of Support
Introduction to sql database on azure
Stretch db sql server 2016 (sn0028)
Using extended events for troubleshooting sql server
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Ad

Viewers also liked (20)

PDF
SQL Server 2016 SSRS and BI
PPSX
New features of sql server 2016 bi features
PDF
What's New in SQL Server 2016 for BI
PDF
Ssis 2016 RC3
PPTX
What's new in SQL Server 2016
PDF
Microsoft SQL Server 2016 - Everything Built In
PDF
SQL Server 2008 R2 System Views Map
PPTX
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
PPTX
SUSE Webinar - Introduction to SQL Server on Linux
PPTX
SQL Server 2016 Reporting Services
PPTX
Microsoft cloud big data strategy
PPT
Ms sql server architecture
PDF
Database Health-Check Consulting Service
PPTX
New Features of SQL Server 2016
PPTX
DAC4B 2015 - Polybase
PPTX
Spring ’15 Release Preview - Platform Feature Highlights
PPTX
SQL Server 2016 What's New For Developers
PDF
Clustered Columnstore - Deep Dive
PPTX
Power BI with SharePoint Online & Office 365
PDF
Sql server 2014 x velocity – updateable columnstore indexes
SQL Server 2016 SSRS and BI
New features of sql server 2016 bi features
What's New in SQL Server 2016 for BI
Ssis 2016 RC3
What's new in SQL Server 2016
Microsoft SQL Server 2016 - Everything Built In
SQL Server 2008 R2 System Views Map
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
SUSE Webinar - Introduction to SQL Server on Linux
SQL Server 2016 Reporting Services
Microsoft cloud big data strategy
Ms sql server architecture
Database Health-Check Consulting Service
New Features of SQL Server 2016
DAC4B 2015 - Polybase
Spring ’15 Release Preview - Platform Feature Highlights
SQL Server 2016 What's New For Developers
Clustered Columnstore - Deep Dive
Power BI with SharePoint Online & Office 365
Sql server 2014 x velocity – updateable columnstore indexes
Ad

Similar to SQL server 2016 New Features (20)

PDF
SQL Server 2016 novelties
PDF
Sql server 2016 new features
PPTX
Novidades do SQL Server 2016
PPTX
SQL Server 2014 Extreme Transaction Processing (Hekaton) - Basics
PDF
Columnstore improvements in SQL Server 2016
PPTX
Expert summit SQL Server 2016
PPTX
Novedades SQL Server 2014
PDF
SQL Server Internals In Memory OLTP Inside the SQL Server 2016 Hekaton Engine...
PPTX
SQL Server 2016 Temporal Tables
POTX
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
PDF
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
PPTX
SQL Explore 2012: P&T Part 2
PPT
Performance dreams of sql server 2014
PPTX
What I Learned About SQL Server at Ignite 2015
PDF
SQL Server 2019 ctp2.2
PDF
Modernization sql server 2016
PPTX
SQL Server Columnstore
PDF
SQL Server database engine 2017 enhancements
PPTX
An introduction to SQL Server in-memory OLTP Engine
PPTX
SQL Server 2014 – Features Drilldown.pptx
SQL Server 2016 novelties
Sql server 2016 new features
Novidades do SQL Server 2016
SQL Server 2014 Extreme Transaction Processing (Hekaton) - Basics
Columnstore improvements in SQL Server 2016
Expert summit SQL Server 2016
Novedades SQL Server 2014
SQL Server Internals In Memory OLTP Inside the SQL Server 2016 Hekaton Engine...
SQL Server 2016 Temporal Tables
Business Insight 2014 - Microsofts nye BI og database platform - Erling Skaal...
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Explore 2012: P&T Part 2
Performance dreams of sql server 2014
What I Learned About SQL Server at Ignite 2015
SQL Server 2019 ctp2.2
Modernization sql server 2016
SQL Server Columnstore
SQL Server database engine 2017 enhancements
An introduction to SQL Server in-memory OLTP Engine
SQL Server 2014 – Features Drilldown.pptx

More from Amin Mesbahi (20)

PPTX
Software Performance Benchmarking using BenchmarkDotNet Webinar
PPTX
How to choose appropriate technology for product development - Persian Version
PPTX
How to choose appropriate technology for product development
PPTX
Python + Machine Learning Course, Session 2
PPTX
Python + Machine Learning Course, Session 1
PDF
.NET Core, ASP.NET Core Course, Session 19
PDF
.NET Core, ASP.NET Core Course, Session 18
PDF
.NET Core, ASP.NET Core Course, Session 17
PDF
.NET Core, ASP.NET Core Course, Session 16
PDF
.NET Core, ASP.NET Core Course, Session 15
PDF
.NET Core, ASP.NET Core Course, Session 14
PDF
.NET Core, ASP.NET Core Course, Session 13
PDF
.NET Core, ASP.NET Core Course, Session 12
PDF
.NET Core, ASP.NET Core Course, Session 11
PDF
.NET Core, ASP.NET Core Course, Session 10
PDF
.NET Core, ASP.NET Core Course, Session 9
PDF
.NET Core, ASP.NET Core Course, Session 8
PDF
.NET Core, ASP.NET Core Course, Session 7
PDF
.NET Core, ASP.NET Core Course, Session 6
PDF
.NET Core, ASP.NET Core Course, Session 5
Software Performance Benchmarking using BenchmarkDotNet Webinar
How to choose appropriate technology for product development - Persian Version
How to choose appropriate technology for product development
Python + Machine Learning Course, Session 2
Python + Machine Learning Course, Session 1
.NET Core, ASP.NET Core Course, Session 19
.NET Core, ASP.NET Core Course, Session 18
.NET Core, ASP.NET Core Course, Session 17
.NET Core, ASP.NET Core Course, Session 16
.NET Core, ASP.NET Core Course, Session 15
.NET Core, ASP.NET Core Course, Session 14
.NET Core, ASP.NET Core Course, Session 13
.NET Core, ASP.NET Core Course, Session 12
.NET Core, ASP.NET Core Course, Session 11
.NET Core, ASP.NET Core Course, Session 10
.NET Core, ASP.NET Core Course, Session 9
.NET Core, ASP.NET Core Course, Session 8
.NET Core, ASP.NET Core Course, Session 7
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 5

Recently uploaded (20)

PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
Cost to Outsource Software Development in 2025
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
chapter 5 systemdesign2008.pptx for cimputer science students
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
assetexplorer- product-overview - presentation
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
iTop VPN Crack Latest Version Full Key 2025
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PPTX
Custom Software Development Services.pptx.pptx
PDF
STL Containers in C++ : Sequence Container : Vector
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Introduction to Windows Operating System
DNT Brochure 2025 – ISV Solutions @ D365
Cost to Outsource Software Development in 2025
wealthsignaloriginal-com-DS-text-... (1).pdf
Digital Systems & Binary Numbers (comprehensive )
chapter 5 systemdesign2008.pptx for cimputer science students
Patient Appointment Booking in Odoo with online payment
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
assetexplorer- product-overview - presentation
Oracle Fusion HCM Cloud Demo for Beginners
iTop VPN Crack Latest Version Full Key 2025
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Custom Software Development Services.pptx.pptx
STL Containers in C++ : Sequence Container : Vector
Monitoring Stack: Grafana, Loki & Promtail
Salesforce Agentforce AI Implementation.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Introduction to Windows Operating System

SQL server 2016 New Features

  • 1. 2016 Compatibility level 130 Launch Event, Tehran-IRAN, June 01, 2016
  • 2. Microsoft SQL Server 2016 About me @mesbahi Amin Mesbahi Senior Database Architect, Consultant and Instructor • Banking and Financial databases • National Projects with nation-wide distribution • High Concurrency Solutions • Mission-Critical Servers Email: amin@Mesbahi.net Website: Mesbahi.net LinkedIn: ir.linkedin.com/in/aminmesbahi
  • 3. Microsoft SQL Server 2016 Agenda What we’ll cover? • Introduction • SQL Server History • Today’s SQL Server Position • Installation for SQL Server 2016 • What's New in Database Engine • An Overview on: • What's New in Reporting Services • What's New in SQL Server R Services
  • 4. Microsoft SQL Server 2016 Introduction: An overview on SQL Server 2016 • No more 32-bit Edition • SQL Server Management Tools Installation is separated from server Installation • Developer Edition is now FREE  • Upgrade from at least SQL Server 2008 SP3 ?
  • 5. Microsoft SQL Server 2016 An overview on SQL Server 2016 • PROS Holdings uses SQL Server 2016’s superior performance and built-in R Service to deliver advanced analytics more than 100x faster than before • Load a complex schema derived from TPC-H at 1.6TB/hour, and it took just 5.3 seconds to run a complex query (the minimum cost supplier query) on the entire 100TB database. • For six years running, SQL Server has had the least vulnerabilities of any of the major database platforms, based on NIST Report.
  • 6. Microsoft SQL Server 2016 SQL Server Position among Competitors SQL Server Position in the market
  • 7. Microsoft SQL Server 2016 What's New in Database Engine? Database Engine new features • Database Engine Feature Enhancements • T-SQL Enhancements • System View Enhancements • Security Enhancements • High Availability Enhancements • Replication Enhancements • Tools Enhancements
  • 8. Microsoft SQL Server 2016 What’s Columnstore Indexes and it’s enhancements in SQL Server 2016? Columnstore Indexes Columnar storage Batch Mode Processing Memory Optimized Compression Rowgroups and Segment Elimination
  • 9. Microsoft SQL Server 2016 Columnstore Indexes Columnstore Index Feature SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Database V12 Premium Edition SQL Data Warehouse Batch execution for multi- threaded queries yes yes yes yes yes Batch execution for single- threaded queries yes yes yes Archival compression option. yes yes yes yes Snapshot isolation and read-committed snapshot isolation yes yes yes Specify columnstore index when creating a table. yes yes yes What happened from 2012 to 2016?
  • 10. Microsoft SQL Server 2016 Columnstore Indexes What happened from 2012 to 2016? Columnstore Index Feature SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Database V12 Premium Edition SQL Data Warehouse AlwaysOn supports columnstore indexes. yes yes yes yes yes AlwaysOn readable secondary supports read-only nonclustered columnstore index yes yes yes yes yes AlwaysOn readable secondary supports updateable columnstore indexes. yes Read-only nonclustered columnstore index on heap or btree. yes yes yes* yes* yes* Updateable nonclustered columnstore index on heap or btree yes yes yes Additional btree indexes allowed on a heap or btree that has a nonclustered columnstore index. yes yes yes yes yes
  • 11. Microsoft SQL Server 2016 Columnstore Indexes What happened from 2012 to 2016? Columnstore Index Feature SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Database V12 Premium Edition SQL Data Warehouse Updateable clustered columnstore index. yes yes yes yes Btree index on a clustered columnstore index. yes yes yes Columnstore index on a memory- optimized table. yes yes yes Nonclustered columnstore index definition supports using a filtered condition. yes yes yes Compression delay option for columnstore indexes in CREATE TABLE and ALTER TABLE. yes yes yes
  • 12. Microsoft SQL Server 2016 Columnstore Indexes These are new in 2016  Updatable nonclustered columnstore index: A read-only nonclustered columnstore index is updateable after upgrade. A rebuild of the index is not required to make it updateable. There are performance improvements for analytics queries on columnstore indexes, especially for aggregates and string predicates. An in-memory table can have one columnstore index. A clustered columnstore index can have one or more nonclustered rowstore indexes. Support for primary keys and foreign keys by using a btree index to enforce these constraints on a clustered columnstore index. Columnstore indexes have a compression delay option that minimizes the impact the transactional workload can have on real-time operational analytics. ?
  • 13. Microsoft SQL Server 2016 In-Memory OLTP Introduction to InMemory OLTP  Where we are spending more execution time?  Here are the results from Microsoft analysis. I/O, Thread Management Storage Engine Relational Engine Communication Stack 10% 80% 10% Access Methods, Transaction, Lock, Log, Managers T-SQL Interpreter, Query Execution, Expressions
  • 14. Microsoft SQL Server 2016 In-Memory OLTP 0 200 400 600 800 1000 1200 1400 1600 1800 2000 2000 2000 2001 2001 2001 2002 2002 2003 2003 2004 2005 2006 2006 2007 2007 2008 2008 2009 2009 2010 2010 2010 2011 2012 2012 2013 2013 2014 2014 $/1000 Mb $/1000 Mb SQL 2005 SQL 2008 R2 SQL 2008 SQL 2012 SQL 2014 SQL 2000
  • 15. Microsoft SQL Server 2016 In-Memory OLTP  Hekaton Project - Greek word ἑκατόν (Houndred).  The objective is to improve 100x the performance.  Traditional strategy relies in structures focused on data stored in disk.  By fully using memory capabilities we can have simpler structures.  Available from SQL Server 2014.  Highly improved on SQL Server 2016.
  • 16. Microsoft SQL Server 2016 In-Memory OLTP Architecture Client Application Tabular Data Stream (TDS) Handler / Session Management T-SQL Execution Buffer Pool for Tables and Indexes Parser, Catalog and Optimizer InMemory Native Compiler Storage Engine for Memory Optimized Tables and Indexes Native Compiled Stored Procedures and Schema Sqlserv.exe Memory Optimized Table Filegroup Transaction Log Data Filegroup Generated DLL InMemory Component Existing SQL Component Checkpoint Files / Recovery Query interoperability
  • 17. Microsoft SQL Server 2016 In-Memory OLTP Why Hekaton is faster?  Compiled objects.  All the steps to interpret code are avoided.
  • 18. Microsoft SQL Server 2016 In-Memory OLTP Improvements:  Supports 2TB of durable tables (2014 -> 256GB)  LOBs with large row size for a memory-optimized table  Transact-SQL Improvements for memory-optimized tables  UNIQUE indexes, FOREIGN KEY references, CHECK constraints, TRIGGERs  A non-unique index can allow NULL values in its key  Increased support for Altering Memory-Optimized Tables  Natively compiled scalar UDFs, {LEFT|RIGHT} OUTER JOIN, Disjunction (OR, NOT)  OUTPUT clause in natively compiled stored procedures  Reduced downtime during upgrade  support for TDE
  • 19. Microsoft SQL Server 2016 Query Store, find performance differences caused by changes in query plans Query Store:
  • 20. Microsoft SQL Server 2016 Query Store Query Store: • support for natively compiled code from In-Memory OLTP workloads • automatically captures a history of queries, plans, and runtime statistics, and retains these for your review. ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;
  • 21. Microsoft SQL Server 2016 Query Store Query Store:
  • 22. Microsoft SQL Server 2016 Live Query Statistics Live Query Statistics:
  • 23. Microsoft SQL Server 2016 Live Query Statistics
  • 24. Microsoft SQL Server 2016 Temporal Tables: correct information about stored facts at any point in time Temporal Tables: • temporal table consists of two tables actually, one for the current data and one for the historical data. • It’s new type of user table in SQL Server 2016 • Auditing all data changes • reconstructing state of the data as of any time in the past • Calculating trends over time • Maintaining a slowly changing dimension for decision support applications • Recovering from accidental data changes and application errors
  • 25. Microsoft SQL Server 2016 Temporal Tables How does temporal work? CREATE TABLE dbo.Employee ( [EmployeeID] int NOT NULL PRIMARY KEY CLUSTERED , [Name] nvarchar(100) NOT NULL , [Position] varchar(100) NOT NULL , [Department] varchar(100) NOT NULL , [Address] nvarchar(1024) NOT NULL , [AnnualSalary] decimal (10,2) NOT NULL , [ValidFrom] datetime2 (2) GENERATED ALWAYS AS ROW START , [ValidTo] datetime2 (2) GENERATED ALWAYS AS ROW END , PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo) ) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.EmployeeHistory));
  • 26. Microsoft SQL Server 2016 Temporal Tables How do I query temporal data? SELECT * FROM Employee FOR SYSTEM_TIME BETWEEN '2014-01-01 00:00:00.0000000' AND '2015-01-01 00:00:00.0000000' WHERE EmployeeID = 1000 ORDER BY ValidFrom;
  • 27. Microsoft SQL Server 2016 RLS, Security on your records, not only columns Row Level Security: Row-Level Security (RLS) restricts which users can view what data in a table, based on a function.
  • 28. Microsoft SQL Server 2016 Row Level Security Row Level Security:
  • 29. Microsoft SQL Server 2016 Always Encrypted, Better Security Always Encrypted: • Data encrypted in flight and at rest • Better than TDE, encrypted for all users, even admins. • Deterministic or Randomized Encryption • .Net Framework version 4.6 or higher all the encryption key resides with the application inside the customer’s trusted environment and not on the server.
  • 30. Microsoft SQL Server 2016 In-Memory OLTP Dynamic Data Masking:
  • 31. Microsoft SQL Server 2016 JSON (JavaScript Object Notation) {JSON} 4 Native functions: • ISJSON -Tests whether a string contains valid JSON. • JSON_VALUE –Extracts the value from JSON. • JSON_QUERY –Extracts subquery from JSON. • OPEN_JSON -Table value function that parses JSON text and returns rowsetview of JSON. Select IsJSON('{"name":“Amin",“family":“Mesbahi","age":X}') Select * from OpenJSON('{"name":“Jack",“family":“JackZadeh","age":38}‘)
  • 32. Microsoft SQL Server 2016 Stretch Database with Microsoft Azure Stretch Database:
  • 33. Microsoft SQL Server 2016 In-Memory OLTP Real-time Operational Analytics: in-memory column store + in-memory OLTP = Real-time Operational Analytics
  • 34. Microsoft SQL Server 2016 Better T-SQL Transact-SQL Enhancements: • The maximum index key size for NONCLUSTERED indexes has been increased to 1700 bytes • TRUNCATE TABLE statement now permits the truncation of specified partitions • ALTER TABLE now allows many alter column actions to be performed while the table remains available • The full-text index DMV sys.dm_fts_index_keywords_position_by_document returns the location of keywords in documents • A new query hint NO_PERFORMANCE_SPOOL can prevent a spool operator from being added to query plans • New DROP IF syntax is added for drop statements • SESSION_CONTEXT can now be set EXEC sp_set_session_context 'user_id', 4; SELECT SESSION_CONTEXT(N'user_id'); • NEW: STRING_SPLIT and STRING_ESCAPE • The COMPRESS and DECOMPRESS functions convert values into and out of the GZIP algorithm • NEW: DATEDIFF_BIG and AT TIME ZONE functions and the sys.time_zone_info • Eight new properties are added to SERVERPROPERTY • The input length limit of 8,000 bytes for the HASHBYTES function is removed
  • 35. Microsoft SQL Server 2016 PolyBase PolyBase PolyBase is a technology that accesses and combines both non-relational and relational data, all from within SQL Server. SELECT * FROM [dbo].[SensorData] WHERE Speed > 65 OPTION (FORCE EXTERNALPUSHDOWN);
  • 36. Microsoft SQL Server 2016 Other Features • Striped Backups to Microsoft Azure Blob Storage • File-Snapshot Backups to Microsoft Azure Blob Storage • Managed Backup • Replication is now supported to Azure SQL Database • Stretch Database • Migrates your historical data transparently and securely to the Microsoft azure cloud • Trace flag 4199 behaviors are enabled • do not need to use trace flag 4199 in SQL Server 2016 since most of the query optimizer behaviors • TempDB Database • Foreign Key Relationship Limits • The limit for the number of other table and columns that can reference columns in a single table, from 253 to 10,000. • Support for UTF-8 • bcp Utility, BULK INSERT, and OPENROWSET now support the UTF-8 code page. • More CPU Friendly Transparent Data Encryption • AES Encryption for Endpoints • Database scoped credential • Replication of memory-optimized tables
  • 37. Microsoft SQL Server 2016 HA  High Availability: • SQL Server 2016 Standard Edition now supports Always On Basic Availability Groups • Load-balancing of read-intent connection requests is now supported across a set of read-only replicas • The number of replicas that support automatic failover has been increased from two to three • Group Managed Service Accounts are now supported for Always On Failover Clusters • Always On Availability Groups supports distributed transactions and the DTC on Windows Server 2016 • You can now configure Always On Availability Groups to failover when a database goes offline • Always On now supports encrypted databases • Two availability groups in two separate Windows Server Failover Clusters (WSFC) can now be combined into a Distributed Availability Group • Direct seeding allows a secondary replica to be automatically seeded over the network
  • 38. Microsoft SQL Server 2016 R, The Data Scientists Tool in SQL Server R You can continue to work with your favorite R or SQL tools, but scale analysis to billions of records without additional hardware, boost performance, and avoid unnecessary data movements
  • 39. Microsoft SQL Server 2016 What's New in Reporting Services? SSRS new features • Reporting Services web portal • Custom branding for the web portal • Key performance indicators (KPI) in the web portal • Mobile Reports • Mobile Report Publisher • PDF Replaces ActiveX for Remote Printing • PowerPoint Rendering and Export • Pin Report Items to a Power BI Dashboard • HTML 5 Rendering Engine
  • 40. Microsoft SQL Server 2016 Thank You  Q&A