Forum Discussion
Semantic model throwing a false "missing credentials" error on refresh
I have two reports built off the same base semantic model (one of them I took the original model, removed some tables, and was intending to add a few later), and both are having refresh issues in the app. When I try to refresh just the data, it does not throw any errors, but the data doesn't actually update. If I try to refresh both schema and data, I get this error:
Some details:
- When I published the model, I got the message: "Your file was published, but disconnected." I manually mapped it to the usual connection on the usual gateway.
- The model uses an on-premises data gateway.
- The connection is showing as online, and the data source mapping is green.
- There is no Fix connection or Reconnect button.
- The refresh history shows only a single refresh from last week when I first published the model to the workspace. I did not change anything on the model between then and the first failures.
- The model is using the Import method for all tables.
- The data source is SQL server. All tables are in the same database on the same server.
- The data source listed on the semantic model has different capitalization than the one listed on the gateway connection, but that is the case for several of our other models that are still refreshing successfully.
- The Data source credentials show as "admin has granted access, credentials are not required."
- The authentication type for the connection is Basic.
- The credentials are encrypted using the key stored on-premises on the gateway server, so I cannot check those.
- Other semantic models using the same gateway connection work just fine with the exact same Gateway connection, Server, and Database names.
- There are several DAX tables, but removing them does not eliminate the error. One of them is a date table and the other is a dimension table to help sort a column correctly on visuals.
- I am working on a Power BI PPU subscription on an E3 SKU.
- The largest table on this model is about 60k rows across 15 columns.
- Our admin tried refreshing the connection credentials.
- I am running the most recent Power BI Desktop version (2.156.951.0).
Our whole team is at a loss on this one. This is also the most complicated Semantic model we've tried to add to our workspace in terms of the number of tables, joins, and rows, but I don't know that that would effect anything. Any ideas of where to go next in troubleshooting would be appreciated.
Thanks.
10 Replies
- PauReisResolver II
rhodes25 The line I would start with is this one: "The refresh history shows only a single refresh from last week when I first published the model." Put that next to "when I try to refresh just the data, it does not throw any errors, but the data doesn't actually update" and the two stop being separate puzzles.
Refresh history records the success or failure status of past cycles, not just the successes. So if a data refresh had actually run and quietly done nothing useful, there would still be an entry for it. There is no entry. That means the data-only refresh is not silently succeeding, it is not running at all, and you have one symptom rather than two. Worth knowing because it takes "sometimes it works" off the table and stops you hunting for a difference between the two refresh paths that is not there.
The line I would pull on next is "our admin tried refreshing the connection credentials", because credentials in the service are tied to a specific person in a way that catches almost everybody. Each semantic model has exactly one owner, and if you are not that owner you cannot update its credentials at all until you press Take over on the semantic model settings page. So an admin going in and re-entering credentials can look like it worked, and change nothing on this model, if the model is owned by someone else. Check who is actually listed as the owner on this model versus the models that refresh fine.
There is a second half to that rule which fits your evidence unusually well. Each user gets one set of credentials per data source, across every semantic model they own, regardless of workspace. That is exactly why "other semantic models using the same gateway connection work just fine with the exact same Gateway connection, Server, and Database names" is not the reassurance it looks like. Those models are fine because their owner already has a working credential for that source. A model owned by a different account is a separate credential binding for the same server and database, and it can be missing while every neighbouring model is healthy. It also explains why the mapping looks green and there is no Fix connection button: the gateway side genuinely is fine, and the gap is on the model side.
That also makes "your file was published, but disconnected" less of a red herring and more of a timestamp. It tells you the binding did not come across at publish time, and mapping the gateway connection by hand afterwards fixes the gateway half without necessarily establishing the credential the model needs.
One thing worth ruling out at the same time, since it costs nothing. In Desktop, open File, then Options and settings, then Data source settings, and switch to Data sources in current file. You are describing one SQL Server source, but you also mention this model started as a copy with tables removed. Removing a table does not necessarily remove its query or the source it declares, and a query with load disabled still counts as a data source that needs credentials. If that list has anything on it beyond the one server, that is your missing credential, and it would explain an error that names no source in particular.
So, two questions. Who is listed as the owner of this model, and is it the same account that owns the ones that refresh successfully? And does Data sources in current file show exactly one entry, or more than one?
- rhodes25New Member
I already tried using Copilot to troubleshoot this and had no luck, so feeding the problem into an LLM as you clearly have is probably not going to do any good.
But in case anyone else is wondering, I am the owner of both this model and the ones that refresh successfully. Data sources in the current file now shows exactly one entry.
- PauReisResolver II
Hi rhodes25,
Fair enough, and that kills the ownership angle properly, so scratch that one.
The bit I still can't square is the refresh history. You said it's got one entry from last week. If a data-only refresh had actually run and just not picked anything up, there'd still be a row for it, pass or fail. There isn't one. So that refresh looks like it isn't starting at all rather than running and doing nothing useful.
Quick way to tell them apart: hit Refresh now and watch the history for a minute. If no new row appears at all, it isn't the credentials, it's that nothing is being dispatched, and that's a different problem.
Did a row show up?
- GilbertQSuper User
Hi PauReis
If you get into your PBIX and then kick on Transform data and data source settings, what data sources do you see in there? These are the data sources that you will have to configure in the Power BI service to connect successfully to those data sources in order to refresh the semantic model successfully. Make sure that those match and you have the valid credentials put in the data source settings.
- rhodes25New Member
On there I'm getting two copies of the same server/database configuration listed, one with the database name in camel case and the other in all lower case.
- rhodes25New Member
I have now made sure that there is only one datasource with the same capitalization that the gateway connection is using and the issue has not resolved itself.
- v-saisrao-msftCommunity Support
Hi rhodes25,
Checking in to see if your issue has been resolved. let us know if you still need any assistance.
Thank you.
- rhodes25New Member
I seem to have managed to solve the issue by changing the data source name on the PBIX file to match the capitalization of the gateway. It then threw an error related to native database query permissions instead of the missing credentials, and seems to be running smoothly since I told it that it has permissions to run the native database queries.