SQL Server是微软的主要企业数据库平台。但在今天这个快速发布和持续更新的世界中,新的SQL Server 2022发布似乎已经等待了很长时间。但它包括了一些很棒的新功能。SQL Server 2019是SQL Server的最后一个重大发布版本。随着每个版本的发布,微软继续优化核心SQL Server引擎。如今,大多数SQL Server创新都始于Azure云,然后再传播到SQL Server的本地版本。让我们更详细地看一下即将推出的SQL Server 2022版本及其新功能。
SQL Server 2022新功能
SQL Server 2022的新功能包括:
- 参数敏感计划优化
- 查询存储增强
- 连接到Azure SQL托管实例
- 包含可用性组
- Azure Synapse连接到SQL
- 多写复制
- Azure活动目录身份验证
- Azure Purview集成
- SQL Server分类账
- AWS S3存储集成
现在让我们逐一详细看一下。
参数敏感的计划优化
这是一种新的智能查询处理增强功能,旨在提高现有工作负载的性能,而无需更改应用程序代码。在此之前,SQL Server对于每个存储过程缓存了一个单一的计划。这基于一组参数,并被称为参数嗅探。然而,一些带参数的查询对所使用的输入参数值非常敏感。生成的计划并不适合这些参数可能具有的所有可能值。新的参数敏感的计划优化为单个带参数查询在计划缓存中缓存了多个活跃执行计划。这些缓存的执行计划将根据提供的运行时参数值来容纳不同的数据大小。要启用PSP优化,您需要将数据库的兼容性级别设置为160。
查询存储增强功能
查询存储是一个性能功能,可帮助您更好地跟踪性能历史并解决查询计划和性能问题。在以前的版本中,您需要手动启用查询存储。使用 SQL Server 2022,查询存储现在将默认启用以提供改进的查询智能和洞察力。查询存储现在还将支持可用性组只读副本,为只读工作负载提供更好的性能分析。您还可以使用查询存储提示来优化查询计划和执行查询,而无需更改应用程序代码。以前,查询存储提示仅在 Azure SQL 数据库和 Azure SQL 托管实例上可用。
链接到 Azure SQL 托管实例
就像您可能猜到的那样,连接到 Azure SQL 托管实例是一个混合云功能,旨在增强可用性。它在 SQL Server 2022 和Azure SQL 托管实例中的链接功能之间提供几乎实时的数据复制。它使您能够将工作负载移至 Azure 上的只读辅助副本,从而利用云性能和规模来完成这些工作负载。

您还可以使用它来以最小停机时间迁移数据库。 链接到Azure托管实例 也支持SQL Server 2019企业版和开发人员版,以及SQL Server 2016企业版、开发人员版和标准版。此功能基于分布式 可用性组 的技术。但是,它不需要可用性组的相关设置和配置。目前,从SQL Server复制用户数据库到Azure SQL托管实例是单向的。它只能用于用户数据库。https://youtu.be/ncF-zFzBDAY 尽管您可以将迁移的数据库还原回本地部署的SQL Server 2022,但无法将SQL托管实例中的用户数据库复制回SQL Server。 微软已经声明,Azure SQL托管实例的链接功能的双向灾难恢复(DR)故障转移能力的正式可用将在SQL Server 2022的正式可用之后发布。
包含的可用性组
另一个可用性特性,包容性可用性组解决了以前版本的可用性组(AGs)中发现的限制。AGs由一个或多个用户数据库组成,旨在作为一个协调的群组运行,这些数据库被复制到集群中的不同节点。当托管主要副本的节点发生故障时,AG中的数据库将作为一个单元移动到AG中的另一个副本节点。之前的AG版本不包括其他对象,如用户、登录和权限。这要求管理员手动确保这些对象在AG中的所有副本实例中都复制。包容性可用性组扩展了将要复制的数据库组的概念,包括主数据库和msdb数据库的相关部分。包容性AG环境包括会影响应用程序的设置。依靠它们,如用户、登录、权限和SQL代理作业在AG级别使用可用性组内的专门包容性系统数据库。像用户数据库一样,这些对象将自动在AG中的副本之间保持一致。这消除了管理员手动在不同的AG副本之间进行创建和更新这些对象的需要。
Azure Synapse Link for SQL
Azure Synapse Link for SQL是一项新的分析功能,为 SQL Server 关系数据提供了ETL-free(抽取、转换、加载)近实时分析和报告。它捕获 SQL Server 2022 数据库的更改,并将其馈送到 Azure Synapse Analytics 进行实时分析。SQL Server 2022 关系数据库与 Azure Synapse Analytics 专用 SQL 池之间无缝集成。

它通过持续复制数据从 Azure SQL 数据库或 SQL Server 2022 到 Azure Synapse Analytics。这种集成使您能够在运营数据上运行分析、商业智能和机器学习场景,对源数据库影响很小,并且不需要任何ETL过程。
多写复制
SQL Server 2022的多写复制自动化了复制冲突解决的最后写入者胜出规则。在较早版本的SQL Server中,当不同副本写入的数据发生冲突时,冲突需要手动解决。多写复制通过实施最后写入者胜出规则解决了这个问题。如果在副本之间发生冲突,最后写入将优先,并写入所有副本。多写复制使用记录在UTC时间中的时间戳以避免时区问题。
Azure活动目录身份验证
SQL Server先前版本要求您使用Windows Server活动目录(AD)或SQL Server身份验证 – 即使您在混合Azure环境中使用SQL Server。使用SQL Server 2022,您现在可以为您的SQL Server 2022连接使用Azure AD身份验证。
Azure Purview集成
Azure Purview是在Azure上运行的统一数据治理和管理服务。SQL Server 2022与Microsoft Purview集成,可以更好地发现数据,帮助您打破数据孤岛,并为访问控制提供策略管理。Purview可以使用内置和自定义分类器,以及Microsoft Information Protection敏感性标签对数据进行分类。
SQL Server Ledger
SQL Ledger是另一个功能,最初在Azure SQL数据库上首次引入,后来传递到SQL Server 2022。SQL Ledger使用区块链来验证对数据库所做更改。它使您能够维护数据的不可变记录,通过加密方式将数据及其更改在区块链结构中进行链接。它显示任何数据篡改,并使数据能够验证。

Ledger可以帮助客户简化审计流程,向审计人员提供数据完整性的加密证明,消除手动取证的需要。Ledger还有助于保护数据免受任何攻击者或高权限用户的侵害,包括数据库管理员(DBA)、系统管理员和云管理员。如果数据库中的行被更新,它的先前值将被保留并受到保护,存储在历史表中。Ledger提供了随时间推移对数据库执行的所有更改的历史记录。
AWS S3存储整合
SQL Server 2022提供了新的对象存储整合功能,使您可以将SQL Server与支持AWS S3的对象存储以及Azure Storage整合。SQL Server新增了一个S3连接器。它使用S3 REST API连接到任何提供S3兼容对象存储的服务提供商。SQL Server 2022通过使用REST API为新的S3连接器添加了对现有BACKUP/RESTORE TO/FROM URL语法的支持。有许多云服务提供商提供S3存储,包括亚马逊、Cloudian、戴尔、日立、HPE、Netapp、Nutanix、Pure Storage、Red Hat等。
Linux上的SQL Server 2022
从SQL Server 2017开始,微软发布了适用于Linux的SQL Server版本。SQL Server on Linux基本上提供了与Windows版本的SQL Server相同的核心关系数据库引擎。它可以在Red Hat、SUSE和Ubuntu等最流行的Linux发行版上运行。两个版本之间的关系引擎和性能特性基本上是相当的。如果您想在容器中或者使用Kubernetes运行SQL Server,那么您肯定需要使用Linux版本。尽管随着每个新版本的发布,Windows版本和Linux版本之间的差异仍在减少,但在SQL Server 2022 for Linux中仍有相当多的功能不包含在内。包括本文中介绍的一些新功能。SQL Server 2022中不包含的主要功能有:
- Azure Arc代理
- Azure Synapse Link
- Microsoft Purview集成
- 合并复制
- Stretch DB
- 连接到SQL Server以外的数据源的链接服务器
- 系统扩展存储过程(xp_cmdshell等)
- FileTable,FILESTREAM
- 带有EXTERNAL_ACCESS或UNSAFE权限集的CLR程序集
- 缓冲池扩展
- SQL Server Agent子系统:CmdExec,PowerShell,Queue Reader,SSIS,SSAS,SSRS
- 警报
- 数据库镜像
- Windows 集成身份验证用于链接服务器
- Windows 集成身份验证用于可用性组(AG)端点
- Azure Active Directory 身份验证
- 带有安全隔离区的始终加密
- StreamInsight
- 分析服务
- 报告服务
- 数据质量服务
- 主数据服务
SQL Server 2022 版本
SQL Server 2022 将继续遵循与之前几个版本的 SQL Server 相同的 SQL Server 版本。
- 企业版 – 专为高端数据中心设计,企业版为关键任务工作负载提供最高水平的性能和可伸缩性。它支持 CPU 和 RAM 的操作系统最大限制。完全支持八节点可用性组。
- 标准版 – 标准版为部门和小型组织提供基本数据管理。限制为 4 个插槽或 24 个核心和 128 GB RAM。提供对两节点基本可用性组的支持。
- Web 版 – 专为 Web 托管提供商设计,Web 版为小型到大型 Web 属性提供可伸缩性、价格实惠性和可管理性。限制为 4 个插槽或 16 个核心和 64 GB RAM。
- 开发人员 – 旨在使开发人员能够使用 SQL Server 作为后端数据库构建应用程序。它包含企业版的所有功能,但仅被许可用作开发和测试系统。不得用于生产工作负载。
- Express – 入门级免费数据库,Express 版本旨在用作学习工具。适用于构建桌面和小型服务器应用程序。限制为 1 个插槽或 4 核心、1410 MB RAM,最大数据库大小为 10 GB。
SQL Server 2022 将继续在 Windows 和 Linux 上提供。相同版本在 Windows 和 Linux 中均受支持。但是,Linux 版本中有一些功能不可用。在上面的功能部分列出了两个平台中可用功能之间的主要区别。
体验 SQL Server 2022
截至撰写本文时,SQL Server 2022 仍处于预览阶段。但微软已宣布将在 2022 年下半年正式推出。过去,微软通常会在 PASS Summit 大会期间宣布 SQL Server 的新版本。今年的大会定于 11 月举行。如果想要体验 SQL Server 2022,可以从 介绍 SQL Server 2022 下载 SQL Server 2022 预览版。在 Docker Hub 上的 SQL Server Linux 容器映像中有一个 Ubuntu 容器。你也可以免费试用在 Azure 上的 SQL Server,提供 180 天试用期,访问 SQL Server 2022 或 Windows Server 2022。要 安装 SQL Server 2022,请查看我们在 Petri 上的指南!你可以在微软的网站上找到关于 SQL Server 2022 的所有 新功能的完整列表。
相关文章: