Zer*_*ity 7 ssas sql-server-2008-r2 cube
我有一个 SSAS Cube,有 35 个维度和 10 个度量。
当我从SSMS运行(通过右键单击 SSAS 数据库)在数据库上“进程已满”时,大约需要 1 小时 30 分钟。
当我通过 XMLA 脚本从 SQL 代理作业处理多维数据集(进程已满)时,大约需要 1 小时 20 分钟。
当我通过 SSMS 分别处理维度和度量(过程完整)时,需要 1 小时 50 分钟。
但是,当我从 SSIS(通过 XMLA 的 DML 任务)处理维度和度量时,它需要 5 个多小时。[内存消耗几乎达到 100%]
所以我的问题是:
小智 1
哦,我亲爱的..
首先。对于您的情况,我建议您选择“进程默认”选项。如果您始终使用 Process Full,那么您将删除所有数据和对象并重新创建所有内容。你不需要它们。通常,建议选项是使用 ProcessData,然后使用 ProcessIndex。
我没有从 SSIS 内部处理多维数据集,但 SSIS 可能正在检查某些内容并锁定数据库上的某些内容。最好的选择是使用 XMLA。如果您想从 SSIS 中处理您的多维数据集,您可以编写一个脚本任务来执行处理 - 您可以在网上找到一个脚本。
您还需要检查是否有干净的数据。如果您拥有所有密钥等,请在您的项目和数据中检查两次。如果您单独处理维度,则数据不会在度量和维度之间进行比较。我非常确定您的事实表中有一些键在您的维度中没有对应的值。用这个下订单。如果维度中没有值并且它是正确的(源表中不存在),您可以使用键“-1”向每个维度添加一个额外值以及“N/A”(不适用)等所有值和将未找到的值指向维度中的此记录。
最后。如果您有一个大型 SSAS 数据库,请考虑分区。
有很多话要说。如果您有一些具体问题,请随时提问。
| 归档时间: |
|
| 查看次数: |
5084 次 |
| 最近记录: |