Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

Needed instances for PowerBI report server

Hi,   i´m new to PowerBI and PBIReportServer also (will call it PBRS from here :-) ). From my reading so far, i have learnt that in order to run PBRS i need to install  - the PBRS itself - an ins...
  • Anonymous's avatar
    Anonymous
    8 years ago

    I'm going to caveat all of this with this is what I've figured out fomr looking at what seems to happen and a few talks/blogs I've read that detail some of the inner wokrings of PBI-SSRS. So I could be entirely wrong.

     

    Some of this confusion is because of what happens under the covers.

     

    When you publish a PBIX file it gets split into two parts in the ReportServer DB. The Report part and the data model part. The Report part is the visuals and layout and such. The data model is the imported data when you have imported it, the transformations you applied in the query editor etc. If you are using direct query I think the data model is just the connection details to the backend, there may be a small amount of data cached (the values on the visuals that were saved maybe I'm not entirely sure.) You can see these two binary blobs in the  dbo.CatalogItemExtendedContent table.

     

    When you schedule a data refresh the data model bit gets refreshed but the visuals remain untouched. The two are connected back together when you view a report.

     

    The SSAS confusion comes in here. When you view a PBIX file on PBI-SSRS if its a live connection the visuals gets sent to your browser which spins it all up and some local web services are used to provide the data. These web services send queries to the data source directly if you are in live query/direct connection mode.

     

    Howevere if the data has been imported the visuals still get sent to you and the web  services spin up in the same manner, but then PBI-SSRS starts an instance of SSAS in the background, the data model is loaded into this captive SSAS instance and this is what is queried by the web services as the user slices and dices the data.

     

    You can find the dll for this installed in your ReportServer\bin\msmdlocal directory

     

    If you have 15 users actively viewing PBIX reports at the same time you will see a lot of captive msmdsrv.exe instances (the SSAS engine) running on your server. These are the "hidden" instances behind the PBI-SSRS reports. They eventually get shut down and cleaned up somehow (magic pixies?)

     

    So you do end up running SSAS on the PBI-SSRS server, sort of.