Jon*_*ica 2 sql-server sql-server-2016
我需要正确了解在 SQL Server 2016 标准版中是否以及如何获得每行 10KB 或 20KB。
我正在阅读 SQL Server 技术规范:
特别是“每行字节数”
它指的是 BOL 中的某些内容,我找不到。
SQL Server 联机丛书中的“行溢出数据超过 8 KB ”主题部分在哪里。?
存储在超过 8,060 字节行大小限制的 varchar、nvarchar、varbinary 或 sql_variant 列中的可变长度数据。
对于表(堆或聚簇表)、索引或索引视图使用的每个分区,都有一个 ROW_OVERFLOW_DATA 分配单元。此分配单元包含零 (0) 页,直到 IN_ROW_DATA 分配单元中具有可变长度列(varchar、nvarchar、varbinary 或 sql_variant)的数据行超过 8 KB 行大小限制。当达到大小限制时,SQL Server 将具有最大宽度的列从该行移动到 ROW_OVERFLOW_DATA 分配单元中的页面。原始页上维护着一个 24 字节的指向此行外数据的指针。
对于 varchar、nvarchar、varbinary、sql_variant 和 CLR 用户定义类型的列,各个列的长度仍必须在 8,000 字节的限制内。只有它们的组合长度才能超过表的 8,060 字节行限制。
另一个不错的答案: Workaround SQL Server maximum columns limit 1024 and 8kb record size