跳到内容
作者的头像照片Tanuj Gupta

BW: 1000个分区限制与SQL Server数据库

从SQL Server 2005开始,一个表有1000个分区的限制。在BW系统中,可以观察到,如果不执行InfoCubes的压缩,客户经常会达到这个极限,从而导致系统错误。

图像

达到1000分区限制的后果:

一旦在SQL Server数据库中达到了1000个分区的限制,它将继续向第1000个分区写入每个新请求,并将向系统日志写入一个错误(SQL error 7719 -见下面的快照)。然而,这样做只是为了避免加载数据时出现硬故障,因此不建议将请求一直加载到最后一个分区。继续加载到第1000个分区可能会在稍后尝试删除请求时导致性能问题。

此外,如果在具有1000个分区的InfoCube上有任何聚合,那么对聚合的下一次汇总将失败,并给出系统上的DUMP硬错误。

如何查看SQL server数据库的分区数。

执行报告RSDD_MSSQL_CUBEANALYZE
—菜单设置=>专家模式
—按“详细信息”按钮
—选择最小分区个数
—按“开始检查”键

图像
- Result将显示超过限制的表的分区数(如上面的快照中所述)

图像

推荐:

对于纠正措施,您应该遵循SAP Note SAP Note 869407:“MS SQL Server 2005及其后续版本上的分区”。

InfoCube (F事实表):通过压缩,将每个InfoCube的分区数减少到800以下。

InfoCubes (F事实表):由于E事实表是按照一个特征进行分区的,所以系统只允许分区范围内的值小于1000个分区。

聚合:要纠正聚合,您需要首先在infocbe管理屏幕上设置“压缩后rollup”标志,然后禁用和重新激活多维数据集。当重新激活和填充执行时,它还会自动将这些记录压缩到聚合的E事实表中,这样F事实表就不会达到1000个分区。

PSA和DSO表:通常不会遇到在PSA和DSO表中有1000个分区,这是因为InfoCubes和PSA/DSO之间的数据加载过程不同。

指定的标签

      1评论
      你必须登录评论或回复一篇文章
      作者资料照片前会员
      前成员
      知识分享是一件美妙的事情,所以继续分享吧……

      谢谢你Tanuj。

      Baidu