Pre-Release Builds of SQL Server 2016
(For information about RTM and later builds, see the main post.)
SQL Server 2016 hit GA on June 1st, 2016. Leading up to this, with a very open public preview program starting with CTP 2.0, SQL Server 2016 has been getting into a lot of hands and getting put through a lot of testing. Microsoft's Remus Rusanu (@rusanu) recently posted about why he is so excited about this release - a great read if you want some insight into how the cycle has changed:
Here are the CTP/RC builds that were public (there are others that are not public, so don't fret if you have experience with a build that's not on this list):
|CTP / RC||Version||Release Date||Build Date|
⚠ If you are using Filestream and upgrading to CTP 3.3 from a previous build, there is an important callout in the release notes - you'll need to disable Filestream, restart, upgrade, then re-enable Filestream.
⚠ If you're using In-Memory OLTP and are running CTP 3.1, go back to the Evaluation Center and download 3.3.
Here is the latest output from
Microsoft SQL Server 2016 (RC3) - 13.0.1400.361 (X64) Apr 9 2016 01:59:22 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on ...
You can always download the latest build from the Evaluation Center; it often takes a bit longer, but they will eventually also be available on MSDN Subscriber Downloads and the Visual Studio Portal.
RC3 was released today, April 15th.
As far as the database engine is concerned, there were no new objects, no new columns, and only one object changed since RC2:
sys.sp_cdc_vupgrade (the change revolved around how DDL for masked columns is generated). I suspect the rest of the changes were in setup, other components (SSIS, SSAS, SSRS, PolyBase, etc.), or simple fit and finish.
This will be the last Release Candidate before RTM.
You can download a new preview of SSMS (labeled the "April 2016 Preview" - (13.0.14000.36) here:
This is the first public build that is based on the Visual Studio 2015 shell; the first change I noticed was the ability to use a different color theme (currently only "Blue" - the default - and "Light," but I'm sure there are more to come - confirmed in a comment here):
Ken Van Hyning (@sqltoolsguy) blogged about many of the current and several future changes, and answered many questions at the end of this post:
He also sat down for an interview with me recently:
Changes to SSMS are documented here:
- Announcing SQL Server Management Studio – April 2016 Release
- SQL Server Management Studio - Changelog
- An updated version of SQL Server Data Tools (SSDT) has been released here: SQL Server Data Tools Preview update for April 2016
- I blogged about some of the growing pains you'll notice as this work progresses: What might the SSMS changes mean to you?
- And I blogged about a walk-through of the new February preview, which "is no longer installed from the main feature tree" - in Management Studio February Update : An Illustrated Guide.
RC2 (13.0.1300.275) was released on April 1st, 2016. We're winding down, but there were a number of changes between RC1 and RC2.
The most interesting thing for me here is it is the first time I noticed the complete removal of the .NET 3.5 requirement. This is awesome.
One of the most exciting announcements from the Build conference:
This will be a good alternative for anyone who used to pay $59 or installed a time-bombed Evaluation Edition for local development and testing. Simon Sabin noticed that Developer Edition is now one of the free choices during setup, which hints that this will be available through normal evaluation downloads and not exclusive to the Visual Studio Dev Essentials program:
I am relieved that Jos de Bruijn has blogged about all of the changes to In-Memory OLTP since CTP3 (so I don't have to discover and write about them myself :-)):
Three new objects were added after RC1:
Four new columns:
|view name||column name|
Four objects have changed (three of them for the new columns mentioned above; the dm_ view did not change because it is simply a
SELECT * FROM OPENROWSET()):
|object name||character delta|
There are some new extended events around Stretch Database migration and authorization (see this post to see how I find these).
And finally, the following error messages are new since RC1:
|14913||Failure was injected by '%ls' transaction/function.|
|14915||The use of replication is not supported for table '%ls' with REMOTE_DATA_ARCHIVE enabled.|
|14916||Change Data Capture is not supported for table '%ls' with REMOTE_DATA_ARCHIVE enabled.|
|14917||The REMOTE_DATA_ARCHIVE option cannot be enabled on table '%ls' because it will exceed the maximum allowable size of %d bytes on the remote table due to an additional required system column.|
|16015||The index on view '%.*ls' cannot be created because the view is referencing table '%.*ls' with masked columns.|
|16016||Cannot add a masking function to a column used in a sparse column set.|
RC1 (13.0.1200.242) was released on March 18th. Not a lot of changes here (after all, it's only been 11 days since RC0 was released). There are some changes to R support and Stretch Database, as described in the "What's New" document. There were three objects changed:
|Object Name||Delta in Characters||Explanation|
|sys.index_columns||35||Added an additional filter criterion against sys.sysiscols.|
|sys.query_store_runtime_stats||-226||Removed the enforcement that only persisted plans show runtime stats.|
|sys.sp_updatestats||132||Added dbo_owner as allowed role for Azure SQL Database only.|
And there are 8 new error messages:
|14912||REMOTE_DATA_ARCHIVE with value set to OFF_WITHOUT_DATA_RECOVERY is not supported at table creation. Please retry using a valid option'.|
|14914||The edition for database '%ls' is invalid. Only the Azure SQL Stretch edition is supported as a target for Stretch database.|
|16013||Cannot add a masking function to a column used in a key to a fulltext index.|
|16014||Failed to create fulltext index because key column '%.*ls' has a masking function defined on it.|
|19512||The requested operation only applies to distributed availability group, and is not supported on the specified availability group '%.*ls'. Please make sure you are specifing the correct availability group name.|
|39026||The parameter name 'r_rowsPerRead' is specified multiple times in 'sp_execute_external_script' call. The name 'r_rowsPerRead' is reserved for specifying streaming behavior only.|
|39027||Parameter '%.*ls' was specified multiple times to sp_execute_external_script stored procedure.|
|41839||Transaction exceeded the maximum number of commit dependencies and the last statement was aborted. Retry the statement.|
RC0 (13.0.1100.288) was released on March 7th, just in time for the Data Driven event on March 10th. We're getting close! You can get a feel for RC0 from First release candidate of SQL Server 2016 now available and Technical Overview: SQL Server 2016 Release Candidate 0.
Like 3.2, there were very few engine changes in CTP 3.3.
There were very few engine changes in CTP 3.2; most of the updates were specific to MDS, SSRS, Management Studio, etc. Most notable engine changes: JSON output
WITHOUT_ARRAY_WRAPPER, and the cat is finally out of the bag about Basic Availability Groups. Other changes are described in this Data Platform team blog post, this post from the Reporting Services team, and in Books Online, What's New in SQL Server 2016, December Update.
CTP 3.1 was published on December 5, 2015, and was a minor release compared to 3.0 (details below), but there are some interesting additions.
CTP 3.0 was published October 29th, 2015. There are a lot of details on the SQL Server blog and in the Books Online topic "What's New in SQL Server 2016, October Update," but I've described some of the highlights for me below.
I've combined my observations from the 2.x CTPs into a single set of tables. This is mostly just for posterity and so that if you're trying to answer a trivia question you can check here for which build a feature was introduced.