我应该强调下面是一个懒惰的操作工作的好奇心,所以请不要浪费任何时间在它上面 - 只要你碰巧有一个建议在你头顶。
使用便利部件来创建一个大的平台,以备将来在邮件文件中使用。
我收到了这个错误:
无法创建大小为11559的行,该行大于允许的最大行大小8060.
现在我采用了懒惰的方法,并使用SELECT * INTO FROM
创建了一个模板表(~500列,所有varchar(max)),没有任何问题。如果我然后截断创建的表并插入其中(从SAME源表强调),我将返回上面的错误。
(为清楚起见,我也“手动”创建了表格(即CREATE TABLE
),并在插入时遇到同样的问题)
虽然我熟悉行大小限制(因此使用varchar(max)
),但特别奇怪的是在源表上,showcontig在源表上返回MaximumRecordSize是3676,所以我是无法确定问题所在。
任何建议都会感激不尽!
答案 0 :(得分:0)
SQL Server has the limit of 8K per table row。 您应该检查并调整所有nvarchar(nnn)列的大小和/或将表拆分(并将其标准化,我怀疑)为几个。 另一种解决方法是使用nvarchar(max),但要小心。