应用对象SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症状

假设你使用的是 Microsoft SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014。 使用 TOP N 和 ORDER BY 执行查询时,查询将命中与以下内容类似的断言失败:

位置: "qstopsrt":384Expression: fFalseSPID: <spid>进程 id: <ProcessID>位置: qxcntxt:1052Expression: cref = = 0SPID: <SPID>进程 ID: <ProcessID>消息3624,级别20,状态1,行2a 系统断言检查失败。 有关详细信息,请查看 SQL Server 错误日志。 通常,断言失败由软件错误或数据损坏导致。 若要检查数据库是否损坏,请考虑运行 DBCC CHECKDB。 如果你同意在安装期间将转储发送到 Microsoft,则会向 Microsoft 发送一个小转储。 从 Microsoft 的最新服务包或从技术支持部门获取的 QFE 中可能提供更新。 消息0、级别20、状态0、行0A 当前命令上出现严重错误。 应丢弃结果(如果有)。

注意 此修补程序也可能会应用于该查询计划包含 "Sort (N 排序)"。

原因

出现此问题的原因是查询执行引擎中出现内部错误。

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

状态

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。