[this intelligent life]

Blog Post

Upgrading SSAS Tabular 2016 -> 2017

Mark Wojciechowicz • Mar 28, 2019

If you've tried to upgrade an existing database from SSAS 2016 to 2017 using SSDT, you may have encountered this error:

Deploying the '<some database>' database to '<The Target Server>'.

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.

We opened a ticket with Microsoft to resolve this, after banging around with the problem for way to long. The short answer is SSDT cannot upgrade an existing database to 2017. Instead, you need to do this via an xmla script, changing the database name as appropriate:

 <Alter 
 ObjectExpansion= 
 "ObjectProperties" 
 xmlns= 
 "http://schemas.microsoft.com/analysisservices/2003/engine" 
 > 
 <Object> 
 <DatabaseID> 
 Adventure Works Internet Sales Model 
 </DatabaseID> 
 </Object> 
 <ObjectDefinition> 
 <Database 
 xmlns:xsd= 
 "http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi= 
 "http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:ddl2= 
 "http://schemas.microsoft.com/analysisservices/2003/engine/2" 
 xmlns:ddl2_2= 
 "http://schemas.microsoft.com/analysisservices/2003/engine/2/2" 
 xmlns:ddl100_100= 
 "http://schemas.microsoft.com/analysisservices/2008/engine/100/100" 
 xmlns:ddl200= 
 "http://schemas.microsoft.com/analysisservices/2010/engine/200" 
 xmlns:ddl200_200= 
 "http://schemas.microsoft.com/analysisservices/2010/engine/200/200" 
 xmlns:ddl300= 
 "http://schemas.microsoft.com/analysisservices/2011/engine/300" 
 xmlns:ddl300_300= 
 "http://schemas.microsoft.com/analysisservices/2011/engine/300/300" 
 xmlns:ddl400= 
 "http://schemas.microsoft.com/analysisservices/2012/engine/400" 
 xmlns:ddl400_400= 
 "http://schemas.microsoft.com/analysisservices/2012/engine/400/400" 
 xmlns:ddl500= 
 "http://schemas.microsoft.com/analysisservices/2013/engine/500" 
 xmlns:ddl500_500= 
 "http://schemas.microsoft.com/analysisservices/2013/engine/500/500" 
 > 
 <ID> 
 Adventure Works Internet Sales Model 
 </ID> 
 <Name> 
 Adventure Works Internet Sales Model 
 </Name> 
 <ddl200:CompatibilityLevel> 
1400 </ddl200:CompatibilityLevel> 
 <ddl200 
 _200:StorageEngineUsed 
 > 
TabularMetadata < 
/ddl200_200:StorageEngineUsed> </Database> 
 </ObjectDefinition> 
 </Alter> 

Share by: