2022年11月16日,SQL Server 2022 正式发布,SQL Server 2022 是迄今为止支持 Azure 最多的版本,具有持续的性能、安全性和可用性创新。
探索 SQL Server 2022 功能
- 通过 Azure 实现业务连续性
通过 Azure SQL 托管实例中的链接功能,帮助确保云中完全托管灾难恢复的正常运行时间。持续将数据复制到云端或从云端复制数据
- 对本地运营数据进行无缝分析
通过打破运营商店和分析商店之间的壁垒,近乎实时地推动洞察力。通过 Azure Synapse Link 在云中使用 Spark 和 SQL 运行时分析所有数据。
- 整个数据资产的可见性
使用 Microsoft Purview 管理和管理您的整个数据资产以克服数据孤岛。
- 过去 10 年最安全的数据库
使用在过去 10 年中被评为最不容易受到攻击的数据库来实现您的安全性和合规性目标。1使用不可变分类帐帮助保护数据免遭篡改。
- 行业领先的性能和可用性
利用性能和可用性来加快查询速度并帮助确保业务连续性。无需更改代码即可加速查询性能和调整。为跨多个位置的用户保持多写入环境平稳运行。
SQL Server 2022 (16.x) 中的新增功能
SQL Server 2022 (16.x) 基于以前的版本构建,将 SQL Server 发展为一个平台,让您可以选择开发语言、数据类型、本地或云环境以及操作系统。
本文总结了 SQL Server 2022 (16.x) 的新增功能和增强功能。
获取 SQL Server 2022 (16.x)
获取 SQL Server 2022 评估版(https://go.microsoft.com/fwlink/?linkid=2162126)。内部版本号:16.0.1000.6。
有关详细信息和已知问题,请参阅SQL Server 2022 (16.x) 发行说明(https://learn.microsoft.com/en-us/sql/sql-server/sql-server-2022-release-notes?view=sql-server-ver16)。
为获得 SQL Server 2022 (16.x) 的最佳体验,请使用最新的工具(https://learn.microsoft.com/en-us/sql/tools/overview-sql-tools?view=sql-server-ver16)。
特色亮点
以下部分确定了我们在 SQL Server 2022 (16.x) 中引入的改进功能。
- 分析
- 可用性
- 安全
- 表现
- 查询存储和智能查询处理
- 管理
- 平台
- 语言
分析
新功能或更新 | 细节 |
用于 SQL 的 Azure Synapse 链接 | 在 SQL Server 2022 (16.x) 中对运营数据进行近乎实时的分析。通过 SQL Server 2022 (16.x) 中的运营存储与 Azure Synapse Analytics 专用 SQL 池之间的无缝集成,Azure Synapse Link for SQL 使你能够对运营数据运行分析、商业智能和机器学习方案,同时对源的影响最小具有新的更改源技术的数据库。 有关详细信息,请参阅什么是 Azure Synapse Link for SQL?- Azure 突触分析。 |
对象存储集成 | SQL Server 2022 (16.x) 向数据平台引入了新的对象存储集成,使您能够将 SQL Server 与兼容 S3 的对象存储以及 Azure 存储集成。第一个是备份到 URL,第二个是数据湖虚拟化。 Data Lake Virtualization 将PolyBase 与 S3 兼容的对象存储集成在一起,增加了对使用 T-SQL 查询 parquet 文件的支持。 |
数据虚拟化 | 从SQL Server查询不同类型数据源上不同类型的数据。 |
可用性
新功能或更新 | 细节 |
链接到 Azure SQL 托管实例 | 将 SQL Server 实例连接到 Azure SQL 托管实例。请参阅Azure SQL 托管实例的链接功能。 |
包含的可用性组 | 创建一个 Always On 可用性组: - 除了实例级别之外,还可以在可用性组级别管理其自己的元数据对象(用户、登录名、权限、SQL 代理作业等)。 - 包括可用性组内专门包含的系统数据库。有关详细信息,请参阅什么是包含的可用性组? |
分布式可用性组 | - 现在使用多个 TCP 连接以更好地利用具有长 tcp 延迟的远程链接的网络带宽利用率。 |
改进的备份元数据 | |
安全
新功能或更新 | 细节 |
适用于云集成的 Microsoft Defender | 使用 Defender for SQL 计划保护您的 SQL 服务器。Defender for SQL 计划要求启用适用于 Azure 的 SQL Server 扩展,并包含用于发现和缓解潜在数据库漏洞以及检测可能表明对数据库构成威胁的异常活动的功能。详细了解Defender for SQL 如何在任何地方保护您的整个数据库资产:本地、混合和多云环境。 |
微软权限整合 | 将 Microsoft Purview 访问策略应用于在 Azure Arc 和 Microsoft Purview 数据使用管理中注册的任何 SQL Server 实例。 - 新引入的SQL Performance Monitor和SQL Security Auditor角色符合使用 Microsoft Purview 访问策略的最小权限原则。 有关详细信息,请查看数据所有者为支持 Azure Arc 的 SQL Server 提供访问权限。 |
账本 | 分类帐功能在您的数据库中提供防篡改功能。您可以通过加密方式向其他方(例如审计员或其他业务方)证明您的数据未被篡改。 |
Azure 活动目录身份验证 | 使用Azure Active Directory (Azure AD) 身份验证连接到 SQL Server。 |
始终使用安全飞地进行加密 | 支持 JOIN、GROUP BY 和 ORDER BY,以及在使用飞地的机密查询中使用 UTF-8 排序规则的文本列。改进的性能。请参阅使用安全飞地始终加密。 |
访问控制:权限 | 新的细粒度权限提高了对最小特权原则的遵守 阅读此处以深入解释为最小特权原则和外部策略改进的 SQL 权限系统 |
访问控制:服务器级角色 | 新的内置服务器级角色允许对适用于整个 SQL Server 实例的管理任务进行最低权限访问 |
动态数据屏蔽 | 动态数据屏蔽的精细 UNMASK 权限。 |
支持 PFX 证书和其他加密改进 | 新支持导入和导出 PFX 文件格式的 证书和私钥。能够将主密钥备份和还原到 Azure Blob 存储。SQL Server 生成的证书现在具有 3072 位的默认 RSA 密钥大小。 添加了 BACKUP SYMMETRIC KEY和RESTORE SYMMETRIC KEY。 另请参阅备份证书 (Transact-SQL)。 |
支持MS-TDS 8.0协议 | 新的 MS-TDS 协议迭代。请参阅TDS 8.0 和 TLS 1.3 支持: - 强制加密 - 将 MS-TDS 与 HTTPS 对齐,使其可由网络设备管理以提高安全性 - 删除 MS-TDS / TLS 自定义交错并启用 TLS 1.3 和后续 TLS 协议版本。 |
表现
新功能或更新 | 细节 |
系统页面闩锁并发增强 | 全局分配映射 (GAM) 页面和共享全局分配映射 (SGAM) 页面的并发更新减少了分配/取消分配数据页面和范围时的页面闩锁争用。这些增强功能适用于所有用户数据库,特别有利于 tempdb 繁重的工作负载。 |
缓冲池并行扫描 | 通过利用多个 CPU 内核提高大内存机器上缓冲池扫描操作的性能。详细了解触发缓冲池扫描的操作可能在大内存计算机上运行缓慢。 |
有序聚集列存储索引 | 有序聚集列存储索引 (CCI) 在索引构建器将数据压缩到索引段之前对内存中的现有数据进行排序。这有可能更有效地消除段,从而随着从磁盘读取的段数减少而获得更好的性能。有关详细信息,请参阅CREATE COLUMNSTORE INDEX (Transact-SQL)和列存储索引中的新增功能。 也可用于 Synapse Analytics。请参阅查询性能。 |
改进的列存储段消除 | 所有列存储索引都受益于按数据类型增强的段消除。数据类型的选择可能会对基于列存储索引查询的公共筛选器谓词的查询性能产生重大影响。该段剔除适用于数值、日期、时间数据类型,以及小数位数小于等于二的datetimeoffset数据类型。从 SQL Server 2022 (16.x) 开始,段消除功能扩展到字符串、二进制、guid 数据类型和大于 2 的标度的 datetimeoffset 数据类型。 |
内存中 OLTP 管理 | 改进大内存服务器中的内存管理,以减少内存不足的情况。 |
虚拟日志文件增长 | 在以前版本的 SQL Server 中,如果下一次增长超过当前日志大小的 1/8,并且增长小于 64MB,则会创建四个 VLF。在 SQL Server 2022 (16.x) 中,此行为略有不同。如果增长小于或等于 64 MB 且大于当前日志大小的 1/8,则仅创建一个 VLF。有关 VLF 增长的更多信息,请参阅虚拟日志文件 (VLF)。 |
线程管理 | - - 并行重做批量重做 - 日志记录的重做在一个闩锁下进行批处理,提高了速度。这改进了恢复、追赶重做和崩溃恢复重做。 |
减少缓冲池 I/O 提升 | 减少了从存储填充缓冲池时将单个页面提升为八个页面的事件,从而导致不必要的 I/O。通过预读机制可以更有效地填充缓冲池。此更改在 SQL Server 2022(所有版本)中引入,并包含在 Azure SQL 数据库和 Azure SQL 托管实例中。 |
增强的自旋锁算法 | 自旋锁是多线程引擎内部一致性的重要组成部分。对数据库引擎的内部调整使自旋锁更加高效。此更改在 SQL Server 2022(所有版本)中引入,并包含在 Azure SQL 数据库和 Azure SQL 托管实例中。 |
改进的虚拟日志文件 (VLF) 算法 | 虚拟文件日志 (VLF) 是物理事务日志的抽象。拥有大量基于日志增长的小型 VLF 会影响恢复等操作的性能。我们更改了在某些日志增长场景中创建的 VLF 文件数量的算法。要详细了解我们如何在 SQL Server 2022 (16.x) 中更改此算法,请参阅虚拟日志文件 (VLF)。此更改在 SQL Server 2022(所有版本)中引入并包含在 Azure SQL 数据库中。 |
事务日志文件增长事件的即时文件初始化 | 通常,事务日志文件无法从即时文件初始化 (IFI) 中受益。从 SQL Server 2022 (16.x)(所有版本)和 Azure SQL 数据库开始,即时文件初始化可以使高达 64 MB 的事务日志增长事件受益。新数据库的默认自动增长大小增量为 64 MB。大于 64 MB 的事务日志文件自动增长事件无法从即时文件初始化中受益。 |
查询存储和智能查询处理
智能查询处理 (IQP)功能系列包括以最少的实施工作提高现有工作负载性能的功能。
新功能或更新 | 细节 |
辅助副本上的查询存储 | 辅助副本上的查询存储在辅助副本工作负载上启用可用于主副本的相同查询存储功能。在Query Store for secondary replicas中了解更多信息。 有关详细信息,请参阅本文后面的查询存储改进。 |
查询存储提示 | 查询存储提示利用查询存储提供一种无需更改应用程序代码即可制定查询计划的方法。查询存储提示以前仅在 Azure SQL 数据库和 Azure SQL 托管实例上可用,现在可在 SQL Server 2022 (16.x) 中使用。需要启用查询存储并处于“读写”模式。 |
内存授予反馈 | 内存授予反馈根据过去的性能调整为查询分配的内存大小。SQL Server 2022 (16.x) 引入了 Percentile和 Persistence 模式内存授予反馈。需要启用查询存储。 -持久性:允许将给定缓存计划的内存授予反馈持久保存在查询存储中的功能,以便在缓存逐出后可以重用反馈。持久性有利于内存授予反馈以及新的 DOP 和 CE 反馈功能。 -百分位数:一种新算法提高了具有广泛振荡内存需求的查询的性能,它使用来自多个先前查询执行的内存授予信息,而不仅仅是来自紧接在前的查询执行的内存授予信息。需要启用查询存储。从 SQL Server 2022 CTP 2.1 开始,默认情况下会为新创建的数据库启用查询存储。 |
参数敏感计划优化 | 为单个参数化语句自动启用多个活动缓存计划。缓存的执行计划根据客户提供的运行时参数值适应不同的数据大小。有关详细信息,请参阅参数敏感计划优化。 |
并行度 (DOP) 反馈 | 一个新的数据库范围配置选项 从 RC 0 开始,每个查询重新编译 SQL Server 都会将使用现有反馈的查询的运行时统计信息与使用现有反馈的先前编译的运行时统计信息进行比较。如果性能不一样或更好,我们将清除所有 DOP 反馈并从编译的 DOP 开始触发对查询的重新分析。 请参阅并行度 (DOP) 反馈。 |
基数估计反馈 | 当这些问题是由不正确的估计模型假设引起时,识别并纠正重复查询的次优查询执行计划。需要启用查询存储并处于“读写”模式。请参阅基数估计 (CE) 反馈。 |
优化计划强制 | 使用编译重播通过预缓存不可重复的计划编译步骤来改进强制计划生成的编译时间。在使用查询存储强制执行优化计划中了解更多信息。 |
管理
新功能或更新 | 细节 |
SQL Server 的 Azure 扩展的集成设置体验 | 在设置时为 SQL Server 安装 Azure 扩展。Azure 集成功能所需。有关详细信息,请参阅: -从命令提示符 安装 SQL Server -从安装向导(安装程序)安装 SQL Server。 |
管理 SQL Server 的 Azure 扩展 | 使用 SQL Server 配置管理器来管理 SQL Server 服务的 Azure 扩展。创建支持 Azure Arc 的 SQL Server 实例以及其他 Azure 连接功能时需要。请参阅SQL Server 配置管理器。 |
最大服务器内存计算 | 在安装过程中,SQL 安装程序会为最大服务器内存推荐一个值,以与记录的建议保持一致。SQL Server 2022 (16.x) 中的基础计算有所不同,以反映推荐的服务器内存配置选项。 |
加速数据库恢复 (ADR) 改进 | 有多项改进可以解决持久版本存储 (PVS) 存储并提高整体可扩展性。SQL Server 2022 (16.x) 针对每个数据库而不是每个实例实施持久版本存储清洁线程,并且 PVS 页面跟踪器的内存占用量已得到改进。还有一些 ADR 效率改进,例如有助于清理过程更有效地工作的并发改进。ADR 清除以前由于锁定而无法清除的页面。 请参阅SQL Server 2022 (16.x) 中的 ADR 改进。 |
改进的快照备份支持 | 添加 Transact-SQL 支持,无需 VDI 客户端即可冻结和解冻 I/O。创建 Transact-SQL 快照备份。 |
收缩数据库 WAIT_AT_LOW_PRIORITY | 在以前的版本中,缩小数据库和数据库文件以回收空间通常会导致并发问题。SQL Server 2022 (16.x) 添加 WAIT_AT_LOW_PRIORITY 作为收缩操作(DBCC SHRINKDATABASE 和 DBCC SHRINKFILE)的附加选项。当您指定 WAIT_AT_LOW_PRIORITY 时,需要 Sch-S 或 Sch-M 锁的新查询不会被等待收缩操作阻塞,直到收缩操作停止等待并开始执行。请参阅收缩数据库和收缩文件。 |
XML 压缩 | XML 压缩提供了一种压缩 XML 列和索引的行外 XML 数据的方法,从而提高了容量需求。有关详细信息,请参阅CREATE TABLE (Transact-SQL)和CREATE INDEX (Transact-SQL)。 |
异步自动更新统计并发 | 如果启用 ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY database-scoped configuration ,则可以避免使用异步统计更新的潜在并发问题。 |
备份和恢复到 S3 兼容的对象存储 | SQL Server 2022 (16.x)通过添加对使用 REST API 的新 S3 连接器的支持来扩展 // |
平台
新功能或更新 | 细节 |
SQL Server Native Client (SNAC) 已被删除 | SQL Server Native Client(通常缩写为 SNAC)已从 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中删除。不建议将 SQL Server Native Client(SQLNCLI 或 SQLNCLI11)和旧版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 用于新开发。切换到适用于 SQL Server 的新Microsoft OLE DB 驱动程序 (MSOLEDBSQL)或适用于 SQL Server 的最新Microsoft ODBC 驱动程序。 |
直接写入的混合缓冲池 | 减少 |
集成加速和卸载 | SQL Server 2022 (16.x) 利用英特尔等合作伙伴的加速技术来提供扩展功能。在发布时,英特尔® QuickAssist 技术 (QAT) 提供备份压缩和硬件卸载。 |
改进的优化 | SQL Server 2022 (16.x) 利用新的硬件功能,包括高级矢量扩展 (AVX) 512 扩展来改进批处理模式操作。需要跟踪标志 15097。 |
语言
新功能或更新 | 细节 |
可恢复添加表约束 | 支持暂停和恢复 ALTER TABLE ADD CONSTRAINT操作。在维护窗口、故障转移或系统故障后恢复此类操作。 |
创建索引 | 添加了在线索引操作子句的WAIT_AT_LOW_PRIORITY 。 |
事务复制 | 点对点复制启用冲突检测和解决以允许最后的写入者获胜。最初在 SQL Server 2019 (15.x) CU 13 中引入。 |
创建统计数据 | 添加AUTO_DROP 选项 自动统计低优先级。 |
SELECT ... WINDOW 子句 | 在应用窗口函数之前确定行集的分区和排序,该函数在应用 OVER 子句时使用窗口。 |
[不]不同于 | 确定两个表达式相互比较时的计算结果是否为 NULL,并保证结果为 true 或 false 值。 |
时间序列函数 | 您可以使用时间窗口、聚合和过滤功能来存储和分析随时间变化的数据。 - DATE_BUCKET () - GENERATE_SERIES () 以下添加了对 IGNORE NULLS 和 RESPECT NULLS 的支持: - FIRST_VALUE () - LAST_VALUE () |
JSON函数 | - ISJSON () - JSON_PATH_EXISTS () - JSON_OBJECT () - JSON_ARRAY () |
聚合函数 | - APPROX_PERCENTILE_CONT () - APPROX_PERCENTILE_DISC () |
T-SQL 函数 | - GREATEST () - LEAST ( ) - STRING_SPLIT () - DATETRUNC () - LTRIM () - RTRIM () - TRIM () |
位操作函数 | - LEFT_SHIFT () - RIGHT_SHIFT () - BIT_COUNT () - GET_BIT () - SET_BIT () |
工具
新功能或更新 | 细节 |
Azure 数据工作室 | 在下载并安装 Azure Data Studio获取最新版本。最新版本包括对 SQL Server 2022 (16.x) 的支持。 |
分布式重放 | SQL Server 安装程序不再包括 Distributed Replay 客户端和控制器可执行文件。这些将与 Admin 可执行文件一起作为单独的下载提供 |
SQL 服务器管理工作室 | SSMS 版本 19.0 Preview 3 现已推出,是 SQL Server 2022 (16.x) 的推荐 SSMS 版本。下载 SQL Server Management Studio (SSMS)。 |
SQLPackage.exe | SqlPackage 版本 19 提供对 SQL Server 2022 (16.x) 的支持。在下载并安装 sqlpackage获取最新版本。 |
VS代码 | VS Code 1.67 版及更高版本支持 SQL Server 2022 (16.x)。在https://code.visualstudio.com/获取最新版本。 |
SQL 机器学习服务
从 SQL Server 2022 (16.x) 开始,R、Python 和 Java 的运行时不再随 SQL 安装程序一起安装。相反,安装任何所需的自定义运行时和包。
标签:Server2022,16,特性,Server,2022,SQL,Azure,查询 From: https://blog.51cto.com/lihuansong/6131309