我了解“无法对大小为 9754 的行进行排序,该行大于允许的最大值 8094”。from SQL Server 是由其中包含超过 9k 个字符的行引起的,这大于 SQL Server 7 中的页面大小限制。但是我没有在下面的数据上调用 order by,那么为什么错误会这样说不能排序?
SELECT <a number of columns...>
FROM Category10Master c10
JOIN Category20Master c20 ON c10.Cat10ID = c20.ParentCatID
JOIN Category25Master c25 ON c20.Cat20ID = c25.ParentCatID
JOIN Category30Master c30 ON c25.Cat25ID = c30 .ParentCatID
JOIN Item i ON c30.Cat30ID = i.ParentCatID
编辑:是的,我知道我可以调用更少的列来解决这个问题 - 实际查询显式调用所需的列并且仍然超过行大小限制。这实际上是在一个称为站点范围的视图中,因此更改视图以拉回更少的列并不是一个有吸引力的选择 - 需要修改数十个页面才能从视图以外的其他地方获取数据。我很不幸地插入了一个丑陋的设计,并希望有人有一个比提取更少数据更有吸引力的解决方案。