KB4056117-修复:当将内存优化表变量作为 SQL Server 2016 和2017中的表值参数传递到存储过程中时,将发生断言。

症状

假设你在 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 2017 的累积更新4

       SQL Server 2016 SP1 累积更新 7

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2017 的最新累计更新

SQL Server 2016 的最新累计更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×