症状
假设你在 Microsoft SQL Server 2016 和2017中使用内存中的联机事务处理(OLTP)。 将内存优化表变量作为表值参数(TVP)传递到存储过程中时,可能会发生断言错误。 此外,由 SQL Server 生成转储文件。
位置: "互操作 .cpp":LineNumber表达式: falseSPID: SPID进程 ID: ProcessIDMsg 3624、Level 20、State 1、过程 ProcedureName、行 LineNumber [批处理起始行 LineNumber]
系统断言检查失败。 有关详细信息,请查看 SQL Server 错误日志。 通常,断言失败由软件错误或数据损坏导致。 若要检查数据库是否损坏,请考虑运行 DBCC CHECKDB。 如果你同意在安装期间将转储发送到 Microsoft,则会向 Microsoft 发送一个小转储。 在来自 Microsoft 的最新服务包或来自技术支持的修补程序中,可能会提供更新。
消息596,级别21,状态1,行 LineNumber无法继续执行,因为会话处于 kill 状态。 消息0、级别20、状态0、行 LineNumber当前命令上出现严重错误。 应丢弃结果(如果有)。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语。