症状
假设你在 Microsoft SQL Server 2016 中启用表的 行级安全性。 如果你运行的语句包含许多合并表结果的 UNION 或 UNION ALL 子句,你可能会收到类似于以下内容的错误消息:
消息3624,级别20,状态1,第16行系统断言检查失败。 有关详细信息,请查看 SQL Server 错误日志。 通常,断言失败由软件错误或数据损坏导致。 若要检查数据库是否损坏,请考虑运行 DBCC CHECKDB。 如果你同意在安装期间将转储发送到 Microsoft,则会向 Microsoft 发送一个小转储。 在来自 Microsoft 的最新服务包或来自技术支持的修补程序中,可能会提供更新。 消息596,级别21,状态1,第14行无法继续执行,因为会话处于 kill 状态。 消息0,级别20,状态0,行14当前命令出现严重错误。 应丢弃结果(如果有)。
解决方案
在以下 SQL Server 累积更新中首先修复此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 我们建议你下载并安装 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语 。