Обработка кубов SSAS - не работает в powershell, но работает в Visual Studio
Я пытаюсь обработать кубы и размеры в PowerShell. Это работало некоторое время, но внезапно останавливается. Я могу обработать измерения и кубы в Visual Studio, но обработка их скриптом powershell в том же порядке выдает ошибку дублированного ключа атрибута.
Сценарий Powershell:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$serverAS = New-Object Microsoft.AnalysisServices.Server
$serverAS.connect("SERVER")
$db = $serverAS.databases["ANALYSIS DB"]
$db.cubes | select name, storagemode, lastprocessed
$db.dimensions | select name, isparentchild, lastprocessed, storagemode
Foreach ($c in $db.dimensions) {$c.process("ProcessFull")}
Foreach ($c in $db.cubes) {$c.process("ProcessFull")}
2 ответа
Решение
Спасибо за ответ. На самом деле мне удалось обойти это, используя SSDT и Integration Services для обработки измерений и кубов.
Вы должны игнорировать ключевые ошибки, как это:
## Set up the Error Configuration so that Key Errors are ignored
$errorConfig = New-Object `
Microsoft.AnalysisServices.ErrorConfiguration("D:\ProcessLogs\")
$errorConfig.KeyNotFound = "ReportAndContinue"
$errorConfig.KeyErrorAction = "ConvertToUnknown"
$errorConfig.KeyErrorLimit = -1
и затем обработайте с этим параметром конфигурации ошибки:
## Process the current database
$c.Process("ProcessFull", $errorConfig)
Ссылка и пример: http://www.biadmin.com/2012/07/bi-admin-scripts-process-ssas-database.html