Обновить уровень совместимости — Azure SSAS

#sql-server #azure #ssas #upgrade #tabular

#sql-сервер #azure #ssas #Обновление #табличный

Вопрос:

Мне нужно обновить уровень совместимости модели Azure SSAS до 1400. В настоящее время он находится на уровне 1200. Когда я нажимаю на Model.bim и перехожу к свойствам. (Внутри Visual Studio 2017) В свойстве «Уровень совместимости» нет опции для выбора.

В настоящее время я использую VS 2017 (версия 15.9.9)

Платформа .NET Framework включена (версия 4.7.03062)

Я следил за этой статьей, но по-прежнему не вижу вариантов ее изменения. https://azure.microsoft.com/en-au/blog/1400-models-in-azure-as /

Мое решение также находится в системе управления версиями.

Комментарии:

1. Попробуйте установить последнюю версию ssdt

2. learn.microsoft.com/en-us/sql/ssdt/…

3. В настоящее время я использую VS 2017 (версия 15.9.9)

4.Проверьте эти ссылки (1) social.msdn.microsoft.com/Forums/sqlserver/en-US/… (2) social.msdn.microsoft.com/Forums/sqlserver/en-US/…

5. Вы пытались вручную написать уровень 1400?

Ответ №1:

На самом деле существует ошибка в свойствах сервера для SSAS в SSMS (по крайней мере, начиная с SSMS 17.x). Вероятно, это относится и к вашему случаю.

Фактический режим совместимости, который используется вашей моделью, задается в самой модели. Сервер имеет 2 свойства:

  • DefaultCompatibilityMode — вероятно, используется только при выполнении Create (без совместимости)
  • SupportCompatibilityModes это список поддерживаемых уровней.

Запустите следующее XMLA окно в SSMS (взято из social.msdn):

 <Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
    <RequestType>DISCOVER_XML_METADATA</RequestType>
    <Restrictions>
<RestrictionList>
<ObjectExpansion>ObjectProperties</ObjectExpansion>
</RestrictionList>
    </Restrictions>
    <Properties>
<PropertyList>
    </PropertyList>
    </Properties>
</Discover>
  

Выполните поиск совместимости. Вы должны иметь возможность просматривать для сервера SSAS 2017:

 <ddl400:DefaultCompatibilityLevel>1200</ddl400:DefaultCompatibilityLevel>
<ddl600:SupportedCompatibilityLevels>1100,1103,1200,1400</ddl600:SupportedCompatibilityLevels>
  

DefaultCompatibilityLevel Должен соответствовать запрошенному уровню совместимости. В вашем случае 1400. Вы должны иметь возможность подтвердить режим, в котором выполняется модель, проверив ее свойства в SSMS. Вы можете, конечно, изменить только на SupportedCompatibilityLevels . Если требуемый уровень совместимости отсутствует в списке, вам не повезло.

Ответ №2:

Вы можете, конечно, изменить только на поддерживаемые уровни совместимости.

@tukan Спасибо. Я изменил на 1400 в Visual Studio, и я вижу 1400 на сервере. <ddl600:SupportedCompatibilityLevels>1100,1103,1200,1400</ddl600:SupportedCompatibilityLevels>

Однако при попытке развертывания я получаю следующую ошибку:
The JSON DDL request failed with the following error: Failed to execute XMLA. Error returned: 'The operation cannot be performed because it references an object or property that is unavailable in the current edition of the server or the compatibility level of the database.

Похоже, что уровень равен 1200, и не удается развернуть 1400, даже если он поддерживается.