1.智能查询处理增强
它们是什么:这是一组增强功能,它们会影响Query Optimizer的行为,Query Optimizer是SQL Server中生成查询执行计划的组件。这包括行存储表的动态内存授予,表变量延迟编译,行存储上的批处理模式等。
为何如此重要:这些都是Query Optimizer的幕后改进,将提高所有适用查询的计划质量。这意味着升级后总体性能会更好。
采用费用:在开发实例上测试问题查询以验证改进。

2.加速数据库恢复(ADR)
含义:这是SQL Server在事务回滚,实例重新启动或可用性组故障转移的情况下执行数据库恢复的全新方法。SQL团队重新设计了恢复的工作方式,并显着减少了此过程所花费的时间,而不是有时花费不可预测的时间等待数据库恢复,而花费的时间少于期望的时间。
为何如此重要:必须等待生产SQL Server实例回滚长事务或在大型数据操作期间发生不幸的崩溃的任何人都知道,仅等待恢复完成才能获得痛苦回到工作。ADR将为SLA和RTO带来全方位的好处。
采用费用:没有。

3. Always Encrypted With Secure Enclaves
这是什么:这是AlwaysEncrypted的下一个版本,它是SQL Server 2016中引入的加密技术,它允许透明的列加密,而无需让管理员访问解密密钥。第一种实现的缺点是,由于SQL Server无法解密数据,因此SQL端的查询无法对实际列值进行任何计算或操作。使用新的Secure Enclaves技术,SQL Server现在可以安全地加密一部分内存,以便在这些加密列上执行计算,而不会将未加密的值公开给其余的过程(或管理员)。
为什么如此重要:安全性和性能也同样重要。数据库服务器最适合处理大量数据,因此能够始终加密并进行复杂操作是两全其美的。
采用成本:如果已经在使用AlwaysEncrypted,则除了重新配置和重新加密目标列之外,不需要进行任何大的更改。如果不使用AlwaysEncrypted,那么现在是研究,测试此功能并查看其是否适合安全要求的好时机。

4.内存优化的Tempdb元数据
这是什么: SQL团队已对tempdb代码进行了优化,以便某些可能成为tempdb繁重系统瓶颈的元数据可以完全依赖于内存并针对RAM访问进行了优化。
为何如此重要:使用大量tempdb的大容量,大规模环境遇到了这种瓶颈。通常,这需要某种形式的重构以减轻对tempdb的使用。有了此功能,就可以使元数据位于内存中并得到最佳访问。这样可以摆脱这些问题。
使用成本:激活该功能并验证是否有改进。
5.查询商店自定义捕获策略
这是什么:查询存储是一种出色的性能调整和趋势分析工具,可用于在SQL Server数据库内部存储,度量和修复计划回归。但是,使用它的一个缺点是有时它可能存储过多的信息,即使对于DBA可能不感兴趣的查询或作为系统实用程序或监视工具一部分的查询也是如此。自定义策略的这一新功能意味着您可以根据查询的执行统计信息(例如查询运行的频率,消耗的CPU等)来精确调整应跟踪的查询。
为什么如此重要:查询存储是一个很棒的功能,但是如果它消耗大量资源并且过于肿以至于不能对DBA起作用,那么它就不是那么有用。此功能允许进行微调,使其始终高效,精简且易于使用,以解决计划问题。
采用成本:需要查看要用作查询存储过滤器的执行条件类型。实现它只是使用新语法的问题。
6.详细截断警告
这是什么:每个T-SQL开发人员都知道遇到截断错误的痛苦和磨难。有些地方的值不适合新的数据类型,这是根本无法获得任何详细信息。这是一个反复试验的问题,直到最终确定!
为何重要:因为这些新消息提供了数据截断问题的所有详细信息,可以修复它并继续工作!
采用成本:无。
7.可恢复索引构建
这是什么: SQL Server现在可以停止正在进行的索引重建操作,保留到目前为止已完成的工作,并在其他某个时间点恢复。
为何如此重要:对于某些人而言,仍然需要重建索引,而且索引消耗大量资源,即使使用ONLINE选项,他们仍然必须处理维护窗口的实际情况。但是,如果在维护时段内时间用完了怎么办?以前,需要取消重建,等待可能长的恢复,然后从头开始。这项新功能消除了这些问题!
采用成本:更改索引脚本以使用新的RESUMABLE选项。。
8.使用Polybase进行数据虚拟化
这是什么: Polybase是SQL Server的模块,它允许快速和并行的T-SQL查询,这些查询可以进入外部存储(通常是本地HDFS),并将结果无缝地作为T-SQL结果集提供。通过SQL 2019,Polybase得以扩展以支持Oracle,Teradata,MongoDb等。
为何重要:数据集成始终是一个挑战,而随着数据集的不断增长,性能可能成为问题。尝试通过链接服务器查询和移动大量数据一直很痛苦,因为它并未真正针对此工作进行优化。Polybase通过利用T-SQL技能并同时将性能作为重中之重,使SQL Server成为组织的数据中心。
采用费用: 这肯定需要一些工作,因为需要多个Polybase节点,设置与其他数据库平台的连接,然后测试这些查询的性能。

9.上次实际执行计划DMF
这是什么:这是一个名为sys.dm_exec_query_plan_stats的新动态管理功能,如果启用了轻量级查询分析功能,它将跟踪查询的最后一个ACTUAL执行计划。
为何如此重要:以前,获取实际的查询计划需要Profiler跟踪,XEvents跟踪或对临时DMF的调用,这些查询在执行完查询后会丢失其内容。在任何类型的生产性能问题场景中,执行这些操作的最简单或最便捷的机制并不是最关键的一步。
使用成本:启用设置,使用DMF(以及另一个要使用的DMF!)。
10.多项内部绩效改进
这是什么: SQL团队针对此版本进行了多项内部性能改进。索引具有新的索引优化功能,具有顺序键,改进了临时表重新编译,改进了间接检查点可伸缩性等。
为何如此重要:这些都是“即开即用”的性能改进,可以优化常见的SQL Server流程,而客户端则无需付出任何努力即可从中受益。




