解决方案 »

  1.   

    修改前用的是nvarchar类型,所有没有啥影响,如果修改为int,单行的大小就超过8060了。 2012包括2014 版本的sql server 都没有做这个的修改 ,参考http://msdn.microsoft.com/zh-cn/library/ms143432(v=sql.110).aspx
      

  2.   

    在2005中alter一张表某一个列的数据类型的时候,并不是修改了该列的数据,而是在该列新加一列,所以有可能导致你每行的数据超过了限制。你可以这样试试,新建一张表,在新表中该列的数据类型为int,然后从旧表中把数据查出来,插入到新表中,然后再对新表重命名。