首先,我知道一般情况下有大量的宽列是一个坏主意,但这是我被限制的格式。是否有解决SQL Server中8k行长限制的方法?
我有一个应用程序,在操纵它们并在数据库中插入/更新值之前,将CSV文件导入临时表。登台表随即创建,具有可导入文件的可变数量的NVARCHAR列,以及用作行ID的两个INT列。
我必须导入的一个特定文件大约450列宽。由于在一个大的NVARCHAR列中使用了24字节的指针,所以我的计算结果总计达到了10K左右,并且我得到了错误Cannot create a row of size 11166 which is greater than the allowable maximum row size of 8060.
有没有解决这个问题的方法,或者是我唯一的选择修改导入器来分割导入或从文件中删除列?
看看SSIS。 http://www.microsoft.com/en-us/sqlserver/solutions-technologies/enterprise-information-management/integration-services.aspx它将允许您读取CSV并过滤并将行拆分为不同的目标表。 – flup 2013-05-08 10:35:38
没办法。如果您在离线LOB驱逐后实际创建了一行+ 8k,那么您的运气不佳。 – 2013-05-08 10:58:49
创建两个或更多表格,并在与该键链接的这些表格周围插入450列。 – Max 2013-05-08 13:09:03