sql-server-2005 – 无法重建索引,因为行超过最大大小(Microsoft SQL)

前端之家收集整理的这篇文章主要介绍了sql-server-2005 – 无法重建索引,因为行超过最大大小(Microsoft SQL)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在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而言是好的限制.

我已经尝试将表(使用导入导出向导)复制到另一个数据库或另一个服务器,我得到关于8078字节行的相同错误.

解决方法

this post help?

建议是创建一个新的TEXT列(不受行长度限制),将可变长度列复制到其中,删除旧列并运行DBCC CLEANTABLE.对所有可变长度列执行此操作然后将其更改回如何他们是.

猜你在找的MsSQL相关文章