powerbiazure-data-factoryssasmicrosoft-fabric

Connect an on-prem SQL Server Analysis Server Tabular Model with Azure Data Factory


I am a volunteer Power BI person working at a non-profit in Africa. We have a local Power BI Report Server instance here with a SQL Server Analysis Server Tabular Model as it's datastore/backend. HQ in the USA wants to ingest this data (the model is about 8 GBs) with Azure Data Factory, as they are doing out of other SQL DBs and DIHSv2 instances from other countries.

I have googled the problem extensively and cannot find a good answer on how one can do this. There lots of workarounds and guides for connecting AZURE Analysis Services with Azure Data Factory, but I can't find a workaround or guide for ON-PREM SQL SERVER Analysis Services and Azure Data Factory.

I already suggested to HQ just giving or syncing a copy of the databases out of the SQL Server Analysis Server, but since there are a lot of measures created in the SQL Server Analysis Server Tabular Model, they do not want to duplicate our work.

Does anyone have any experience doing this? We would be happy with a workaround as well, but note that as a non-profit I cannot build out a large infrastructure, whether on-prem or in Azure for this. Also, we are not allowed to decommission the local Power BI Report Server infrastructure for "national security" reasons, as I was informed. So, we will NOT be loading our data directly into Power BI, thus cutting out the SQL Server Analysis Server from the equation.

Thanks in advance everyone!


Solution

  • I already suggested to HQ just giving or syncing a copy of the databases out of the SQL Server Analysis Server, but since there are a lot of measures created in the SQL Server Analysis Server Tabular Model, they do not want to duplicate our work.

    This is the right answer. You can take a backup of the SSAS database and upload it, or they can even use ADF to copy it to some location they can access it. It would have all the data and the measures. They could then restore it and use it.