症状
在 Microsoft SQL Server 2019 中,运行 SELECT MAX (LEN (MAPKEY) ) FROM <TableName> OPTION (MAXDOP 1) (其中MAPKEY值是计算列)的查询时,将发生以下断言:
Msg 3624、级别 20、状态 1、Line <LineNumber>
系统断言检查失败。 有关详细信息,SQL Server错误日志。 通常,断言失败是由软件 bug 或数据损坏引起的。 若要检查数据库损坏,请考虑运行 DBCC CHECKDB。 如果您同意在安装期间向 Microsoft 发送转储,将向 Microsoft 发送一个小型转储。 Microsoft 可能会提供最新的 Service Pack 或技术支持修补程序中的更新。
Msg 596、级别 21、状态 1、Line <LineNumber>
无法继续执行,因为会话位于终止状态。
Msg 0、Level 20、State 0、Line <LineNumber>
当前命令上发生严重错误。 结果(如果有)应被丢弃。
备注 发生此问题是因为为查询生成的计划包含计算标量运算符,该运算符在具有批处理模式的计算临时 lob 上操作。
解决方法
累积更新信息
此问题已针对以下更新的累积更新SQL Server:
每个新的累积更新SQL Server包含上一个内部版本提供的所有修补程序和安全修补程序。 建议为版本安装最新版本的 SQL Server:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的术语。