Upgrade Analysis service tabular compatibility level 1103 to 1200 or higher

Jens Ole Taisbak 1 Reputation point
2021-11-15T12:59:48.8+00:00

Scenario:
One of my customers got a running Analysis Service Tabular instance with Compatibility level 1103. This model should be migrated to a newer instance with compatibility level 1500.
When I change the compatibility level setting in VS Data tools to level 1200 or above an error "Changing the compatibility Level fails. The model has been restored to the previous state." appears.

Detailed Error:

Error Message:

An object with name 'PrimeKey' already exists in the collection.

============================

Call Stack:

at Microsoft.AnalysisServices.Tabular.NamedMetadataObjectCollection`2.Microsoft.AnalysisServices.Tabular.INotifyObjectNameChange.NotifyNameChanging(NamedMetadataObject obj, String newName)
at Microsoft.AnalysisServices.Tabular.ObjectChangeTracker.HandleNameChanging(NamedMetadataObject obj, String newName)
at Microsoft.AnalysisServices.Tabular.ObjectChangeTracker.RegisterPropertyChanging(MetadataObject obj, String propName, Type type, Object oldValue, Object newValue)
at Microsoft.AnalysisServices.Tabular.Column.set_Name(String value)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.ConvertColumn(DataModelingColumnAmo dataModelingColumnAmo, Table tomTable)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.ConvertColumns(DataModelingTableAmo dataModelingTableAmo, Table tomTable)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.ConvertTable(DataModelingTableAmo amoTbl)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.ConvertModel()
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.ConvertModel(DataModelingSandbox sandbox, Model model, Boolean cleanupAnnotations, Boolean& requireProcessFull)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.ConvertDatabase(DataModelingSandboxAmo sandboxImpl, String dbId, String dbName, Boolean cleanupAnnotations, Boolean& requireProcessFull)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.UpgradeToTabular(DataModelingSandbox sandbox, Boolean& requireProcessFull, Boolean cleanupAnnotations)
at Microsoft.AnalysisServices.BackEnd.UdmToTabularUpgradeHelper.UpgradeToTabular(String connectionString, String databaseName, Boolean cleanupAnnotations)
at Microsoft.AnalysisServices.VSHost.Integration.BISMFileNode.Upgrade(Int32 targetClientCompatLevel, Boolean noUserPrompt)

Facts:
Data Analysis service does support compatibility level 1500.
Integrated Workspace mode = True.
"PrimeKey" is a column on multiple entities (tables)
Client Tools: Visual Studio 2019 and Visual Studio Data Tools 2017

Question:

  1. Is this error related to the structure of BIM file or some client components on migration server?
  2. How can this issue be debugged to qualify further?
  3. Do you see any work around ?

Thanks in advance,
Jens Ole

SQL Server Analysis Services
SQL Server Analysis Services
A Microsoft online analytical data engine used in decision support and business analytics, providing the analytical data for business reports and client applications such as Power BI, Excel, Reporting Services reports, and other data visualization tools.
1,344 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Darren Gosbell 2,376 Reputation points
    2021-11-15T22:55:37.28+00:00

    I would suggest checking that your Analysis Services extension in Visual Studio is fully upto date and if it is not try installing the latest update. If that does not help you should raise a support ticket with Microsoft. In normal operations you should not see errors like this with stack traces so this is something that can be easily resolved on the community forum

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.