0

我有一个最近经常遇到的问题。我正在使用分析服务标准层,即。拥有20GB内存。但是,有时当我处理多维数据集时,会出现以下错误:

“异常:Microsoft.AnalysisServices.OperationException:无法将修改保存到服务器。返回的错误:'您已达到层的最大允许内存分配。考虑升级到具有更多可用内存的层。技术细节:RootActivityId:e024b2d1- ce22-4edd-9a21-68b6b288d7bb 日期(UTC):2017 年 8 月 11 日上午 11:48:20 '。在 Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions) 在 Microsoft.AnalysisServices.Tabular.Model.SaveChanges( SaveFlags saveFlags) at Submission#0.Run(TimerInfo myTimer, TraceWriter log) in :line 59 Stack trace: at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions) at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveFlags saveFlags ) 在 Submission#0.Run(TimerInfo myTimer, TraceWriter 日志) "

基本上,表格在内存引擎中使用 xVelocity,因此所有数据都在内存中。那么这是否意味着内存包括数据库中的所有内存以及表格模型中计算表所需的所有内存?如果使用分区来处理模型,它会解决这个问题吗?

4

1 回答 1

1

模型中的数据都在内存中。如果您只有一个已处理的分区并且您在其上调用 process full,您将需要双倍的内存。对数据进行分区并仅加载新的/更改的分区将避免您需要双倍的内存。

于 2017-08-11T16:46:13.890 回答