SQL Server 2016 New Features and Enhancements

Preview:

Citation preview

SQL SERVER 2016

New Features and Enhancements

Tuning blog: http://www.sqlperformance.com/

E-mail ebooks@sqlsentry.com for free copies of our $10 e-books:

YOUR PRESENTER• John Q Martin

o Sales Engineer for SQL Sentryo Worked with SQL Server for ~10 yearso Consultant, SQL DBA, Dev & BI Developero Former Microsoft Premier Field Engineer

• Contact Informationo Email: Jmartin@SQLSentry.como Blog: http://blogs.sqlsentry.com/author/JohnMartin/ o Twitter: @SQLServerMonkeyo LinkedIn: https://uk.linkedin.com/in/johnqmartin

DEMO CODEAll demo code for this deck can be found using the link below;

http://1drv.ms/1PC5smY

AGENDA

New Features in SQL Server 2016

Columnstore Enhancements

In-Memory OLTP Enhancements

AlwaysOn Availability Group Enhancements

Load Balanced Readable Replicas

Row Level Security

Dynamic Data MaskingOperational Analytics

Always Encrypted

TDE Performance

Temporal TablesQuery Data Store

Live Query StatsBackup to Azure

Managed Backup

Multiple TempDb files on InstallFOR JSONStretch Database

PowerPoint Export in SSRS

TRUNCATE TABLE Partitions

Multiple Availability Group Failover Partners

SSRS – HTML5 Rendering Engine

SSRS – New Chart Types

SSRS – High DPI Support

SSIS – Support for AlwaysOn Availability Groups

SSIS – Incremental Package Deployment

SSIS – Odata v4 Sources

SSRS – CSS Support

SSAS – XE UI in SSMSSSRS – New DAX Functions

SSAS – Processing Improvements

MDS Now Works!

ALWAYSON AVAILABILITY GROUPS

• AlwaysOn Availability Groups will now support DTC Transactions & cross database queries.o One of the biggest blockers to adoptiono Requires the use of Windows Server 2016

• Improved health detection for triggering failover eventso Will now trigger when a database is offline rather than relying on Instance level

issues

• Increased High Availability configurationo Now support for two automatic failover partners as opposed to one

ALWAYSON AVAILABILITY GROUPS

• Now possible to use Round Robin load balancing on Active Secondaries for read-only querieso Expanded capability when connecting via the Availability Group Listenero Still requires that Read-Only Routing is configured

• Support for Group Managed Service Accountso These Active Directory accounts can greatly simplify the management of service

accounts for SQL Server.

ALWAYS ENCRYPTED

• New data encryption capability built into the engineo Encryption is defined at the column levelo Cipher-text is stored, DBA can manage but not see the plain text datao Certificate and encryption is handled by the connection driver in the application

• Two forms of encryptiono Deterministico Non-Deterministic (Randomized)

ALWAYS ENCRYPTED

ALWAYS ENCRYPTED

• Requires the SQL Native Client 12o .NET 4.6

• Windows Certificate Store is only one supported out of the boxo You can develop your own Key Store provider to interact with HSM modules etc.

• Data is protected in-transit and at-rest for the specified columns

• DBA Can manage the system but not see the datao Great for compliance or high security environments

DEMOSecuring sensitive data with SQL Server 2016 Always Encrypted

IN-MEMORY OLTP

• You are now able to run ALTER commands on memory optimized objectso Tables and procedures no longer need to be dropped and re-created

• Full join syntax support & other T-SQL surface area enhancementso Earlier version did not allow outer joinso UNION, NOT, OR and IN

• Nested Statements are now supportedo Nesting natively compiled procedures

IN-MEMORY OLTP

• Columnstore Indexes are now supported on In-Memory tableso Functionality that underpins the Operational Analytics feature set.

• Better scalabilityo Multi-threaded persistence processo Multi-threaded recovery process

• Increase in size of data for In-Memory objectso 2TB per-database (MS Recommendation)

DEMOMaking In-Memory OLTP Usable

OPERATIONAL ANALYTICS

• Perform high performance reporting on OLTP structures

• Can combine In-Memory or disk-based tables with Columnstore.

• You control which data resides in which structure.

OPERATIONAL ANALYTICS• It is possible to use two filtered

indexes to reduce data structure size

• Leverages non-clustered Columnstore indexes.o Apply a filter to identify cold/warm data

• Can be created in addition to a normal B-Tree index structure

OPERATIONAL ANALYTICS

• Important to understand your query workloado If the Queries and the Indexes don’t work well together then optimal performance

will be difficult to achieve.

• Combine with other existing technologieso Table Partitioningo Columnstore Archive Compression

• When using In-Memory tables it is not possible to use the filtered Columnstore Indexes.

DEMOMixing OLTP and Analytic Workloads with Operational Analytics.

POLYBASE

• Technology that is part of the APS (formerly PDW) appliance.

• Used to integrate external data sources to SQL Servero HDInsight/Hadoopo Azure Blob Storage

• Allows querying of the external data sources via T-SQLo Create “External Tables” in the database to access the data store.

POLYBASE

• Installed as an additional feature option from the Installero Required Java Runtime Environment 7.51 or highero One installer per-OSE

• As data is stored externally to SQL Server network will impact performanceo Getting data from on-premises Hadoop will be quicker than going to the cloud

• Allows for some potentially interesting data architectureso SQL Server database for hot/warm data with Hadoop holding deep archive data

SQL Server

All Data

POLYBASE

SQL Server

All Data

POLYBASE

T-SQL Query

POLYBASE

Hadoop[On-Premises/Cloud]

Historical Data(> 5 Years Old)

SQL Server

Current Data(< 5 Years Old)

Azure Blob Storage

POLYBASE

Hadoop[On-Premises/Cloud]

Historical Data(> 5 Years Old)

SQL Server

Current Data(< 5 Years Old)

Azure Blob Storage

T-SQL Query

POLYBASE

Hadoop[On-Premises/Cloud]

Historical Data(> 5 Years Old)

SQL Server

Current Data(< 5 Years Old)

Azure Blob Storage

T-SQL Query

Hadoop Query

Blob Query

POLYBASE

Hadoop[On-Premises/Cloud]

Historical Data(> 5 Years Old)

SQL Server

Current Data(< 5 Years Old)

Azure Blob Storage

T-SQL Query

Hadoop Query

Blob Query

Hadoop Data

Blob Data

SECURITY ENHANCEMENTS

• Row Level Securityo Restrict access to data at the row levelo Security logic sits in the data tier and is implemented by the SQL Server

• You define the logico User defined In-Line Table Value Function

• By placing this logic in the data tier, it is possible to improve securityo If the data does not leave the database then exposure is reduced

SECURITY ENHANCEMENTS

• Dynamic Data Maskingo Used to mask data that is returned to the callero Targeted at situations where there is no direct query access to data tiero Useful in compliance situations

• Feature is enabled by defaulto Can be disabled with the use of trace flags 209 & 219o Still needs to be configured by the administrator

• Number of ‘default’ masks built ino You can define your own mask patterns

SECURITY ENHANCEMENTS

• Important to understand that sysadmin can still see the data

• If there is direct T-SQL Access it can be circumventedo Select into Temporary tables and then select will expose the data

SECURITY ENHANCEMENTS

• Transparent Data Encryptiono Now supports the use of AES-NI Hardware Acceleration

• AES-NIo Instruction set in the CPU that results in more efficient processing than if it was

done in software.o Help to mitigate side-channel attacks

DEMOSecurity Enhancements for SQL Server 2016

STRETCH DATABASE

• Archive data to Microsoft Azure SQL Databaseo Query the remote and local data transparently

• Data is moved from SQL Server to Azureo Data Ingres to Azure is free, Egress however costs, understand your queries.

• Archive data is limited by the size of the Azure SQL Databaseo Currently this stands at 1TB when using the highest service tier (P11)

STRETCH DATABASE

SQL ServerLinked Server

On Premises

Remote Data

Local Data

Azure SQLDB

Eligible Data

Local Data

STRETCH DATABASE

SQL ServerLinked Server

Client Application

Eligible Data

Local Data

Remote Data

Azure SQLDB

On Premises

TEMPORAL TABLES

• Tracking the state of data as it changes over time with a validity period

• Managed by the SQL Server systemo System managedo Migrate existing table to system management

• Two tableso Current tableo History table

DEMOKeeping track of changing data with Temporal Tables.

T-SQL ENHANCEMENTS

• Alter Tableo Now allows for multiple ALTER COLUMN

operations

• FOR JSON functiono There is now the ability to return data

formatted as JSONo Similar to the FOR XML operator

• Truncate Tableo Enhanced to allow truncation of partitions

• New Query Hinto NO_PERFORMANCE_SPOOL

QUESTIONS

THANK YOU!

• Slides will be available at http://blogs.sqlsentry.com/author/johnmartin

• E-mail ebooks@sqlsentry.com for free copies of our e-books:o Just tell them where you met me

• My contact info for other questions:o Email: Jmartin@SQLSentry.como Twitter: @SQLServerMonkey

Recommended