我正在尝试在sql Server 2005表上重建聚簇索引,并且我一直收到错误:
Cannot create a row of size 8078 which is greater than the allowable maximum of 8060.
该命令只是一个标准的ALTER INDEX< name> ON< table>重建.
我不知道我是如何设法将8078字节组合成一行 – 从我对sql的理解,这是不可能的.
如果我进行查询以检查行中有多少数据(即Datalength(col1)datalength(col2)…),那么表中最大的行似乎是6389字节,相对于8060而言是好的限制.
解决方法
是
this post help?
建议是创建一个新的TEXT列(不受行长度限制),将可变长度列复制到其中,删除旧列并运行DBCC CLEANTABLE.对所有可变长度列执行此操作然后将其更改回如何他们是.