在上周,SQL Server 2022版本(16.x)正式进入公测状态,大家都可以下载并安装了。当前只支持Windows,被称为CTP 2.0版本(community technology preview ),包含了企业版的所有功能,可以试用180天。于是第一时间下载并进行了体验,一起来看看,新版本有哪些新的功能吧。
01 全面支持与Azure云建立链接
SQL Server 2022版本在复制与容灾、分析增强、S3存储兼容支持、Azure Arc、Azure Defender等方面,全面的与Azure云在建立链接。
通过Azure Synapse Link for SQL(公测)支持将SQL Server 2022版本与云端Azure Synapse Analytics无缝集成,从而实现分析、BI和ML等数据处理能力。还可以通过Azure SQL Managed Instance的Link功能,实现将云端实例作为本地SQL Server的副本,提供只读或者容灾使用。
SQL Server安装时,可以直接安装Azure Arc agent;支持使用Azure AD进行数据库的认证;支持使用Azure Defender for SQL来保护SQL Server。
支持了S3-协议的对象存储:从2012版本开始,已经支持了备份到Azure Blob Storage,2022版本开始支持到S3兼容的存储进行备份;同时,通过,PolyBase功能可以支持S3兼容存储的访问,支持使用T-SQL直接访问parquet文件的数据。
02新增了账本数据库(ledger database)功能
2022版本中,新增支持了ledger database功能,提供数据不可篡改的证明。其模式类似于AWS QLDB。具体的,在数据库所有记录的变更都通过递归哈希的Merkle tree记录(被称为Database digests),用户可以通过其他独立的存储保存该Database digests,独立存储可以使用Azure Blob Storage或其他写入后不可修改的存储中。在重要的审计、第三方商务流程记录等场景下,可以使用账本数据库对数据进行不可篡改的存储。
03 持续提升数据库性能
- 备节点上支持与主节点上一样的Query Store功能,帮助用户管理与诊断Query的执行计划相关的问题
- 开始支持Query Store hints功能(注:之前仅Azure云端版本支持)
- 增强了Memory Grant Feedback (MGF) 功能
- 提升了大内存场景下的内存管理能力,避免OOM发生;提供了大内存场景下,内存池并行扫描的能力
- 提供了参数-自感知缓存执行计划能力,帮助SQL Server自动化的处理由于参数分布带来的无法使用最优执行计划的问题
- 创建表语句新增了XML_COMPRESSION选项,提供XML压缩能力
- 提供新的硬件感知和使用能力,例如使用高级向量扩展指令集(Advanced Vector Extensions)
- DOP功能提供新的参数DOP_FEEDBACK,帮助更加自动化管理DOP参数的配置
- 提供了Cardinality estimation feedback,帮助定位由于基数预估不准确导致的性能问题
- 提供了基于Query Store功能的强制执行计划选择能力
04 持续增强可用性与可管理性
- 提供了”contained availability group”,在AG层面提供了自己的元数据管理、并且包含了需要的一些系统数据库等内容
- 支持了AG参数REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT的修改
- 在SQL Server初始安装时,可以直接安装Azure Arc agent
- 进一步优化了ADR功能(Accelerated Database Recovery),开启后数据库在异常恢复时能够更快,提升整体可用性
- 提升快照备份能力,新增了使用T-SQL冻结IO操作
- 新增参数降低数据库收缩(空间回收)是对数据库并发读写的影响
- 新增了数据库级别变量实现异步的统计信息更新,以降低对数据库并发读写的影响
- 支持数据备份到S3兼容的存储中,也可以直接从这类存储中恢复数据
05 增强了数据库安全
- 支持使用Azure Defender for SQL保护SQL Server
- 基于最小权限原则,对于某些管理任务新增了新的内置权限与角色
- 提供了更细粒度(包括database、schema、table或column级别)的UNMASK权限管理
- 更好的支持了对秘钥(数字证书和秘钥)向Azure Blob Storage的备份
- 支持新的TDS 8.0协议,兼容TLS 1.3
- 增强了Always encrypted数据的加密查询能力,包括 JOIN, GROUP BY, and ORDER BY等
06 其他功能与细节方面的增强
- 新增更多的JSON相关的函数:ISJSON、JSON_ARRAY、JSON_OBJECT、JSON_PATH_EXISTS等
- 新增了部分处理时序数据的函数,例如DATE_BUCKET、GENERATE_SERIES等
- 新增SELECT…WINDOW语法
- ALTER TABLE ADD CONSTRAINT支持中断后续执行
- 新增部分聚合和字符处理函数:GREATEST、LEAST、STRING_SPLIT
- Azure Data Studio、VS Code最新版本都开始支持SQL Server 2022;SSMS发布最新的19.0版本;
总结在2022版本中,继续增加了性能、安全性、可管理性,最重要就是增强了与Azure云的联系,帮助用户用好本地数据库的同时,具备较为便捷的向Azure云端迁移的能力。相关参考阅读:
> What’s new in SQL Server 2022 (16.x) Preview :
https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16
> Get SQL Server 2022 Preview Evaluation Edition