SlideShare a Scribd company logo
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 Sentry
o Worked with SQL Server for ~10 years
o Consultant, SQL DBA, Dev & BI Developer
o Former Microsoft Premier Field Engineer
• Contact Information
o Email: Jmartin@SQLSentry.com
o Blog: http://blogs.sqlsentry.com/author/JohnMartin/
o Twitter: @SQLServerMonkey
o LinkedIn: https://uk.linkedin.com/in/johnqmartin
DEMO CODE
All 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 Masking
Operational Analytics
Always Encrypted
TDE Performance
Temporal TablesQuery Data Store
Live Query Stats
Backup to Azure
Managed Backup
Multiple TempDb files on Install
FOR JSON
Stretch 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 SSMS
SSRS – 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 adoption
o Requires the use of Windows Server 2016
• Improved health detection for triggering failover events
o Will now trigger when a database is offline rather than relying on Instance level issues
• Increased High Availability configuration
o 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 queries
o Expanded capability when connecting via the Availability Group Listener
o Still requires that Read-Only Routing is configured
• Support for Group Managed Service Accounts
o These Active Directory accounts can greatly simplify the management of service accounts for
SQL Server.
ALWAYS ENCRYPTED
• New data encryption capability built into the engine
o Encryption is defined at the column level
o Cipher-text is stored, DBA can manage but not see the plain text data
o Certificate and encryption is handled by the connection driver in the application
• Two forms of encryption
o Deterministic
o Non-Deterministic (Randomized)
ALWAYS ENCRYPTED
ALWAYS ENCRYPTED
• Requires the SQL Native Client 12
o .NET 4.6
• Windows Certificate Store is only one supported out of the box
o 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 data
o Great for compliance or high security environments
DEMO
Securing sensitive data with SQL Server 2016 Always Encrypted
IN-MEMORY OLTP
• You are now able to run ALTER commands on memory optimized objects
o Tables and procedures no longer need to be dropped and re-created
• Full join syntax support & other T-SQL surface area enhancements
o Earlier version did not allow outer joins
o UNION, NOT, OR and IN
• Nested Statements are now supported
o Nesting natively compiled procedures
IN-MEMORY OLTP
• Columnstore Indexes are now supported on In-Memory tables
o Functionality that underpins the Operational Analytics feature set.
• Better scalability
o Multi-threaded persistence process
o Multi-threaded recovery process
• Increase in size of data for In-Memory objects
o 2TB per-database (MS Recommendation)
DEMO
Making 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 workload
o If the Queries and the Indexes don’t work well together then optimal performance will be
difficult to achieve.
• Combine with other existing technologies
o Table Partitioning
o Columnstore Archive Compression
• When using In-Memory tables it is not possible to use the filtered
Columnstore Indexes.
DEMO
Mixing 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 Server
o HDInsight/Hadoop
o Azure Blob Storage
• Allows querying of the external data sources via T-SQL
o Create “External Tables” in the database to access the data store.
POLYBASE
• Installed as an additional feature option from the Installer
o Required Java Runtime Environment 7.51 or higher
o One installer per-OSE
• As data is stored externally to SQL Server network will impact performance
o Getting data from on-premises Hadoop will be quicker than going to the cloud
• Allows for some potentially interesting data architectures
o 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 Security
o Restrict access to data at the row level
o Security logic sits in the data tier and is implemented by the SQL Server
• You define the logic
o User defined In-Line Table Value Function
• By placing this logic in the data tier, it is possible to improve security
o If the data does not leave the database then exposure is reduced
SECURITY ENHANCEMENTS
• Dynamic Data Masking
o Used to mask data that is returned to the caller
o Targeted at situations where there is no direct query access to data tier
o Useful in compliance situations
• Feature is enabled by default
o Can be disabled with the use of trace flags 209 & 219
o Still needs to be configured by the administrator
• Number of ‘default’ masks built in
o 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 circumvented
o Select into Temporary tables and then select will expose the data
SECURITY ENHANCEMENTS
• Transparent Data Encryption
o Now supports the use of AES-NI Hardware Acceleration
• AES-NI
o 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
DEMO
Security Enhancements for SQL Server 2016
STRETCH DATABASE
• Archive data to Microsoft Azure SQL Database
o Query the remote and local data transparently
• Data is moved from SQL Server to Azure
o Data Ingres to Azure is free, Egress however costs, understand your queries.
• Archive data is limited by the size of the Azure SQL Database
o Currently this stands at 1TB when using the highest service tier (P11)
STRETCH DATABASE
SQL Server
Linked Server
On Premises
Remote
Data
Local Data
Azure SQLDB
Eligible Data
Local Data
STRETCH DATABASE
SQL Server
Linked 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 system
o System managed
o Migrate existing table to system management
• Two tables
o Current table
o History table
DEMO
Keeping track of changing data with Temporal Tables.
T-SQL ENHANCEMENTS
• Alter Table
o Now allows for multiple ALTER COLUMN
operations
• FOR JSON function
o There is now the ability to return data formatted
as JSON
o Similar to the FOR XML operator
• Truncate Table
o Enhanced to allow truncation of partitions
• New Query Hint
o 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.com
o Twitter: @SQLServerMonkey

More Related Content

SQL Server 2016 New Features and Enhancements

  • 1. SQL SERVER 2016 New Features and Enhancements
  • 2. Tuning blog: http://www.sqlperformance.com/ E-mail ebooks@sqlsentry.com for free copies of our $10 e-books:
  • 3. YOUR PRESENTER • John Q Martin o Sales Engineer for SQL Sentry o Worked with SQL Server for ~10 years o Consultant, SQL DBA, Dev & BI Developer o Former Microsoft Premier Field Engineer • Contact Information o Email: Jmartin@SQLSentry.com o Blog: http://blogs.sqlsentry.com/author/JohnMartin/ o Twitter: @SQLServerMonkey o LinkedIn: https://uk.linkedin.com/in/johnqmartin
  • 4. DEMO CODE All demo code for this deck can be found using the link below; http://1drv.ms/1PC5smY
  • 5. 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 Masking Operational Analytics Always Encrypted TDE Performance Temporal TablesQuery Data Store Live Query Stats Backup to Azure Managed Backup Multiple TempDb files on Install FOR JSON Stretch 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 SSMS SSRS – New DAX Functions SSAS – Processing Improvements MDS Now Works!
  • 6. ALWAYSON AVAILABILITY GROUPS • AlwaysOn Availability Groups will now support DTC Transactions & cross database queries. o One of the biggest blockers to adoption o Requires the use of Windows Server 2016 • Improved health detection for triggering failover events o Will now trigger when a database is offline rather than relying on Instance level issues • Increased High Availability configuration o Now support for two automatic failover partners as opposed to one
  • 7. ALWAYSON AVAILABILITY GROUPS • Now possible to use Round Robin load balancing on Active Secondaries for read-only queries o Expanded capability when connecting via the Availability Group Listener o Still requires that Read-Only Routing is configured • Support for Group Managed Service Accounts o These Active Directory accounts can greatly simplify the management of service accounts for SQL Server.
  • 8. ALWAYS ENCRYPTED • New data encryption capability built into the engine o Encryption is defined at the column level o Cipher-text is stored, DBA can manage but not see the plain text data o Certificate and encryption is handled by the connection driver in the application • Two forms of encryption o Deterministic o Non-Deterministic (Randomized)
  • 10. ALWAYS ENCRYPTED • Requires the SQL Native Client 12 o .NET 4.6 • Windows Certificate Store is only one supported out of the box o 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 data o Great for compliance or high security environments
  • 11. DEMO Securing sensitive data with SQL Server 2016 Always Encrypted
  • 12. IN-MEMORY OLTP • You are now able to run ALTER commands on memory optimized objects o Tables and procedures no longer need to be dropped and re-created • Full join syntax support & other T-SQL surface area enhancements o Earlier version did not allow outer joins o UNION, NOT, OR and IN • Nested Statements are now supported o Nesting natively compiled procedures
  • 13. IN-MEMORY OLTP • Columnstore Indexes are now supported on In-Memory tables o Functionality that underpins the Operational Analytics feature set. • Better scalability o Multi-threaded persistence process o Multi-threaded recovery process • Increase in size of data for In-Memory objects o 2TB per-database (MS Recommendation)
  • 15. 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.
  • 16. 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
  • 17. OPERATIONAL ANALYTICS • Important to understand your query workload o If the Queries and the Indexes don’t work well together then optimal performance will be difficult to achieve. • Combine with other existing technologies o Table Partitioning o Columnstore Archive Compression • When using In-Memory tables it is not possible to use the filtered Columnstore Indexes.
  • 18. DEMO Mixing OLTP and Analytic Workloads with Operational Analytics.
  • 19. POLYBASE • Technology that is part of the APS (formerly PDW) appliance. • Used to integrate external data sources to SQL Server o HDInsight/Hadoop o Azure Blob Storage • Allows querying of the external data sources via T-SQL o Create “External Tables” in the database to access the data store.
  • 20. POLYBASE • Installed as an additional feature option from the Installer o Required Java Runtime Environment 7.51 or higher o One installer per-OSE • As data is stored externally to SQL Server network will impact performance o Getting data from on-premises Hadoop will be quicker than going to the cloud • Allows for some potentially interesting data architectures o SQL Server database for hot/warm data with Hadoop holding deep archive data
  • 23. POLYBASE Hadoop [On-Premises/Cloud] Historical Data (> 5 Years Old) SQL Server Current Data (< 5 Years Old) Azure Blob Storage
  • 24. POLYBASE Hadoop [On-Premises/Cloud] Historical Data (> 5 Years Old) SQL Server Current Data (< 5 Years Old) Azure Blob Storage T-SQL Query
  • 25. 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
  • 26. 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
  • 27. SECURITY ENHANCEMENTS • Row Level Security o Restrict access to data at the row level o Security logic sits in the data tier and is implemented by the SQL Server • You define the logic o User defined In-Line Table Value Function • By placing this logic in the data tier, it is possible to improve security o If the data does not leave the database then exposure is reduced
  • 28. SECURITY ENHANCEMENTS • Dynamic Data Masking o Used to mask data that is returned to the caller o Targeted at situations where there is no direct query access to data tier o Useful in compliance situations • Feature is enabled by default o Can be disabled with the use of trace flags 209 & 219 o Still needs to be configured by the administrator • Number of ‘default’ masks built in o You can define your own mask patterns
  • 29. SECURITY ENHANCEMENTS • Important to understand that sysadmin can still see the data • If there is direct T-SQL Access it can be circumvented o Select into Temporary tables and then select will expose the data
  • 30. SECURITY ENHANCEMENTS • Transparent Data Encryption o Now supports the use of AES-NI Hardware Acceleration • AES-NI o 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
  • 32. STRETCH DATABASE • Archive data to Microsoft Azure SQL Database o Query the remote and local data transparently • Data is moved from SQL Server to Azure o Data Ingres to Azure is free, Egress however costs, understand your queries. • Archive data is limited by the size of the Azure SQL Database o Currently this stands at 1TB when using the highest service tier (P11)
  • 33. STRETCH DATABASE SQL Server Linked Server On Premises Remote Data Local Data Azure SQLDB Eligible Data Local Data
  • 34. STRETCH DATABASE SQL Server Linked Server Client Application Eligible Data Local Data Remote Data Azure SQLDB On Premises
  • 35. TEMPORAL TABLES • Tracking the state of data as it changes over time with a validity period • Managed by the SQL Server system o System managed o Migrate existing table to system management • Two tables o Current table o History table
  • 36. DEMO Keeping track of changing data with Temporal Tables.
  • 37. T-SQL ENHANCEMENTS • Alter Table o Now allows for multiple ALTER COLUMN operations • FOR JSON function o There is now the ability to return data formatted as JSON o Similar to the FOR XML operator • Truncate Table o Enhanced to allow truncation of partitions • New Query Hint o NO_PERFORMANCE_SPOOL
  • 39. 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.com o Twitter: @SQLServerMonkey