Data masking is a necessary, but error prone process. You only need to forget the mask one time to leak sensitive data. SQL Server 2016 attempts to address this with a feature called Dynamic Data Masking.
A common criticism for SQL Server’s security model is that it only understands tables and columns. If you want to apply security rules on a row-by-row basis, you have to simulate it using stored procedures or table value functions, and then find a way to make sure there is no way to bypass them. With SQL Server 2016, that is no longer a problem.
SQL Server 2016 seeks to make encryption easier via its new Always Encrypted feature. This feature offers a way to ensure that the database never sees unencrypted values without the need to rewrite the application.
SQL Server 2016’s new Temporal Table feature makes it easy to work with data that needs to be versioned.
Facebook has made changes to their Graph API which Microsoft says has forced it to drop Facebook support from several Microsoft applications. This means popular apps like Windows Photos and OneDrive will no longer exchange data with Facebook.
SQL Server 2016’s new stretch database feature promises to offer local server performance for hot data and cloud storage for old data without any change to the application.
Microsoft has released v0.3 of its native Visual Studio application, bringing with it support for Rust, as well as changes to keybindings.
In SQL Server 2014 we saw the introduction of Natively Compiled Stored Procedures. In 2016 we’ll be able to do the same for Scalar User Defined Functions.
Memory Optimized Tables promise significant performance gains, but tend to be difficult to work with. SQL Server 2016 reduces much of the pain by offering ALTER TABLE support.
Clustered Columnstore Indexes were one of the two headline features for SQL Server 2014. Designed for tables with over 10 million rows, they allow for good performance on analytical queries without the need to explicitly specify indexes. With SQL Server 2016, they gain the ability to support secondary indexes.
RyuJIT, Microsoft's next generation 64-bit just-in-time compiler for .NET, is now the default on .NET 4.6. Those upgrading from a RyuJIT CTP to .NET 4.6 should be sure to review settings to ensure that their applications are able to run correctly.
Non-clustered Columnstore Indexes are also getting some enhancements in SQL Server 2016. The most notable of these enhancements is the ability to be updated.
New for SQL Server 2016 is the ability to place a Columnstore Index on an In-Memory Table.
In the last of our C# Futures series, we look at proposal 159, which would add compiler support for immutable classes.
SQL Server 2016 will finally see native support for JSON.