0

我遇到了一個我最近經常遇到的問題。我正在使用分析服務標準層即ie。有20GB的內存。然而有時,當我處理多維數據集,我收到以下錯誤:Azure Analysis Services最大容許內存問題

"Exception: Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'You have reached the maximum allowable memory allocation for your tier. Consider upgrading to a tier with more available memory. Technical Details: RootActivityId: e024b2d1-ce22-4edd-9a21-68b6b288d7bb Date (UTC): 8/11/2017 11:48:20 AM '. at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions) at 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) at Submission#0.Run(TimerInfo myTimer, TraceWriter log) "

基本上表格使用存儲器引擎xVelocity所以所有的數據在內存中。那麼這是否意味着內存包含了數據庫中的所有內存以及表格模型中計算表所需的所有內存?如果使用分區來處理模型,它是否可以解決這個問題?

回答

1

來自模型的數據全部在內存中。如果你只有一個已經被處理的分區,並且你調用的進程已經滿了,你需要將內存加倍。對數據進行分區並僅加載新的/更改的分區將避免您需要增加兩倍的內存。