为什么行插入8053字节以上时没有给出错误,因为最大允许行限制为8060

时间:2015-10-09 07:12:07

标签: sql-server-2008

我创建了下面提到的表格 -

create table abc(name varchar(max),comments varchar(max))

insert into abc
values(replicate('a',8000),replicate('b',8000))

上面的行插入应该失败,因为它超过了最大行大小限制,即805​​3.但它没有。

1 个答案:

答案 0 :(得分:0)

这是因为当声明为VARCHAR(max)的字符串超过8000字节时,字符串将从IN_ROW_DATA移入LOB_Data。 IN_ROW_DATA只存储指针,这就是错误没有显示的原因,因为还有很多空间。