Недавно мы обновили наши табличные экземпляры SSAS до SQL Server 2017 (v 14.0.2.04.1). У нас есть процесс CI / CD для наших табличных моделей с использованием библиотеки TOM, и он отлично работает для уровня совместимости 1200, но когда мы меняем уровень совместимости модели до 1400 и использовать новые функции (в частности, defaultDetailRowsDefinition) вызов [Microsoft.AnalysisServices.Tabular.JsonSerializer]::DeserializeDatabase
для десериализации файла .bim с ошибкой:
"Unrecognized JSON property: defaultDetailRowsDefinition. Check path 'model.tables[0].defaultDetailRowsDefinition'
Ok , нам нужно обновить сборки TOM, поэтому я направляюсь на страницу пакета функций SQL Server 2017, но не могу найти установщик SQL_AS_AMO
. Документация Microsoft по установке / распределению сборок TOM не была обновлена в 2017 году. Любые идеи о том, как мы можем получить последнюю функциональность TOM для уровня совместимости таблиц SSAS 1400?
То, что вы испытываете, это DLL Hell. Пока Microsoft не выпустит
SQL_AS_AMO
, вам нужно будет отследить требуемый.dll
.Чтобы сделать это, я пошел на сервер, на котором мы недавно установил SSAS 2017 и нашел папки для каждого из перечисленных
.dll
в папкеC:\Windows\Microsoft.NET\assembly\GAC_MSIL
.Откроем папку
Microsoft.AnalysisServices.Tabular
, чтобы увидеть последнюю версию, установленную для SSAS 2017:Переместите недостающую вложенную папку на виртуальную машину развертывания, и вам должно быть хорошо идти.
Добавляя к ответу Mark, вы всегда можете найти последние сборки TOM:
На момент написания этой статьи они находятся на уровне 15.1.0.