I recently received the error “Logon failure: unknown user name or bad password “ when performing a database Process Full on a tabular model. What made this particularly strange is that I know I was able to perform a Process Full in the past few days and could currently perform a Process Default on the same database without issue. As it turns out the Process Default is actually performing a Process Recalc.
My first thought was that some security setting had been changed or potentially a Kerberos issue was at play. I focused on what the different processing modes actually do. My understanding of the two processing modes in questions are that:
The “Process Full” – Loads data into all selected partitions or tables. Any affected calculated columns, relationships, user hierarchies, or internal engine structures (except table dictionaries) are recalculated.
The “Process Recalc” – For all tables in the database, recalculates calculated columns, rebuilds relationships. rebuilds user hierarchies, and rebuilds other internal engine structures. Table dictionaries are not affected.
So given that the only major difference between the processing modes was the fact that the Process Full re-loads the data into the model was that it was obviously a security issue related to access to the data source. On examining the cube settings I saw that the database “Data Source Impersonation Info” was set to “Default” which is OK. Next I checked the impersonation settings on the connection object… Aha here lies the problem, the Connection “Impersonation Info” had been set to a specific AD account and on further investigation it turned out that the credentials (password) were stale. I changed the Connection “Impersonation Info” to “Use the service account” and the problem was fixed, for good! I was able to process the database in any mode desired. Obviously the account was used during development and never changed, which explains the ability to perform a Process Full before but not now. Clearly the stale credentials on the connection object where not an issue on the Process Recalc because there was not need to go the the source to repopulate the cube tables.