Tsql T-SQL:选择到稀疏表中?

Tsql T-SQL:选择到稀疏表中?,tsql,sql-server-2008,sparse-matrix,select-into,Tsql,Sql Server 2008,Sparse Matrix,Select Into,我正在将大量空表迁移到SQLServer2008中 这些表是一个大逻辑表的垂直分区 问题是这个逻辑表有超过1024列 鉴于大多数字段都为空,我计划使用稀疏表 到目前为止,我所有的表都使用SELECT…INTO,它工作得非常好 但是,现在我看到“创建表失败,因为表‘MyBigTable’中的列‘xyz’超过了1024列的最大值。” 有什么方法可以让我选择…,这样它就可以创建具有稀疏支持的新表了吗?您不能(而且可能无论如何都不想这样做)。有关MSDN文档,请参阅 问题是稀疏表是一种物理存储特性,而不

我正在将大量空表迁移到SQLServer2008中

这些表是一个大逻辑表的垂直分区

问题是这个逻辑表有超过1024列

鉴于大多数字段都为空,我计划使用稀疏表

到目前为止,我所有的表都使用SELECT…INTO,它工作得非常好

但是,现在我看到“创建表失败,因为表‘MyBigTable’中的列‘xyz’超过了1024列的最大值。”

有什么方法可以让我选择…,这样它就可以创建具有稀疏支持的新表了吗?

您不能(而且可能无论如何都不想这样做)。有关MSDN文档,请参阅


问题是稀疏表是一种物理存储特性,而不是逻辑特性,因此DBMS引擎无法知道如何复制该特性。此外,它是一个表范围的属性,SELECT可以有多个底层源表。请参阅我链接的页面的备注部分,其中讨论了如何仅使用默认组织详细信息。

您可能需要手动创建表,并用插入的
填充它。。。选择
语句

要创建表,我建议编写不同组件表的脚本并合并它们的定义,使它们都
稀疏
。然后只需运行单个
createtable
语句