Forum Discussion
Semantic model throwing a false "missing credentials" error on refresh
- 21 days ago
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.
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?
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.
- PauReis30 days ago
Resolver 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?