这太奇怪了...我有一个linq to sql查询,肯定很大,但是它对查询的前6页效果很好,当分页在第7页时,一切都死了
我将其精确定位在一定数量的行上,但是如果我尝试仅选择这些行,它将起作用。似乎是那些带有分页的行。
完整的错误消息:
Location: "bpctxt.cpp":124
Expression: m_cCreated < m_cMaxBatches
SPID: 59
Process ID: 10000
Msg 3624, Level 20, State 1, Line 1
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a Hotfix from Technical Support.
Msg 596, Level 21, State 1, Line 0
Impossible de poursuivre l'exécution, car la session a été terminée.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
该查询有5个限制查询,每个查询仅具有OFFSET 0 ROWS FETCH NEXT 54 ROWS。
如果我将前4个限制查询的值从0更改为378(第7页),它不会崩溃,只有在最后一个查询也更改时它才会失败。除了OFFSET,这两个查询之间没有什么不同。
SQL Server版本:Microsoft SQL Server 2017(RTM-GDR)(KB4505224)-14.0.2027.2(X64)2019年6月15日00:26:19版权所有(C)2017 Windows上的Microsoft Corporation开发人员版(64位) 10 Pro 10.0(内部版本17763:)
我可以尝试上传查询,但是就像我说的那样,唯一的区别是工作页面和失败页面之间的偏移量。
我很惊讶。