What's new in SQL Server 2017

10/20/2017

9 minutes to read

+23



In this article

Applies to: SQL Server 2017 (14.x) and later

SQL Server 2017 represents a major step towards making SQL Server a platform that gives you choices of development languages, data types, on-premises or cloud, and operating systems by bringing the power of SQL Server to Linux, Linux-based Docker containers, and Windows. This topic summarizes what is new for specific feature areas and includes links to additional details. For more information related to SQL Server on Linux, see SQL Server on Linux Documentation

Try it out: Download SQL Server 2017 Release - October 2017.

Note In addition to the changes below, cumulative updates are released at regular intervals after the GA release. These cumulative updates provide many improvements and fixes. For information about the latest CU release, see SQL Server 2017 Cumulative updates.

SQL Server 2017 Database Engine

SQL Server 2017 includes many new Database Engine features, enhancements, and performance improvements.

SQL Server 2017 Integration Services (SSIS)

The new Scale Out feature in SSIS has the following new and changed features. For more info, see What's New in Integration Services in SQL Server 2017. (RC1) Scale Out Master now supports high availability. The failover handling of the execution logs from Scale Out Workers is improved. The parameter runincluster of the stored procedure [catalog].[create_execution] is renamed to runinscaleout for consistency and readability. The SSIS Catalog has a new global property to specify the default mode for executing SSIS packages.

feature in SSIS has the following new and changed features. For more info, see What's New in Integration Services in SQL Server 2017. (RC1) In the new Scale Out for SSIS feature, you can now use the Use32BitRuntime parameter when you trigger execution. (CTP 2.1)

feature, you can now use the parameter when you trigger execution. (CTP 2.1) SQL Server 2017 Integration Services (SSIS) now supports SQL Server on Linux , and a new package lets you run SSIS packages on Linux from the command line. For more information, see the blog post announcing SSIS support for Linux. (CTP 2.1)

, and a new package lets you run SSIS packages on Linux from the command line. For more information, see the blog post announcing SSIS support for Linux. (CTP 2.1) The new Scale Out for SSIS feature makes it much easier to run SSIS on multiple machines. See Integration Services Scale Out. (CTP 1.0)

feature makes it much easier to run SSIS on multiple machines. See Integration Services Scale Out. (CTP 1.0) OData Source and OData Connection Manager now support connecting to the OData feeds of Microsoft Dynamics AX Online and Microsoft Dynamics CRM Online. (CTP 1.0)

For more info, see What's New in Integration Services in SQL Server 2017.

SQL Server 2017 Master Data Services (MDS)

Experience and performance are improved when upgrading from SQL Server 2012, SQL Server 2014, and SQL Server 2016 to SQL Server 2017 Master Data Services.

You can now view the sorted lists of entities, collections and hierarchies in the Explorer page of the Web application.

page of the Web application. Performance is improved for staging millions of records using the staging stored procedure.

Performance is improved when expanding the Entities folder on the Manage Groups page to assign model permissions. The Manage Groups page is located in the Security section of the Web application. For more information about the performance improvement, see https://support.microsoft.com/help/4023865?preview. For more information about assigning permissions, see Assign Model Object Permissions (Master Data Services).

SQL Server 2017 Analysis Services (SSAS)

SQL Server Analysis Services 2017 introduces many enhancements for tabular models. These include:

Tabular mode as the default installation option for Analysis Services. (CTP 2.0)

Object-level security to secure the metadata of tabular models. (CTP 2.0)

Date relationships to easily create relationships based on date fields. (CTP 2.0)

New Get Data (Power Query) data sources, and existing DirectQuery data sources support for M queries. (CTP 2.0)

(Power Query) data sources, and existing DirectQuery data sources support for M queries. (CTP 2.0) DAX Editor for SSDT. (CTP 2.0)

Encoding hints, an advanced feature for optimizing data refresh of large in-memory tabular models. (CTP 1.3)

Support for the 1400 Compatibility level for tabular models. To create new or upgrade existing tabular model projects to the 1400 compatibility level, download and install SQL Server Data Tools (SSDT) 17.0 RC2. (CTP 1.1)

for tabular models. To create new or upgrade existing tabular model projects to the 1400 compatibility level, download and install SQL Server Data Tools (SSDT) 17.0 RC2. (CTP 1.1) A modern Get Data experience for tabular models at the 1400 compatibility level. See the Analysis Services Team Blog. (CTP 1.1)

experience for tabular models at the 1400 compatibility level. See the Analysis Services Team Blog. (CTP 1.1) Hide Members property to hide blank members in ragged hierarchies. (CTP 1.1)

property to hide blank members in ragged hierarchies. (CTP 1.1) New Detail Rows end-user action to Show Details for aggregated information. SELECTCOLUMNS and DETAILROWS functions for creating Detail Rows expressions. (CTP 1.1)

end-user action to for aggregated information. SELECTCOLUMNS and functions for creating Detail Rows expressions. (CTP 1.1) DAX IN operator for specifying multiple values. (CTP 1.1)

For more information, see What's new in SQL Server Analysis Services.

SQL Server 2017 Reporting Services (SSRS)

SQL Server Reporting Services is no longer available to install through SQL Server setup. Go to the Microsoft Download Center to download Microsoft SQL Server 2017 Reporting Services.

Comments are now available for reports, to add perspective and collaborate with others. You can also include attachments with comments.

In the latest releases of Report Builder and SQL Server Data Tools, you can create native DAX queries against supported SQL Server Analysis Services tabular data models by dragging and dropping desired fields in the query designers. See the Reporting Services blog.

To enable development of modern applications and customization, SSRS now supports a fully OpenAPI compliant RESTful API. The full API specification and documentation can now be found on swaggerhub.

For more information, see What's new in SQL Server Reporting Services (SSRS).

Machine Learning in SQL Server 2017

SQL Server R Services has been renamed SQL Server Machine Learning Services, to reflect support for Python in addition to the R language. You can use Machine Learning Services (In-Database) to run R or Python scripts in SQL Server, or install Microsoft Machine Learning Server (Standalone) to deploy and consume R and Python models that don't require SQL Server.

SQL Server developers now have access to the extensive Python ML and AI libraries available in the open-source ecosystem, along with the latest innovations from Microsoft:

revoscalepy - This Python equivalent of RevoScaleR includes parallel algorithms for linear and logistic regressions, decision tree, boosted trees and random forests, as well as a rich set of APIs for data transformation and data movement, remote compute contexts, and data sources.

- This Python equivalent of RevoScaleR includes parallel algorithms for linear and logistic regressions, decision tree, boosted trees and random forests, as well as a rich set of APIs for data transformation and data movement, remote compute contexts, and data sources. microsoftml - This state-of-the-art package of machine learning algorithms and transforms with Python bindings includes deep neural networks, fast decision trees and decision forests, and optimized algorithms for linear and logistic regressions. You also get pre-trained models based on ResNet models that you can use for image extraction or sentiment analysis.

- This state-of-the-art package of machine learning algorithms and transforms with Python bindings includes deep neural networks, fast decision trees and decision forests, and optimized algorithms for linear and logistic regressions. You also get pre-trained models based on ResNet models that you can use for image extraction or sentiment analysis. Python operationalization with T-SQL - Deploy Python code easily by using the stored procedure sp_execute_external_script . Get great performance by streaming data from SQL to Python processes and using MPI ring parallelization.

- Deploy Python code easily by using the stored procedure . Get great performance by streaming data from SQL to Python processes and using MPI ring parallelization. Python in SQL Server compute contexts - Data scientists and developers can execute Python code remotely from their development environments to explore data and develop models without moving data around.

- Data scientists and developers can execute Python code remotely from their development environments to explore data and develop models without moving data around. Native scoring - The PREDICT function in Transact-SQL can be used to perform scoring in any instance of SQL Server 2017, even if R isn't installed. All that's required is that you train the model using one of the supported RevoScaleR and revoscalepy algorithms and save the model in a new, compact binary format.

- The PREDICT function in Transact-SQL can be used to perform scoring in any instance of SQL Server 2017, even if R isn't installed. All that's required is that you train the model using one of the supported RevoScaleR and revoscalepy algorithms and save the model in a new, compact binary format. Package management - T-SQL now supports the CREATE EXTERNAL LIBRARY statement, to give DBAs greater management over R packages. Use roles to control private or shared package access, store R packages in the database and share them among users.

- T-SQL now supports the CREATE EXTERNAL LIBRARY statement, to give DBAs greater management over R packages. Use roles to control private or shared package access, store R packages in the database and share them among users. Performance improvements - The stored procedure sp_execute_external_script has been optimized to support batch mode execution for columnstore data.

For more information, see What's new in SQL Server Machine Learning Services.

Next steps

Get help

Contribute to SQL documentation

Did you know that you could edit the content yourself? If you do so, not only will our documentation improve, but you'll also be credited as a contributor to the page.