SQL Server 2016 New Features!
Improvements on Always On Availability Groups:
Standard Edition will come with AGs support with one db per group
synchronous or asynchronous, not readable (HA/DR only).
Improved log throughput.
3 sync replicas, up from 2 in SQL 2014.
Listener will be able to do round-robin load balancing of read-only requests
on multiple secondaries.
Better policies for failover, for example, looking at individual database
health.
Improvements on Columnstore Indexes:
Parallel insert.
Nonclustered B-tree indexes on top of the columnstore.
Read/write nonclustered columnstore on top of a regular clustered index.
In-memory columnstore on in-memory oltp table.
More T-SQL constructs run in batch mode.
More predicates and aggregates pushed down to the storage engine.
REORGANIZE will remove deleted rows and merge small rowgroups,
online.
New DMVs, XEvents and Perfmon counters.
Support for RCSI or Snapshot isolation.
Fully readable on an Availability Groups secondary.
Improvements on In-Memory OLTP:
In-memory OLTP will support Foreign Keys between in-memory tables.
Storage file garbage collector tuned to be faster by decoupling the GC from Filestream.
Transparent Database Encryption (TDE) is supported now for in-memory
tables.
Check and Unique constraints added as well.
Multi-threaded checkpoint for in-memory (one per container).
ALTER procedure and sp_recompile supported (fully online).
ALTER TABLE for schema and index changes (offline). Requires 2x
memory.
Parallel plans are now possible on in-memory tables.
Native compilation support for: outer joins, OR, NOT, UNION
(ALL),DISTINCT, Subqueries (IN, NOT IN, EXISTS, NOT EXISTS).
Natively compiled stored procedures can be nested.
Ability to create natively compiled UDFs.
Trigger support added to in-memory tables.
Improvements on the migration wizard.
Wide range of collations supported now.
LOB support being worked on to add for this release.
Improvements on DBA features:
Query store: this is a new capability that allows tracking changes of
execution plans, comparing different plans and easily telling the optimizer what plan to use.
Online ALTER COLUMN.
Truncate at Partition level.
Instance will have better handling of multiple Temdb files. So far the
material on this is not 100% clear on whether this just means better default for tempdb, some kind of screen on the setup that recommends the
amount of files or if SQL Server will be able to automatically add Tempdb files if there’s contention. We’ll have to wait and see.
Improvements on Azure integrations:
Snapshot backup to Azure storage when running as a VM on Azure and
with files directly on blob storage.
Stretch a SQL Server table to Azure. This will allow to have a table that
expands from on premises SQL Server to Azure (for example, keep your archive in the cloud and hot data on premises).
Improvements on Dev features:
Native JSON support.
JSON (JavaScript Object Notation) is a standardized data exchange format that is currently not supported natively by SQL Server. To perform JSON imports and exports you need to hand-code complex T-SQL, SQLCLR or JavaScript. SQL Server 2016 promises to simply this by incorporating JSON support directly into SQL Server much like XML. SQL Server 2016 will natively parse and store JSON as relational data and will support exporting relational data to JSON.
Temporal database: transparent and built-in functionality to track historical
SQL Dev integrated back into one experience: Sql Server Data Tools for Visual Studio 2015 will have both relational and BI database projects.
Improvements on Security:
AlwaysEncrypted: columns are encrypted using keys on the application
driver side so the data on the database is always encrypted and transparent for the application users.
Dynamic Data Masking: already on Azure SQL DB V12, this allows
establishing policies to mask sensitive column values to specific users or roles.
Row Level security: also available on Azure SQL DB V12, this allows
establishing policies that filter our specific rows based on the user trying to access the data.
Integration with Hadoop:
Polybase included in SQL Server (previously PDW/APS only) to query
HDFS with T-SQL and integrate with SQL Server.
You’ll be able to stand up a cluster of SQL Server 2016 instances, one
head node and one or more compute nodes and do parallel processing with Hadoop through Polybase.
Note this is NOT “building your own PDW”, the SQL Server compute
nodes don’t have local SQL Server data that can be referenced. “More of a business decision than a technical decision” according to Dr. Dewitt’s session at Ignite.
Improvements on BI:
Datazen is available now for any SQL 2008+ Enterprise + SA license
holder, should be further integrated with the BI stack by release time.
SSRS is getting a makeover to have a modern look, mobile experience,all
browser compatibility, paramater layout customization, new visualizations.
R modules will be able to execute in SQL Server, moving the analytics
code close to the data.
SSIS designer support for previous versions.
PowerQuery support in SSIS.
PowerBI Q&A through the SSAS on-premises data connector.
Many to Many relationships on SSAS Tabular.
Built-in time intelligence on SSAS Tabular models, new DAX functions,
parallel partition processing.
New scripting language for Tabular model projects.
Netezza as a native data source for SSAS.
DBCC instruction support for multidimensional for maintenance related
tasks.
Tight integration and improvements in relation to Sharepoint vNext.
Revamped SQL Server Data Tools:
Another welcome change in SQL Server 2016 is the reconsolidation of
SQL Server Data Tools (SSDT). As Microsoft worked to supplant the popular and useful Business Development Studio (BIDS) with SQL Server Data Tools they wound up confusing almost everyone by creating not one but two versions of SQL Server Data Tools both of which needed to be downloaded separately from installing SQL Server itself. With the SQL Server 2016 release Microsoft has indicated that they intend to