首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解“行溢出数据超过8KB”的文档

理解“行溢出数据超过8KB”的文档
EN

Stack Overflow用户
提问于 2019-07-31 04:11:09
回答 1查看 709关注 0票数 2

关于8060字节的存储和行大小限制的Server文档说

对于varchar、nvarchar、varbinary、sql_variant和CLR用户定义的类型列,单个列的长度仍然必须在8,000个字节以内。只有它们的合并长度才能超过表的8,060字节行限制。

请有人解释并帮助我理解:

  1. “单个列的长度仍必须下降.”--这里引用的长度是用LEN()还是DATALENGTH()表示的?
  2. VARCHAR(最大)允许的最大大小如何小于8060字节?
  3. “只有它们的合并长度才能超过”--这是否意味着表中所有VARCHAR(最大)列的大小之和,即使填充到全部的DataType容量,也是不允许的-- "Msg 511不能创建一个大于8060的允许最大值的XXXX行“。
EN

回答 1

Stack Overflow用户

发布于 2019-07-31 04:15:10

长度限制必须引用数据长度,而不是实际文本长度。对于不同的编码,两个长度相同的字符串可能有不同的大小。

对于VARCHAR和提到的其他类型(不包括NVARCHAR(MAX)),每个列的限制为8060字节,但此类列的总和仍可能超过8060字节。

关于NVARCHAR(MAX)的明显矛盾,你给的链接接着添加了一个注释:

此限制不适用于varchar(max)、nvarchar(max)、var二进制(Max)、文本、图像或xml列。有关这些列的存储的更多信息,请参见使用大值数据类型、使用文本和图像数据以及使用XML数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57283054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档