SQL Server 2017 的新增功能What's new in SQL Server 2017

适用对象:yesSQL Server(从 2017 版开始)noAzure SQL 数据库noAzure SQL 数据仓库no并行数据仓库APPLIES TO: yesSQL Server (starting with 2017) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server 2017 跨出了重要的一步,它力求通过将 SQL Server 的强大功能引入 Linux、基于 Linux 的 Docker 容器和 Windows,使用户可以在 SQL Server 平台上选择开发语言、数据类型、本地开发或云端开发,以及操作系统开发。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. 有关 Linux 上的 SQL Server 的相关详细信息,请参阅 Linux 上的 SQL Server 文档For more information related to SQL Server on Linux, see SQL Server on Linux Documentation

从评估中心下载试用:下载 SQL Server 2017 发行版 - 2017 年 10 月:Download from Evaluation Center Try it out: Download SQL Server 2017 Release - October 2017:.

备注

除了以下更改外,在正式版发布后会定期发布累积更新。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. 有关最新 CU 版本的信息,请参阅 SQL Server 2017 累积更新For information about the latest CU release, see SQL Server 2017 Cumulative updates.

SQL Server 2017 数据库引擎SQL Server 2017 Database Engine

SQL Server 2017 包含许多新的数据库引擎功能、增强功能和性能改进。SQL Server 2017 includes many new Database Engine features, enhancements, and performance improvements.

  • 现在可以将 CLR 程序集添加到白名单,作为 CTP 2.0 中介绍的 clr strict security 功能的变通方法。CLR assemblies can now be added to a whitelist, as a workaround for the clr strict security feature described in CTP 2.0. 添加 sp_add_trusted_assemblysp_drop_trusted_assemblysys.trusted_asssemblies 以支持受信任的程序集白名单 (RC1)。sp_add_trusted_assembly, sp_drop_trusted_assembly, and sys.trusted_asssemblies are added to support the white list of trusted assemblies (RC1).
  • 可恢复的联机索引重新生成可从发生故障(例如到副本的故障转移或磁盘空间不足)后联机索引重新生成操作停止处恢复该操作,或暂停并稍后恢复联机索引重新生成操作。Resumable online index rebuild resumes an online index rebuild operation from where it stopped after a failure (such as a failover to a replica or insufficient disk space), or pauses and later resumes an online index rebuild operation. 请参阅 ALTER INDEX联机索引操作准则See ALTER INDEX and Guidelines for online index operations. (CTP 2.0)(CTP 2.0)
  • 如果服务器意外重启或故障转移到辅助服务器,ALTER DATABASE SCOPED CONFIGURATION 的“IDENTITY_CACHE”选项可使用户避免标识列值的差值。The IDENTITY_CACHE option for ALTER DATABASE SCOPED CONFIGURATION allows you to avoid gaps in the values of identity columns if a server restarts unexpectedly or fails over to a secondary server. 请参阅 ALTER DATABASE SCOPED CONFIGURATIONSee ALTER DATABASE SCOPED CONFIGURATION. (CTP 2.0)(CTP 2.0)
  • 新一代的查询处理改进,将对应用程序工作负荷的运行时状况采用优化策略。A new generation of query processing improvements that will adapt optimization strategies to your application workload's runtime conditions. 对于这款适应性查询处理功能系列初版,我们进行了 3 项新的改进:批处理模式自适应联接、批处理模式内存授予反馈,以及针对多语句表值函数的交错执行。For this first version of the adaptive query processing feature family, we have three new improvements: batch mode adaptive joins, batch mode memory grant feedback, and interleaved execution for multi-statement table valued functions. 请参阅 SQL 数据库中的自适应查询处理See Adaptive query processing in SQL databases.
  • 自动数据库优化提供对潜在查询性能问题的深入了解、提出建议解决方案并自动解决已标识的问题。Automatic database tuning provides insight into potential query performance problems, recommends solutions, and can automatically fix identified problems. 请参阅自动优化See Automatic tuning. (CTP 2.0)(CTP 2.0)
  • 用于建模多对多关系的新图形数据库功能包括用于创建节点和边界表的新 CREATE TABLE 语法和用于查询的关键字 MATCHNew graph database capabilities for modeling many-to-many relationships include new CREATE TABLE syntax for creating node and edge tables, and the keyword MATCH for queries. 请参阅使用 SQL Server 2017 进行图形处理See Graph Processing with SQL Server 2017. (CTP 2.0)(CTP 2.0)
  • 默认情况下,启用名为 clr strict security 的 sp_configure 选项,以增强 CLR 程序集的安全性。An sp_configure option called clr strict security is enabled by default to enhance the security of CLR assemblies. 请参阅 CLR 严格安全性See CLR strict security. (CTP 2.0)(CTP 2.0)
  • 安装程序现在支持最多将每个文件的初始 tempdb 文件大小指定为 256 GB (262,144 MB)/文件;如果文件大小设置为大于 1 GB 且未启用 IFI,则会出现警告。Setup now allows specifying initial tempdb file size up to 256 GB (262,144 MB) per file, with a warning if the file size is set greater than 1GB with IFI not enabled. (CTP 2.0)(CTP 2.0)
  • sys.dm_db_file_space_usage 中的 modified_extent_page_count 列跟踪每个数据库文件中的差异更改,从而启用基于数据库中已更改页面百分比执行差异备份或完全备份的智能备份解决方案。The modified_extent_page_count column in sys.dm_db_file_space_usage tracks differential changes in each database file, enabling smart backup solutions that perform differential backup or full backup based on percentage of changed pages in the database. (CTP 2.0)(CTP 2.0)
  • SELECT INTO T-SQL 语法现支持使用 ON 关键字将表加载到用户默认文件组以外的文件组。SELECT INTO T-SQL syntax now supports loading a table into a FileGroup other than the user's default by using the ON keyword. (CTP 2.0)(CTP 2.0)
  • 现在,在属于 AlwaysOn 可用性组的全部数据库(包括属于同一实例的数据库)中支持跨数据库事务。Cross database transactions are now supported among all databases that are part of an Always On Availability Group, including databases that are part of same instance. 请参阅 事务 - AlwaysOn 可用性组和数据库镜像 (CTP 2.0)See Transactions - Always On Availability Groups and Database Mirroring (CTP 2.0)
  • 新的“可用性组”功能包括无群集支持、最小副本提交可用性组设置和 Windows-Linux 跨操作系统迁移和测试。New Availability Groups functionality includes clusterless support, Minimum Replica Commit Availability Groups setting, and Windows-Linux cross-OS migrations and testing. (CTP 1.3)(CTP 1.3)
  • 新的动态管理视图:New dynamic management views:
    • sys.dm_db_log_stats 公开摘要级别特性和有关事务日志文件的信息,这对于监视事务日志的运行状况很有用。sys.dm_db_log_stats exposes summary level attributes and information on transaction log files, helpful for monitoring transaction log health. (CTP 2.1)(CTP 2.1)
    • sys.dm_tran_version_store_space_usage 跟踪每个数据库的版本存储使用情况,有助于根据每个数据库的版本存储使用情况主动规划 tempdb 大小。sys.dm_tran_version_store_space_usage tracks version store usage per database, useful for proactively planning tempdb sizing based on the version store usage per database. (CTP 2.0)(CTP 2.0)
    • sys.dm_db_log_info 公开 VLF 信息以监视、警告和避免潜在的事务日志问题。sys.dm_db_log_info exposes VLF information to monitor, alert, and avert potential transaction log issues. (CTP 2.0)(CTP 2.0)
    • sys.dm_db_stats_histogram 是新的动态管理视图,用于检查统计信息。sys.dm_db_stats_histogram is a new dynamic management view for examining statistics. (CTP 1.3)(CTP 1.3)
    • sys.dm_os_host_info 为 Windows 和 Linux 提供操作系统信息。sys.dm_os_host_info provides operating system information for both Windows and Linux. (CTP 1.0)(CTP 1.0)
  • “数据库优化顾问”(DTA) 具有其他选项和改进的性能。The Database Tuning Advisor (DTA) has additional options and improved performance. (CTP 1.2)(CTP 1.2)
  • 内存中增强功能包括支持内存优化表中的计算列、完全支持本机编译的模块中的 JSON 函数,以及本机编译的模块中的 CROSS APPLY 运算符。In-memory enhancements include support for computed columns in memory-optimized tables, full support for JSON functions in natively compiled modules, and the CROSS APPLY operator in natively compiled modules. (CTP 1.1)(CTP 1.1)
  • 新的字符串函数是 CONCAT_WS、TRANSLATE 和 TRIM,而 STRING_AGG 函数现在支持 WITHIN GROUP。New string functions are CONCAT_WS, TRANSLATE, and TRIM, and WITHIN GROUP is now supported for the STRING_AGG function. (CTP 1.1)(CTP 1.1)
  • 对于 CSV 和 Azure Blob 文件,可使用新的批处理访问选项BULK INSERT 和 OPENROWSET(BULK...))。There are new bulk access options (BULK INSERT and OPENROWSET(BULK...) ) for CSV and Azure Blob files. (CTP 1.1)(CTP 1.1)
  • 内存优化对象增强功能包括 sp_spaceused、消除内存优化表的 8 个索引限制、内存优化表的 sp_rename 和本机编译的 T-SQL 模块,以及适用于本机编译的 T-SQL 模块的 CASE 和 TOP (N) WITH TIES。Memory-optimized object enhancements include sp_spaceused and elimination of the 8 index limitation for memory-optimized tables, sp_rename for memory-optimized tables and natively compiled T-SQL modules, and CASE and TOP (N) WITH TIES for natively compiled T-SQL modules. 现在可在 Azure 存储中存储、备份和还原内存优化文件组文件。Memory-optimized filegroup files can now be stored, backed up and restored on Azure Storage. (CTP 1.0)(CTP 1.0)
  • “DATABASE SCOPED CREDENTIAL”是一个新的安全对象类,支持 CONTROL、ALTER、REFERENCES、TAKE OWNERSHIP 和 VIEW DEFINITION 权限。DATABASE SCOPED CREDENTIAL is a new class of securable, supporting CONTROL, ALTER, REFERENCES, TAKE OWNERSHIP, and VIEW DEFINITION permissions. 现在,ADMINISTER DATABASE BULK OPERATIONS 在 sys.fn_builtin_permissions 中可见。ADMINISTER DATABASE BULK OPERATIONS is now visible in sys.fn_builtin_permissions. (CTP 1.0)(CTP 1.0)
  • 已添加数据库 COMPATIBILITY_LEVEL 140。Database COMPATIBILITY_LEVEL 140 is added. (CTP 1.0)。(CTP 1.0).

有关详细信息,请参阅 SQL Server 2017 数据库引擎中的新增功能For more information, see What's new in SQL Server 2017 Database Engine.

SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS)

  • SSIS 中的新 Scale Out 功能具有以下新功能和更改的功能。The new Scale Out feature in SSIS has the following new and changed features. 有关详细信息,请参阅 SQL Server 2017 Integration Services 中的新增功能For more info, see What's New in Integration Services in SQL Server 2017. (RC1)(RC1)
    • Scale Out 主要角色现在支持高可用性。Scale Out Master now supports high availability.
    • 改进了 Scale Out 辅助角色中执行日志的故障转移处理。The failover handling of the execution logs from Scale Out Workers is improved.
    • 存储过程 [catalog].[create_execution] 的参数 runincluster 重命名为 runinscaleout,以保持一致性和可读性。The parameter runincluster of the stored procedure [catalog].[create_execution] is renamed to runinscaleout for consistency and readability.
    • SSIS 目录具有新的全局属性,用于指定执行 SSIS 包的默认模式。The SSIS Catalog has a new global property to specify the default mode for executing SSIS packages.
  • 在新“Scale Out for SSIS”功能中,现在可在触发执行时使用 Use32BitRuntime 参数。In the new Scale Out for SSIS feature, you can now use the Use32BitRuntime parameter when you trigger execution. (CTP 2.1)(CTP 2.1)
  • SQL Server 2017 Integration Services (SSIS) 现在支持 Linux 适用的 SQL Server,并且新包允许在 Linux 上从命令行运行 SSIS 包。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. 有关详细信息,请参阅宣布 SSIS 支持 Linux 的博客文章For more information, see the blog post announcing SSIS support for Linux. (CTP 2.1)(CTP 2.1)
  • 新的“Scale Out for SSIS”功能使在多台计算机上运行 SSIS 更为轻松。The new Scale Out for SSIS feature makes it much easier to run SSIS on multiple machines. 请参阅 Integration Services Scale Out。(CTP 1.0)See Integration Services Scale Out. (CTP 1.0)
  • OData 源和 OData 连接管理器现支持连接到 Microsoft Dynamics AX Online 和 Microsoft Dynamics CRM Online 的 OData 源。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)(CTP 1.0)

有关详细信息,请参阅 SQL Server 2017 Integration Services 中的新增功能For more info, see What's New in Integration Services in SQL Server 2017.

SQL Server 2017 Master Data Services (MDS)SQL Server 2017 Master Data Services (MDS)

  • 从 SQL Server 2012、SQL Server 2014 和 SQL Server 2016 升级到 SQL Server 2017 Master Data Services 时,体验和性能有所改进。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.
  • 现在可以在 Web 应用程序的“资源管理器”页中查看实体、集合和层次结构的排序列表。You can now view the sorted lists of entities, collections and hierarchies in the Explorer 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. “管理组”页位于 Web 应用程序的“安全性”部分中。The Manage Groups page is located in the Security section of the Web application. 有关性能改进的详细信息,请参阅 https://support.microsoft.com/help/4023865?previewFor more information about the performance improvement, see https://support.microsoft.com/help/4023865?preview. 若要详细了解如何分配权限,请参阅分配模型对象权限 (Master Data Services)For more information about assigning permissions, see Assign Model Object Permissions (Master Data Services).

SQL Server 2017 Analysis Services (SSAS)SQL Server 2017 Analysis Services (SSAS)

SQL Server Analysis Services 2017 引入了许多可用于表格模型的增强功能。SQL Server Analysis Services 2017 introduces many enhancements for tabular models. 其中包括:These include:

  • 作为 Analysis Services 默认安装选项的表格模式。Tabular mode as the default installation option for Analysis Services. (CTP 2.0)(CTP 2.0)
  • 用于保护表格模型元数据的对象级安全性。Object-level security to secure the metadata of tabular models. (CTP 2.0)(CTP 2.0)
  • 可基于日期字段轻松创建关系的日期关系。Date relationships to easily create relationships based on date fields. (CTP 2.0)(CTP 2.0)
  • 新的“获取数据” (Power Query) 数据源,以及现有的 DirectQuery 数据源支持 M 查询。New Get Data (Power Query) data sources, and existing DirectQuery data sources support for M queries. (CTP 2.0)(CTP 2.0)
  • 用于 SSDT 的 DAX 编辑器。DAX Editor for SSDT. (CTP 2.0)(CTP 2.0)
  • 编码提示,一种用于优化大型内存中表格模型的数据刷新的高级功能。Encoding hints, an advanced feature for optimizing data refresh of large in-memory tabular models. (CTP 1.3)(CTP 1.3)
  • 支持针对表格模型的 1400 兼容级别。Support for the 1400 Compatibility level for tabular models. 若要新建或将现有表格模型项目升级到 1400 兼容级别,请下载并安装 SQL Server Data Tools (SSDT) 17.0 RC2To 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)(CTP 1.1)
  • 1400 兼容级别的表格模型的新式获取数据体验。A modern Get Data experience for tabular models at the 1400 compatibility level. 请参阅 Analysis Services 团队博客See the Analysis Services Team Blog. (CTP 1.1)(CTP 1.1)
  • Hide Members 属性可隐藏不规则层次结构中的空白成员。Hide Members property to hide blank members in ragged hierarchies. (CTP 1.1)(CTP 1.1)
  • 新的详细信息行最终用户操作可显示聚合信息的详细信息。New Detail Rows end-user action to Show Details for aggregated information. SELECTCOLUMNS 和 DETAILROWS 函数用于创建详细信息行表达式。SELECTCOLUMNS and DETAILROWS functions for creating Detail Rows expressions. (CTP 1.1)(CTP 1.1)
  • DAX IN 运算符可指定多个值。DAX IN operator for specifying multiple values. (CTP 1.1)(CTP 1.1)

有关详细信息,请参阅 SQL Server Analysis Services 2017 中的新增功能For more information, see What's new in SQL Server Analysis Services 2017.

SQL Server 2017 Reporting Services (SSRS)SQL Server 2017 Reporting Services (SSRS)

不可再通过 SQL Server 安装程序安装 SQL Server Reporting Services。SQL Server Reporting Services is no longer available to install through SQL Server setup. 请转到 Microsoft 下载中心以下载 Microsoft SQL Server 2017 Reporting ServicesGo 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.
  • 在最新版本的报表生成器和 SQL Server Data Tools 中,通过在查询设计器中拖放所需的字段,可针对支持的 SQL Server Analysis Services 表格数据模型创建本机 DAX 查询。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. 请参阅 Reporting Services 博客See the Reporting Services blog.
  • 为了实现现代应用程序开发以及自定义,SSRS 现在支持完全符合 OpenAPI 规范的 RESTful API。To enable development of modern applications and customization, SSRS now supports a fully OpenAPI compliant RESTful API. 现在可在 swaggerhub 上找到完整的 API 规范和文档。The full API specification and documentation can now be found on swaggerhub.

有关详细信息,请参阅 SQL Server Reporting Services (SSRS) 中的新增功能For more information, see What's new in SQL Server Reporting Services (SSRS).

SQL Server 2017 中的机器学习Machine Learning in SQL Server 2017

SQL Server R 服务已重命名为 SQL Server 机器学习服务,以反映对除 R 语言外的 Python 的支持。SQL Server R Services has been renamed SQL Server Machine Learning Services, to reflect support for Python in addition to the R language. 可以使用机器学习服务(数据库内)在 SQL Server 中运行 R 或 Python 脚本,或者安装 Microsoft 机器学习服务器(独立)来部署和使用不需要 SQL Server 的 R 和 Python 模型。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 开发人员现在可访问开放源代码生态系统中提供的大量 Python ML 和 AI 库,以及 Microsoft 的最新创新: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 - 此等效于 RevoScaleR 的 Python 包含用于线性回归和逻辑回归、决策树、提升树和随机林的并行算法,以及一组丰富的用于数据转换和数据移动、远程计算上下文和数据源的 API。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.
  • microsoftml - 这是一个先进的机器学习算法和 Python 绑定转换包,其中包含深层神经网络、快速决策树和决策树以及用于线性回归和逻辑回归的优化算法。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. 用户还可获得预定型模型,这些模型基于用于图像提取或情感分析的 ResNet 模型。You also get pre-trained models based on ResNet models that you can use for image extraction or sentiment analysis.
  • 使用 T-SQL 进行 Python 操作 - 使用存储过程 sp_execute_external_script 轻松部署 Python 代码。Python operationalization with T-SQL - Deploy Python code easily by using the stored procedure sp_execute_external_script. 通过将数据从 SQL 流式传输到 Python 进程并使用 MPI 环并行化来获得出色性能。Get great performance by streaming data from SQL to Python processes and using MPI ring parallelization.
  • SQL Server 计算上下文中的 Python - 数据科学家和开发人员可以从其开发环境远程执行 Python 代码,以便在不移动数据的情况下浏览数据和开发模型。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.
  • 本机计分 - Transact-SQL 中的 PREDICT 函数可用于执行 SQL Server 2017 的任何实例中的计分(即使未安装 R)。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. 只需使用一个受支持的 RevoScaleR 和 revoscalepy 算法训练该模型,并将该模型保存为全新的二进制紧凑格式。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.
  • 程序包管理 - T-SQL 现在支持 CREATE EXTERNAL LIBRARY 语句,使 DBA 更好地管理 R 程序包。Package management - T-SQL now supports the CREATE EXTERNAL LIBRARY statement, to give DBAs greater management over R packages. 使用角色控制专用或共享包访问权限,在数据库中存储 R 包并在用户之间进行共享。Use roles to control private or shared package access, store R packages in the database and share them among users.
  • 性能改进 - 存储过程 sp_execute_external_script 已经过优化,支持列存储数据的批处理模式执行。Performance improvements - The stored procedure sp_execute_external_script has been optimized to support batch mode execution for columnstore data.

有关详细信息,请参阅 SQL Server 机器学习服务中的新增功能For more information, see What's new in SQL Server Machine Learning Services.

后续步骤Next steps

info_tip 获取帮助Get Help

编辑内容 参与编辑 SQL 文档Contribute 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.

MS_Logo_X-Small