Update compatibility level - Azure SSAS
Asked Answered
Q

2

8

I need to update the compatibility level of the Azure SSAS Model to 1400. It's currently in 1200. When I click on Model.bim and go to Properties. (Inside Visual Studio 2017) There is no option to select from under the property "Compatibility Level".

I am currently on VS 2017 (Version 15.9.9)

The .NET Framework is on (Version 4.7.03062)

I did follow this article but still don't see the options to change it. https://azure.microsoft.com/en-au/blog/1400-models-in-azure-as/

My solution is also in Source Control.

Quisling answered 20/3, 2019 at 1:38 Comment(6)
Try to install the latest ssdt versionLyndell
learn.microsoft.com/en-us/sql/ssdt/…Lyndell
I am currently on VS 2017 (Version 15.9.9)Quisling
Check these links (1) social.msdn.microsoft.com/Forums/sqlserver/en-US/… (2) social.msdn.microsoft.com/Forums/sqlserver/en-US/…Lyndell
Have you tried to write the level manually 1400?Lyndell
Cant write it manuallyQuisling
C
3

There is actually a bug in the server properties for SSAS in SSMS (at least as of SSMS 17.x). It probably applies to your case too.

The actual compatibility mode that is used by your model is set in the model itself. The server has 2 properties:

  • DefaultCompatibilityMode - probably used only when Create is executed (without the compatibility)
  • SupportCompatibilityModes which is a list of supported levels.

Execute the following XMLA window in SSMS (taken from 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>

Search for Compatibility. You should be able to see for an SSAS 2017 server:

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

The DefaultCompatibilityLevel should match the requested compatibility level. In your case 1400. You should be able to confirm the mode that the model is running in by checking its properties in SSMS. You can, of course, change only to SupportedCompatibilityLevels. Should your required compatibility level not be listed, you are out of luck.

Colored answered 4/4, 2019 at 9:22 Comment(0)
O
0

You can, of course, change only to SupportedCompatibilityLevels.

@tukan Thanks. I changed to 1400 in Visual Studio and I can see 1400 in the server. <ddl600:SupportedCompatibilityLevels>1100,1103,1200,1400</ddl600:SupportedCompatibilityLevels>

However, when I try to deploy I get the following error:
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.

It feels like the level is 1200 and can't deploy 1400 even that it is supported.

Ochre answered 4/9, 2020 at 11:51 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.