Breaking Changes to Database Engine Features in SQL Server 2016

APPLIES TO: yesSQL Server (starting with 2016) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

This topic describes breaking changes in the SQL Server 2017 Database Engine and earlier versions of SQL Server. These changes might break applications, scripts, or functionalities that are based on earlier versions of SQL Server. You might encounter these issues when you upgrade.

Breaking Changes in SQL Server 2016 (13.x)

  • The sample_ms column of sys.dm_io_virtual_file_stats has expanded from an int to a bigint data type.

  • The TimeStamp column of sys.fn_virtualfilestats has expanded from an int to a bigint data type.

  • Using the MD2, MD4, MD5, SHA, or SHA1 hash algorithms (not recommended) requires setting the database compatibility level to earlier than 130.

  • Under database compatibility level 130, implicit conversions from datetime to datetime2 data types show improved accuracy by accounting for the fractional milliseconds, resulting in different converted values. Use explicit casting to datetime2 datatype whenever a mixed comparison scenario between datetime and datetime2 datatypes exists. For more information, refer to this Microsoft Support Article.

Previous Versions

For information about breaking changes in SQL Server version 2014, and in some earlier versions, see Breaking Changes to Database Engine Features in SQL Server 2014.

Archived Documentation for Very Old Versions of SQL Server

We accumulate and retain documentation for very old versions of SQL Server in a set of archive webpages. You can see these archives at SQL Server previous versions documentation.

As of November 2018, these archives include the documentation for at least the following:

  • SQL Server 2012
  • SQL Server 2008 R2
  • SQL Server 2008
  • SQL Server 2005

See Also

Deprecated Database Engine Features in SQL Server 2016
Discontinued Database Engine Functionality in SQL Server 2016
SQL Server Database Engine Backward Compatibility
ALTER DATABASE Compatibility Level (Transact-SQL)
SQL Server 2016 or SQL Server 2017 on Windows improvements in handling some data types and uncommon operations