症状
假设你的应用程序生成多个存储的链 过程调用,其中一个参与者是使用输出大型对象参数调用 T-sql 存储过程的公共语言运行时(CLR)存储过程 ([N] VARCHAR (max)或 VARBINARY (max))。 在某些情况下,此 CLR 调用 可能会产生类似于以下内容的错误:
消息3624,级别20,状态1,过程 ProcA,第0行 [批处理起始行 LineNumber]
系统断言检查失败。 检查 SQL Server 错误日志了解详细信息。 通常,断言失败由软件导致 错误或数据损坏。 若要检查数据库损坏,请考虑运行 DBCC CHECKDB. 如果您同意在安装过程中将转储发送到 Microsoft,则小转储 将发送给 Microsoft。 可以从 Microsoft 获取更新, 技术支持部门提供的最新服务包或修补程序。
消息596,级别21,状态1,行 LineNumber
无法继续执行,因为会话处于 kill 状态。
消息0,级别20,状态0,行 LineNumber
当前命令出现严重错误。 所 应丢弃的结果(如果有)。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
参考
了解Microsoft 用于描述软件更新的术语。