购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 SQL Server 2017的新增功能

SQL Server 2017跨出了重要的一步,力求通过将SQL Server的强大功能引入Linux、基于Linux的Docker容器和Windows使用户可以在SQL Server平台上选择开发语言、数据类型、本地开发或云端开发以及操作系统。

1.3.1 数据库引擎中的新增功能

数据库引擎中的新增功能比较多,下面介绍几种常见的新增功能。

(1)引入了新的DMF sys.dm_db_log_stats,用于公开摘要级别特性和有关事务日志文件的信息,对于监视事务日志的运行状况很有用。

(2)SQL Server现在提供图形数据库功能,可对更具意义的面向关系的数据建模,包括用于创建节点和边界表的新CREATE TABLE语法以及用于查询的关键字MATCH。

(3)新一代的查询处理改进,将对应用程序工作负荷的运行时状况采用优化策略。对于这款适应性查询处理功能系列初版,开发者进行了3项新的改进,分别是批处理模式自适应联接、批处理模式内存授予反馈以及针对多语句表值函数的交错执行。

(4)自动优化是一种数据库功能,提供对潜在查询性能问题的深入了解,提出建议解决方案并自动解决已标识的问题。SQL Server中的自动优化功能会在检测到潜在性能问题时发出通知,并允许应用更正措施或数据库引擎自动解决性能问题。

(5)针对内存优化表上的非群集索引生成的性能增强,显著优化了数据库恢复期间MEMORY_OPTIMIZED表的bwtree(非群集)索引重新生成的性能。这一改进明显缩短了使用非群集索引时的数据库恢复时间。

(6)sys.dm_os_sys_info有三个新列:socket_count、cores_per_socket、numa_node_count。这在VM中运行服务器时非常有用,因为超出NUMA会导致过度使用主机,最终会转化为性能问题。

(7)在sys.dm_db_file_space_usage中引入了新列modified_extent_page_count,用于跟踪每个数据库文件中的差异更改。使用新列modified_extent_page_count可生成智能备份解决方案,如果数据库中发生更改的页面的百分比低于阈值(假设为70%~80%),此解决方案将执行差异备份,否则将执行完整数据库备份。

(8)引入了新的dmv sys.dm_tran_version_store_space_usage,用于跟踪每个数据库的版本存储使用情况。新dmv可用于监视tempdb获取版本存储使用情况,借此可根据每个数据库的版本存储使用情况要求预先规划tempdb的大小,不会产生任何性能开销或在生产数据库上运行此dmv的开销。

(9)引入了新的DMF sys.dm_db_log_info,用于向DBCC LOGINFO公开VLF等信息,以监视和发出警报,并避免由于VLF数量、VLF大小而导致的潜在事务日志问题或客户遇到的shrinkfile问题。

(10)改进了高端服务器上小型数据库的备份性能。在SQL Server中执行数据库备份的同时,备份进程会要求对缓冲池执行多次迭代以消耗当前进行的I/O。因此,备份时间不只是数据库大小的函数,还是活动缓冲池大小的函数。

(11)SQL Server 2017对备份进行了优化,可避免多次迭代缓冲池,进而动态提高中小型数据库的备份性能。当备份页面和备份IO占用的时间超过缓冲池迭代时,数据库大小将增加,此时性能提高的幅度会降低。

(12)查询存储现在可以跟踪等待统计摘要信息。在查询存储中按查询跟踪等待统计类别可体验下一级别的性能故障排除,还能提供工作负荷性能及其瓶颈的详细信息,同时保留查询存储的主要优势。

1.3.2 集成服务中的新增功能

SQL Server 2017集成服务中最重要的新功能如下。

(1)Scale Out。跨多台辅助角色计算机更轻松地分发SSIS包执行,并从一台主计算机中管理执行和辅助角色。

(2)Linux上的Integration Services。在Linux计算机上运行SSIS包,可以提取、转换和加载数据。

(3)连接改进。使用更新后的OData组件连接到Microsoft Dynamics AX Online和Microsoft Dynamics CRM Online的OData源。

1.3.3 分析服务中的新增功能

SQL Server 2017分析服务中的功能引入了许多可用于表格模型的增强功能,主要包括以下几项:

(1)作为Analysis Services默认安装选项的表格模式。

(2)用于保护表格模型元数据的对象级安全性。

(3)可基于日期字段轻松创建关系的日期关系。

(4)新的“获取数据”(Power Query)数据源,以及现有的DirectQuery数据源支持M查询。

(5)用于SSDT的DAX编辑器。

(6)编码提示,一种用于优化大型内存中表格模型的数据刷新的高级功能。

(7)支持针对表格模型的1400兼容级别(若要新建或将现有表格模型项目升级到1400兼容级别)。

(8)1400兼容级别的表格模型的新式获取数据体验。

(9)Hide Members属性可隐藏不规则层次结构中的空白成员。

(10)在新的详细信息行,最终用户操作可显示聚合信息的详细信息。SELECTCOLUMNS和DETAILROWS函数用于创建详细信息行表达式。

(11)DAX IN运算符可指定多个值。

1.3.4 报表服务中的新增功能

SQL Server 2017中的报表服务不能通过SQL Server安装程序来安装,不过用户可以到Microsoft下载中心下载Microsoft SQL Server 2017 Reporting Services。该服务的新增功能如下:

(1)在SQL Server 2017的报表服务中,注释可用于报表,以增加视角并与他人协作,还可包含带有批注的附件。

(2)在最新版本的报表生成器和SQL Server Data Tools中,通过在查询设计器中拖放所需的字段,可针对支持的SQL Server Analysis Services表格数据模型创建本机DAX查询。

(3)为了实现现代应用程序开发以及自定义,SSRS现在支持完全符合OpenAPI规范的RESTful API。现在可在swaggerhub上找到完整的API规范和文档。

1.3.5 机器学习中的新增功能

SQL Server R服务已重命名为SQL Server机器学习服务,该服务除了支持R语言外,还支持Python语言。可以使用机器学习服务(数据库内)在SQL Server中运行R或Python脚本,或者安装Microsoft机器学习服务器(独立)来部署和使用不需要SQL Server的R和Python模型。

SQL Server开发人员现在可访问开放源代码生态系统中提供的大量Python ML和AI库,以及Microsoft的最新功能。机器学习中的新增功能如下:

(1)Revoscalepy:此功能等效于RevoScaleR的Python包含用于线性回归和逻辑回归、决策树、提升树和随机林的并行算法,以及一组丰富的用于数据转换和数据移动、远程计算上下文和数据源的API。

(2)Microsoftml:这是一个先进的机器学习算法和Python绑定转换包,其中包含深层神经网络、快速决策树和决策树,以及用于线性回归和逻辑回归的优化算法。用户还可获得预定型模型,这些模型基于用于图像提取或情感分析的ResNet模型。

(3)使用T-SQL(Transact-SQL)进行Python操作:使用存储过程sp_execute_external_script轻松部署Python代码。通过将数据从SQL流式传输到Python进程并使用MPI环并行化来获得出色性能。

(4)SQL Server计算上下文中的Python:数据科学家和开发人员可以从其开发环境远程执行Python代码,以便在不移动数据的情况下浏览数据和开发模型。

(5)本机计分:T-SQL中的PREDICT函数可用于执行SQL Server 2017的任何实例中的计分(即使未安装R)。只需使用一个受支持的RevoScaleR和revoscalepy算法训练该模型,并将该模型保存为全新的二进制紧凑格式即可。

(6)程序包管理:T-SQL现在支持CREATE EXTERNAL LIBRARY语句,使DBA更好地管理R程序包。使用角色控制专用或共享包访问权限,在数据库中存储R包并在用户之间进行共享。

(7)性能改进:存储过程sp_execute_external_script已经过优化,支持列存储数据的批处理模式执行。

1.3.6 主数据服务中的新增功能

从SQL Server 2012、SQL Server 2014和SQL Server 2016升级到SQL Server 2017 Master Data Services时,主数据服务中新增了多个功能,具体介绍如下:

(1)可以在Web应用程序的“资源管理器”页中查看实体、集合和层次结构的排序列表。

(2)提升了使用暂存存储过程暂存数百万条记录时的性能。

(3)提升了在“管理组”页中展开“实体”文件夹以分配模型权限时的性能。“管理组”页位于Web应用程序的“安全性”部分中。 rKdofQ46H2K2wD0dd7VcY8umjHuajx9fcZIovOWOY+cBEG7OTc/dAtQbRy7OFlgi

点击中间区域
呼出菜单
上一章
目录
下一章
×