跳到内容
作者简介照片Tanuj Gupta

SQL Server数据库有1000个分区限制

在SQL Server 2005之后,一个表只能有1000个分区。在BW系统中,可以观察到,如果不对infocbe进行压缩,客户通常会达到这个限制,并可能导致系统错误。

图像

达到1000分区限制的后果:

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

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

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

执行报告RSDD_MSSQL_CUBEANALYZE
-菜单设置=>专家模式
-按下Details按钮
—选择最小分区数
-按下按钮开始检查

图像
-结果将显示超过限制的表的分区数(如上快照中提到的)

图像

推荐:

要进行纠正操作,您应该遵循SAP Note SAP Note 869407:“在MS SQL Server 2005和更高版本上的分区”。

InfoCube (F Fact表):执行压缩,将每个InfoCube的分区数量减少到800以下。

InfoCubes (F事实表):由于E事实表是根据一个特征进行分区的,系统将只允许分区范围小于1000个分区。

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

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

指定的标签

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

      谢谢你Tanuj。

      Baidu