2014-01-15 69 views
-1

我们正在创造这个交叉分析报表..在SQL Server在时间生成查询2008年SQL Server行大小

在选择时,用户使节目名称,因为它是给下面的错误列之一:

创建或更改表'FakeWorkTable'失败,因为最小行大小将为11852,其中包括189个字节的内部开销。这超过了8094字节的最大允许表行大小。

查询应像返回: 日期计划1 ...计划100 ... 500计划

它会告诉电视节目datewise一些信息。

有什么办法可以增加这一行的大小?

请让我知道在任何情况下,任何其他信息是必要的。

问候

+0

程序列的类型是什么? –

+1

'SELECT LEFT 500 * FROM dbo.WishfulThinking' – billinkc

+2

你真的需要SQL Server来返回所有500列吗?为什么不在表示层中进行这种类型的转换? – Taryn

回答

0

我的代码如下:

set @query 
     = 'SELECT ' + @PivotRowColumn + ',' + @cols + ' from 
     (
      SELECT ' + @SelectCalculationColumn + ', ' + @PivotRowColumn + ', ' + @PivotColumn + ' 
      FROM ##ResultCrosstab 
      --where programName like ''S%'' 
     ) x 
     pivot 
     (
      ' + @CalculateColumn + ' 
      for ' + @PivotColumn + ' in (' + @cols + ') 
     ) p ' 

@ PivotRowColumn/@ PivotColumn可以是任何东西了(SalesHouse /台/天/周/月/日/产品/ Program/SpotLength/Timeband/Campaign @SelectCalculationColumn是一个关键绩效指标,例如景点/预算/影响/差异/ TVR等 @cols

对于较大的广告系列,此问题非常少见。我添加了一个下拉式大小写用户选择程序作为列。因此,如果用户遇到错误,他们可能会限制程序或使用过滤器(已经存在)

+0

对于更大的报告,我们将创建一个SSAS多维数据集 – user2739418