我创建一个表,里面有nvarchar(4000)字段30个。
问一下,是一个字段的最大容量不能超过8000个字节,还是一行数据不能超过8000个字节啊。
但是一个数据,我试过已经超过8000个字节还可以存储数据的。但是有一个问题:
update tb set ct=substring(ct,1,4000) where datalength(ct)>8000;成功,但是
alter table tb alter column ct nvarchar(4000);就老是提示:
不能创建大小为 8062 的行,该大小大于所允许的最大值 8060。请问为什么啊?不得解啊?

解决方案 »

  1.   

    一行不能超过8060,这是SQL2K5以上的,2K的才8039
      

  2.   

    但是不可能啊,我以现在是2005,一共有27个字段,每个字段都有1千多个字节了。
    怎么可以啊?不能解啊?
    以前用ntext更多,现在nvarchar(4000)也有远远>8000个字节啊。
      

  3.   

    update tb set ct=substring(ct,1,4000) where len(ct)>8000;你试试