Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
Anonymous
Not applicable

Timeout at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions)

Hi,

 

i´m trying to refresh a PowerBI model and receive the error

Status: Error Failed to refresh the model, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'Timeout expired. The timeout period elapsed prior to completion of the operation.. The exception was raised by the IDbCommand interface.

at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions)
at Microsoft.PowerBI.ReportServer.AsServer.TOMWrapper.RefreshModel(Database database)
at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.RefreshDatabase(String databaseName, IEnumerable`1 dataSources, String clientSessionId)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshDatabase(AsDatabaseInfo asDatabaseInfo)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass9.<ExecuteActionWithLogging>b__7()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__3`1.MoveNext()

Please note that the error happens in Tabular.Model.SaveChanges and is NOT related to a specific DataSource (as the "usual" error that you find a lot of info about in the community). 

 

The error appears 60 minutes / 1 hour into the DataModelRefresh, so i´m currently guessing that the setting  "ExternalCommandTimeout" in the SSASTabluar instance that the ReportServer is using would do the trick, but how can i change it? It´s not in the file referenced here:

https://docs.microsoft.com/de-de/power-bi/report-server/scheduled-refresh-troubleshoot#analysis-serv...

 

Is there something else you could suggest me to try?

 

Thank you

1 ACCEPTED SOLUTION


@Anonymous wrote:

Hi,

 

yes, the msmdsrv.ini containing this setting is there, but it is explicitely stated to NOT change this file but the other one that doesn`t contain the setting:

image.png

 

But: I just tried to add the <ExternalCommandTimeout> to the "outer" msmdsrv.ini (it´s not there initially, this is why i assumed that i cannot set it there) and set it to desired value, and on restart my changed setting also appears in the "inner" (rewritten on start of service) file.

 

So now i just have to see if this does any good...

 


I definitely was not talking about changing the "inner" Workspace file. As stated in the docs that gets overwritten each time the service restarts.

 

My "outer" file already has "<ExternalCommandTimeout>" so I'm not sure why your's does not. But copying this setting to the "outer" file should work fine as long as it appears under the correct parent element.

 

The fact that this setting was missing in your environment would explain why you were seeing the default value of 3600 seconds being applied.

View solution in original post

5 REPLIES 5
d_gosbell
Super User
Super User

There are a couple of configuration files referenced in that link you posted, one is rsreportserver.config the other is msmdsrv.ini. The ExternalCommandTimeout setting is stored in the msmdsrv.ini file (although when I checked my local May 2019 instance it was already set to 86400 seconds which is 24 hours) it is normally defaulted to 3600 for standalone SSAS instances

Anonymous
Not applicable

Hi,

 

yes, the msmdsrv.ini containing this setting is there, but it is explicitely stated to NOT change this file but the other one that doesn`t contain the setting:

image.png

 

But: I just tried to add the <ExternalCommandTimeout> to the "outer" msmdsrv.ini (it´s not there initially, this is why i assumed that i cannot set it there) and set it to desired value, and on restart my changed setting also appears in the "inner" (rewritten on start of service) file.

 

So now i just have to see if this does any good...

 


@Anonymous wrote:

Hi,

 

yes, the msmdsrv.ini containing this setting is there, but it is explicitely stated to NOT change this file but the other one that doesn`t contain the setting:

image.png

 

But: I just tried to add the <ExternalCommandTimeout> to the "outer" msmdsrv.ini (it´s not there initially, this is why i assumed that i cannot set it there) and set it to desired value, and on restart my changed setting also appears in the "inner" (rewritten on start of service) file.

 

So now i just have to see if this does any good...

 


I definitely was not talking about changing the "inner" Workspace file. As stated in the docs that gets overwritten each time the service restarts.

 

My "outer" file already has "<ExternalCommandTimeout>" so I'm not sure why your's does not. But copying this setting to the "outer" file should work fine as long as it appears under the correct parent element.

 

The fact that this setting was missing in your environment would explain why you were seeing the default value of 3600 seconds being applied.

Anonymous
Not applicable


@d_gosbell wrote:

...

I definitely was not talking about changing the "inner" Workspace file. As stated in the docs that gets overwritten each time the service restarts.

 

My "outer" file already has "<ExternalCommandTimeout>" so I'm not sure why your's does not. But copying this setting to the "outer" file should work fine as long as it appears under the correct parent element.

 

...


Hmm, maybe thats a matter of PBIRS version - i have March 2018.

 

But apart from the question which file to change (which we have sorted out nicely by now 😉 ) - do you think that this setting is indeed responsible for the timeout i´m seeing, or would you suggest looking into something else? (I cannot reproduce the behaviour "at will", so can´t just try it out...)

 

Thank you


@Anonymous wrote:


Hmm, maybe thats a matter of PBIRS version - i have March 2018.

yes, that could explain it. I'm on May 2019

 


But apart from the question which file to change (which we have sorted out nicely by now 😉 ) - do you think that this setting is indeed responsible for the timeout i´m seeing, or would you suggest looking into something else? (I cannot reproduce the behaviour "at will", so can´t just try it out...)

 


I believe so. This is main timeout setting that we would typically edit on SSAS when working with very large or slow data sources that ran for more than an hour on a single table.

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.