在大多数情况下,这是由于某些特定记录的总体行大小可能引发此类错误。但我的情况不同。我在一台服务器上运行报告,它工作正常。但是相同的报告和相同的数据库会抛出行大小错误:无法创建大小为 8785 的行,该行大于允许的最大值 8060。 关于如何解决此问题的任何建议?
问问题
2962 次
2 回答
3
来自http://blogs.msdn.com/b/msdnts/archive/2006/12/01/row-size-limitation-in-sql-2000-and-2005.aspx:
在创建表时,可能会遇到以下信息: ' 表已创建,但其最大行大小(11038)超过了每行最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中的行的 INSERT 或 UPDATE 将失败。
第二次报告中的内容达到了这个最大值。可能是您尚未发现的边缘情况,其中数据存在差异。
我建议您查看分配给数据库字段的分配 - 例如,是否可以将 varchar(8000) 实际切换为 varchar(max) - 或查看跨多个表重组数据。
于 2013-07-11T16:18:22.587 回答
0
我使用刚刚执行 select 语句的查询遇到了同样的错误。我将我正在使用的大量视图转换为 CTE,但仍然出现错误。然后我从 CTE 中删除了未使用的列,错误就消失了。不太确定发生了什么,因为我认为优化的查询应该忽略未使用的选择列。
于 2018-04-20T21:22:43.747 回答