使用宽列/稀疏表时,需要超过8k记录限制

时间:2013-07-22 16:07:29

标签: sql sql-server-2008 database-administration

使用宽列/稀疏表时,需要超过SQL Server 2008中的8k记录限制。

使用调查系统的长篇新客户旧系统,数据透视所以所有答案都是一列

我有1500列,现在我正在

  

无法创建具有大小为9652的稀疏数据的行,该行大于允许的最大稀疏数据大小8019.

如果可能,我需要超过8k的记录限制

1 个答案:

答案 0 :(得分:3)

不可能,因为SQL Server在8K页面上存储行。唯一的方法是将一些数据存储在行外(例如,对某些列使用MAX或其他LOB类型)。对于您的应用程序,这仍然看起来像在同一行,即使逻辑上它位于完全不同的磁盘区域。

如果单独的稀疏列集超出限制,抱歉,您需要查看另一种存储数据的方式(不是透视,EAV,或者只是使用由密钥连接的两个表,每个表包含一半列集)。对于后者,您可以通过使用视图和/或通过了解该部门的存储过程强制执行所有数据访问/ DML来使用户相对透明。